【问题标题】:Protractor how to wait until browser.get to a url量角器如何等到 browser.get 到一个 url
【发布时间】:2019-08-16 19:22:59
【问题描述】:
await browser.wait(function() {
return browser.getCurrentUrl().then(function(url) {
return `cars/detail.aspx${browser.baseUrl}`;
});
}, 5000, "url err");
如何让量角器等到 cars/detail.aspx${browser.baseUrl} 被加载?
【问题讨论】:
标签:
selenium
protractor
e2e-testing
【解决方案1】:
我认为您可以在量角器中使用 urlContains 预期条件来等到 url 包含特定内容。可以参考文档here。
【解决方案2】:
我正在使用这种方法,也许会有所帮助
export function waitForUrlContains(url: string, customTimeout: number = E2E_TIMEOUT) {
return browser.getCurrentUrl().then(myUrl => {
return browser.wait(protractor.ExpectedConditions.urlContains(url), customTimeout, `URL do not contain: ${url}, and is: ${myUrl}`);
});
}
【解决方案3】:
您可以阅读 Protractor 的 API 文档以获取有关等待元素(在本例中为 url)的不同方式的更多信息https://www.protractortest.org/#/api
你实际上有两种方法:
const EC = protractor.ExpectedConditions;
const myUrl = 'cars/detail.aspx${browser.baseUrl}';
然后:
return browser.wait(EC.urlIs(myUrl));
或
return browser.wait(EC.urlContains(myUrl));