jasmine - 为什么我在断言步骤中收到超时错误
问题描述
我第一次尝试这个
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)
我在这里想念什么?我所有的其他测试工作正常。请帮忙!
解决方案
尝试在您期望之前使用 return 关键字。
并确保检查 DEFAULT_TIMEOUT_INTERVAL 默认为 5 秒。尝试将其更改为 10 秒。因此,该时间足以登录然后进行实际预期。
推荐阅读
- python - 定时器函数不会接受额外的参数
- javascript - 如何同时使用多个键对对象数组进行排序?
- extjs - 在 extjs 面板中获取选定文本很热门
- c# - 如何使用 PowerShell 编译带有字符串插值的 C#/VB 代码?
- firebase - Firebase 机器学习套件
- css - 如何在隐藏上应用 CSS 过渡?
- javascript - 在android上激活/停用静音模式
- python - 通过 kafka-python 库检查 kafka 主题是否存在于 python 中,而不使用消费者和 shell 命令
- python - 如何将行旋转到熊猫中的列
- python - 如何管理项目中的修补库?