jjzjj

protractor

全部标签

javascript - 多个浏览器和页面对象模式

我们正在使用页面对象模式来组织我们内部的AngularJS应用程序测试。这是我们拥有的示例页面对象:varLoginPage=function(){this.username=element(by.id("username"));this.password=element(by.id("password"));this.loginButton=element(by.id("submit"));}module.exports=LoginPage;在单浏览器测试中,很清楚如何使用它:varLoginPage=require("./../po/login.po.js");describe("

javascript - Protractor/WebDriverJS 中被拒绝的 promise

WebDriverJS和Protractor本身完全基于promises的概念:WebDriverJS(andthus,Protractor)APIsareentirelyasynchronous.Allfunctionsreturnpromises.WebDriverJSmaintainsaqueueofpendingpromises,calledthecontrolflow,tokeepexecutionorganized.并且,根据definition:Apromiseisanobjectthatrepresentsavalue,ortheeventualcomputationo

javascript - Protractor :按属性查找元素

我需要找到以下元素进行测试:Zugangsdateneingeben我怎样才能找到这个元素来检查可见性(ng-show)?ng-show属性和值是唯一标识元素的唯一属性和值。该类在许多元素中使用...我正在寻找类似的东西:varnotValid=element(by.Attribute('ng-show','notValid'); 最佳答案 你可以找到它by.css():element(by.css('div[ng-show=notValid]'));$('div[ng-show=notValid]');//shortcutfort

javascript - Protractor :如何定位给定元素的 sibling ?

LINK...我想为带有image类的img标签获取一个Protractor元素。我已经知道链接文本“LINK”。换句话说,“我如何定位给定元素的同级元素?”。代码的第一行可能如下所示:browser.findElement(by.linkText('LINK'))有什么想法吗?谢谢和干杯 最佳答案 感谢您的启发。这是我的解决方案,不是我希望的解决方案,但它有效:element(by.css('???')).element(by.xpath('..')).element(by.css('???')).click();允许返回父级的链

javascript - 使用 Protractor 在非 AngularJS 页面上测试登录

我有一个AngularJS应用程序,它在GitHub上使用oAuthSSO进行身份验证。我正在尝试找出一种使用Protractor并自动执行登录测试的方法。我无法弄清楚如何检索非Angular字段以及如何使用browser.driver管理等待页面加载,我的规范如下所示://Createarepositorydescribe('login',function(){it('shouldlogin',function(){//thisissuesaredirecttoGitHubbrowser.driver.get(process.env.HOST+'/auth/github')brows

javascript - expect() 没有实际期望

问题:最近,在审查我们现有的测试代码库时,我注意到在没有“匹配”部分的情况下使用expect()时出现了一种危险的打字错误:expect(page.filters.fromDateLabel.getText(),"After");我很确定toEqual()应该在这里使用:expect(page.filters.fromDateLabel.getText()).toEqual("After");这个问题是jasmine在这种情况下不会让预期失败(好吧,显然是因为实际上没有任何预期)。这让我们遇到了一个更严重的问题——在测试用例中实际上没有测试任何东西——它在没有期望的情况下通过了。我们对

javascript - 使用 Protractor 获取所有元素属性

根据文档,要按名称获取单个属性,您可以使用.getAttribute()在WebElement上:varmyElement=element(by.id('myId'));expect(myElement.getAttribute('myAttr')).toEqual('myValue');但是我怎样才能得到一个元素的所有属性呢?ProtractorAPI中没有关于此用例/功能的信息. 最佳答案 可以扩展javascript的Element类型,添加getAttributes()函数:Element.prototype.getAttr

javascript - 在 Protractor 中定位父元素的推荐方法

根据新发布的StyleGuide,使用by.xpath()定位器被认为是一种不好的做法。我实际上正在尝试遵循建议,但坚持获取父元素。目前我们正在使用..XPath表达式来获取元素的父元素:this.dashboard=element(by.linkText("Dashboard")).element(by.xpath(".."));如何使用Protractor/WebDriverJS定位器内置的other定位元素的父元素? 最佳答案 虽然我研究了风格指南,并同意应避免使用xpath,但总有一个异常(exception)可以证明这一规

javascript - Protractor 如何得到可靠的结果?

我正在使用Protractor(v1.3.1)为我的Angular1.2.26应用程序运行E2E测试。但有时,测试可以,有时则不行。似乎有时检查是在更新显示之前完成的(或类似“同步”问题)。我尝试了很多选择:添加browser.driver.sleep指令,使用browser.executeScript('$.fx.off=true')禁用效果添加browser.waitForAngular()指令没有成功。使用Protractor进行可靠的E2E测试的最佳实践是什么?JM. 最佳答案 每次遇到类似问题时,我都会使用browser.

javascript - 鼠标悬停元素无法使用 Protractor 工作

我有一个生成以下html结构的指令:hovertime!Popovercontent代码运行良好,当您使用浏览器手动将鼠标悬停时,弹出内容会正确显示。我正在尝试使用以下Protractor测试来测试鼠标悬停功能:it('shoulddisplaythepopover-contentonmouseover',function(){browser.get('http://localhost:9000/');browser.actions().mouseMove(element(by.css('.popover')).find()).perform();expect(element(by.c