为什么我在断言步骤中收到超时错误
Why am I getting Timeout error in the assertion step
我第一次尝试这个
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;
}
我正在编写一个测试,它从菜单中点击页面 link 并断言 url。它工作正常并单击 link 并转到正确的页面。
我还验证了 console.log 在上面的代码中正确地打印了 url 。但它每次都因超时错误而失败。
- 错误:超时 - 未在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内调用异步回调。
在超时 (timers.js:475:11)
在 tryOnTimeout (timers.js:310:5)
我在这里错过了什么?我所有的其他测试都工作正常。请帮忙!
尝试在预期之前使用 return 关键字。
还要确保选中 DEFAULT_TIMEOUT_INTERVAL 默认情况下为 5 秒。尝试将其更改为 10 秒。所以,那个时间足以登录然后进行实际的期望。
我第一次尝试这个
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;
}
我正在编写一个测试,它从菜单中点击页面 link 并断言 url。它工作正常并单击 link 并转到正确的页面。 我还验证了 console.log 在上面的代码中正确地打印了 url 。但它每次都因超时错误而失败。
- 错误:超时 - 未在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内调用异步回调。 在超时 (timers.js:475:11) 在 tryOnTimeout (timers.js:310:5)
我在这里错过了什么?我所有的其他测试都工作正常。请帮忙!
尝试在预期之前使用 return 关键字。
还要确保选中 DEFAULT_TIMEOUT_INTERVAL 默认情况下为 5 秒。尝试将其更改为 10 秒。所以,那个时间足以登录然后进行实际的期望。