我有一种情况,我使用Protractor点击页面上的随机链接。(有很多)。我有一组我不想点击的链接,所以我想知道我的随机链接何时在该数组中并生成一个新的随机链接。这是我点击页面上随机链接的工作代码varnoClickArray=['link2','link3'];//arraymuchbiggerthanthisvarparent=this;function(){varlinks=element.all(by.css('.links'));returnlinks.count().then(function(count){varrandomLink=links.get(Math.floo
使用Protractor如何设置/添加并行浏览器进行测试。示例:不仅要在chrome上测试,还要在firefox上测试?还有一种简单的移动测试方法吗?说ios8safari还是移动chrome?问题:如何编写exports.config对象以在并行套件测试中支持chrome和firefox?exports.config={multiCapabilities:[{'browserName':'chrome','chromeOptions':{args:['--test-type']}}]}suites:{homePageFooter:'protractor/homePage/footer
是否可以使用by.cssContainingText()获取下一个兄弟节点例子:HTML代码如下:SomeTextSomeValue通过使用获取元素:element(by.cssContainingText('div.text-label','SomeText'))现在找到上述元素的下一个兄弟。我知道css=forminput.username+input查找兄弟的方法。但是,这对我来说不起作用!我认为可以使用“链接”来实现这一点,但不知道怎么做!谢谢,萨克西 最佳答案 如果您使用by.xpath()一次性得到它会怎样?:eleme
sendKeys()方法将一次发送所有key(实际上,一次一个,但速度非常快):varelm=element(by.id("myinput"));elm.sendKeys("test");有没有办法放慢输入速度,以便Protractor一次发送一个字符,每个字符之间有一个小的延迟?我们可以slowdownProtractorentirely,但这不会改变sendKeys()的工作方式,而且它还会减慢一切,而我们只需要“发送key”部分并且仅在特定情况下。 最佳答案 想法是使用browser.actions()并构建一系列“发送键”命
有几个问题和这个类似,我都看完了。但是,我仍然无法让ActionSequence在Protractor中按预期工作。我有一个可拖动的项目列表,我需要在重新排列后测试结果。但是我无法让拖放操作正常工作。这是我目前所拥有内容的简化模型。辅助函数:vargetRow=function(num){returnelement(by.repeater('pinpList').row(num-1));};vargetField=function(rowNum){returngetRow(rowNum).findElement(by.css('td.ng-binding'));};varmoveInd
我有一个Protractor测试,它输入登录数据并单击登录按钮,我想检查Angular变量的值。点击元素的ng-click是doLogin(),它在Controller文件中定义为:$scope.doLogin=function(){console.log('login--todo');//rememberemailusedlocalStorageService.add('lastKeyEmail',$scope.data.login.key.email);//todo-makedynamic$scope.authentication.user=true;//setemailoflog
早上好亲爱的同事们。我对Selenium方法有疑问。在我的例子中,我正在使用Protractor测试Angular应用程序,我想将getSize函数的返回值与我的测试中的设置值进行比较。这是下面的代码-varsearchForm=element(by.id('search'));it('searchFormmusthavewidth:400pxandheight:400px',function(){//expect(browser.driver.manager().window().getSize()).toEqual(400,400);searchForm.getSize();sea
如果我想使用implicitlyWait,我应该把browser.manage().timeouts().implicitlyWait(5000);放在哪里在测试中? 最佳答案 将它添加到Protractor的conf.js文件的onPrepare()函数中。加的原因implicitlyWait()这是因为隐式等待是Protractor在通过或引发操作错误之前等待的默认时间。让protractor知道隐式等待时间是多少,甚至在测试开始之前就是使用它的最佳方式,并且onPrepare()函数在所有测试套件之前运行并且只运行一次。示例场
我正在使用Protractor测试我的Angular应用程序。我已经看过thedocs并且找不到任何方法来获取警报文本。它本身不是DOM中的一个元素(至少,不是我能弄清楚的;当出现警报时,Chrome的检查器将不允许您检查它)。我将如何测试警报是否包含正确的消息?甚至,那个存在?编辑这是我的代码。HTML:ButtonJS:$scope.ngAlert=function(){window.alert('Hello');};Protractor规范:describe('alert',function(){varptor=protractor.getInstance();beforeEac
我曾经成功地运行Protractor测试(在Mac上)并且我尝试升级版本,所以我运行了$npminstall-gprotractor它看起来很有效——在运行时$protractor--version我明白了Version1.8.0但是现在,在运行时$webdriver-managerstart我明白了fs.js:642returnbinding.mkdir(pathModule._makeLong(path),^Error:EACCES,permissiondenied'/usr/local/lib/node_modules/protractor/selenium'atObject.f