为什么我在断言步骤中收到超时错误

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

我在这里错过了什么?我所有的其他测试都工作正常。请帮忙!

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

还要确保选中 DEFAULT_TIMEOUT_INTERVAL 默认情况下为 5 秒。尝试将其更改为 10 秒。所以,那个时间足以登录然后进行实际的期望。