【发布时间】:2020-05-04 19:57:38
【问题描述】:
我第一次尝试这个
let url = await pa.getPageURL("Employees");
console.log("URL "+url);
然后我尝试了这个。两者都抛出超时错误,但打印正确的 url。
it('should be able to open Employees page',async () => {
loginPg.login();
pa.getPageURL("Employees").then(function(url){
console.log("URL "+url);
expect(url).toContain("employees");
})
})
async getPageURL(pageName){
this.menu.click()
let url = element(by.xpath('//span[contains(.,"'+pageName+'")]')).click().then(function(){
return browser.getCurrentUrl();
})
return url;
}
我正在编写一个测试,它单击菜单中的页面链接并断言 url。它工作正常并单击链接并转到正确的页面。 我还验证了 console.log 在上面的代码中正确打印了 url。但每次都因超时错误而失败。
- 错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调。 在 ontimeout (timers.js:475:11) 在 tryOnTimeout (timers.js:310:5)
我在这里缺少什么?我所有的其他测试工作正常。请帮忙!
【问题讨论】:
-
可以在这里添加getPageUrl()方法吗?你这个方法解决了一个承诺吗?
-
async getPageURL(pageName){ this.menu.click() let url = element(by.xpath('//span[contains(.,"'+pageName+'")]')) .click().then(function(){ return browser.getCurrentUrl(); }) return url; }
-
更新描述
标签: jasmine protractor