我今天一直在为这几行Protractor代码苦苦挣扎:element(by.linkText("People")).click();browser.waitForAngular();varurl=browser.getCurrentUrl();...看起来getCurrentUrl放在waitForAngular()语句之后总是失败。错误输出太模糊:UnknownError:javascripterror:documentunloadedwhilewaitingforresult那么,单击超链接并检查新url的正确方法是什么?这是我的测试:如果我在点击链接之前getCurrentUrl
我正在编写一个简单的Protractor测试,旨在检查某个输入标签在单击按钮后是否包含文本。我已经尝试了一些东西,我目前正在尝试使用protractor.ExpectedConditions来检查它是否包含任何文本。这是我的代码:it("shouldclicksubmit",function(){varEC=protractor.ExpectedConditions;varstatus=element(by.id('status'));$("#btnSubmitQuery").click();varcondition=EC.textToBePresentInElement(status
我刚开始使用Protractor,想直观地看到我的网页向下滚动到一个元素,但它不起作用。我知道滚动到允许我直观地看到滚动发生的窗口。滚动到我的理解dosent所有这些。任何帮助将不胜感激HTML代码aclass="buttonbutton--secondarypromo--app-button"href="https://itunes.apple.com/us/app/homes.com-real-estate-search/id306423353?mt=8&uo=4"target="_blank"data-tl-object="app_referral_hdc_portalhomef
我在protractor的配置文件中看到了这种模式.specs:['test/e2e/**/*.spec.js']意思是“test/e2e中的所有文件”。这是什么图案?我认为这不是正则表达式,因为那些未转义的斜线。特别是,为什么中间有**,而不仅仅是test/e2e/*.spec.js?我尝试使用搜索引擎,但没有找到任何有用的东西,可能是因为星号在搜索引擎中效果不佳。 最佳答案 Whatkindofpatternisthis?它被称为“glob”。模块glob是Node的一种流行实现,并且似乎是Protractor使用的实现。Esp
我有这个测试://import{by,element,browser}from"protractor";describe('intro',()=>{beforeEach(()=>{browser.get('');});it('shouldhavemultiplepages',()=>{letbuttonOnward=element(by.linkText('Continue'));expect(element.all(buttonOnward).count()).toBe(1);});});得到这个结果。1)introshouldhavemultiplepagesMessage:Fai
面对Protractor的计时问题。有时我的Protractor测试用例会因网络或性能问题而失败。我已经解决了browser.sleep()的现有问题。后来知道了browser.wait()。它们之间有什么区别,哪个更适合解决网络或性能问题。 最佳答案 当涉及到处理时间问题时,放置一个“快速”的browser.sleep()并继续前进是很诱人和容易的。问题是,它总有一天会失败。对于设置什么sleep超时没有黄金/通用规则,因此,在某些时候,由于网络或性能或其他问题,页面加载或元素变得可见等可能需要更多时间。另外,大多数时间,你最终会
我有一个同时适用于桌面浏览器和移动浏览器的网站,显然它们具有不同的UI。在我的Protractor配置文件中,一些套件需要使用普通(桌面)用户代理运行,而其他一些套件需要使用移动用户代理运行。我知道有一个名为multiCapabilities的选项:multiCapabilities:[{'browserName':'chrome'},{'browserName':'chrome','chromeOptions':{'args':['--user-agent="iphone"']}}],像这样使用配置可以在这两个浏览器(一个用于桌面,另一个用于移动)上运行所有套件,但我想知道是否有一种
出于开发和调试目的,如果知道我在以下方法中询问的完整CSS链是什么,那将是非常好的:divElm.element(by.css("article")).element(by.css("tbody>tr")).then(function(elm){//isthereawaytoknowherewhatisthe"CSSchain"of'elm'?});如果我调试elm,我会看到一个locator属性:locator_:{using:'cssselector',value:'tbody>tr'},但这只是链中最后一个元素的定位符。拥有所有东西真的很有用,比如:divElm,article,
session.js如何从gmail中读取OTP。我试过了,但我做不到,也没有收到任何错误。 最佳答案 您可以使用一些邮件监听器方法来获得更简洁的解决方案,inbucket和mail-listener2是端到端测试中用于阅读电子邮件的两种流行解决方案。我个人会推荐inbucket,因为它的实现简单。您可以将其作为带有simplecommandmentionedhere的docker容器运行,然后使用thisJavascriptClient使用公开的API.您也可以使用mail-listener2,它也提供相同的功能,但需要在.con
我在使用Protractor进行测试时遇到问题。我正在将我的网络应用程序中的文本与我发出请求的API进行比较。当我收到Postman的回复时,文本是用HTML实体编写的:那些实体。到那时一切都很好。当我得到一个ñ或一个¿(未编码)时,问题就来了。我在测试中调用API,这些字符作为...返回,因此测试失败。例如:ApiObject={Country:'España'}expect('España').toBe(ApiObject.Country)给出:预期“España”为“Espa�a”这不是文件格式错误,因为如果我执行console.log('España'),它工作正常。