Транспортир, как ждать, пока browser.get к URL - PullRequest
0 голосов
/ 26 марта 2019
    await browser.wait(function() {
        return browser.getCurrentUrl().then(function(url) {
          return `cars/detail.aspx${browser.baseUrl}`;
        });
      }, 5000, "url err"); 

Как заставить транспортир ждать, пока загружается cars / detail.aspx $ {browser.baseUrl}?

Ответы [ 3 ]

1 голос
/ 26 марта 2019

Я думаю, вы можете использовать ожидаемое условие urlContains в транспортире, чтобы подождать, пока в URL-адресе не появится что-то конкретное.Вы можете обратиться к документации здесь .

0 голосов
/ 26 марта 2019

Вы можете прочитать документацию API Protractor для получения дополнительной информации о различных способах ожидания элемента (в данном случае 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));
0 голосов
/ 26 марта 2019

Я использую этот метод, может быть, он будет полезен

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