使用 Webdriverio 和 Chai 验证导航到 URL

Verifying a navigated to URL using Webdriverio and Chai

我正在使用 webdriverio v4 和 chai 在登录表单中输入值,单击登录按钮并验证导航至 URL:

describe('login form', function () { 
    it('should allow access with correct credentials', function () {
        LoginPage.open();
        LoginPage.username.setValue('name');
        LoginPage.companyCode.setValue('100');
        LoginPage.password.setValue('password');
        LoginPage.loginButton.click();

        expect(browser.getUrl()).to.equal('URL path');
    });    
});

值已成功输入,并且已导航到预期的 URL。但是,browser.getURL() 返回基数 URL 而不是新的 URL?

我做错了什么?

URL 可能检索得太快了。在获取 URL.

之前,您可能必须等到页面加载新页面

可以使用类似 waitUntil 的东西并检查回调中的 URL。像这样:

browser.waitUtil(function() {
    return browser.getUrl() === urlToCheck;
}, 5000);

参见:http://webdriver.io/api/utility/waitUntil.html