量角器如何等到 browser.get 到 url

Protractor how to wait until browser.get to a url

    await browser.wait(function() {
        return browser.getCurrentUrl().then(function(url) {
          return `cars/detail.aspx${browser.baseUrl}`;
        });
      }, 5000, "url err"); 

如何让量角器等到 cars/detail.aspx${browser.baseUrl} 加载完毕?

我认为您可以在量角器中使用 urlContains 预期条件来等待 url 包含特定内容。可以参考文档here.

我正在使用这个方法,也许它会有所帮助

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}`);
    });
  }

您可以阅读 Protractor 的 API 文档以获取有关等待元素的不同方式的更多信息(在本例中为 url)https://www.protractortest.org/#/api
您实际上有 2 种方法:

const EC = protractor.ExpectedConditions;
const myUrl = 'cars/detail.aspx${browser.baseUrl}';  

然后:

return browser.wait(EC.urlIs(myUrl));

return browser.wait(EC.urlContains(myUrl));