首页 > 解决方案 > 为什么我在断言步骤中收到超时错误

问题描述

我第一次尝试这个

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。但每次都因超时错误而失败。

我在这里想念什么?我所有的其他测试工作正常。请帮忙!

标签: jasmineprotractor

解决方案


尝试在您期望之前使用 return 关键字。

并确保检查 DEFAULT_TIMEOUT_INTERVAL 默认为 5 秒。尝试将其更改为 10 秒。因此,该时间足以登录然后进行实际预期。


推荐阅读