waitForAngularRequestsToFinish () - для чего? - PullRequest
0 голосов
/ 20 февраля 2019

java-selenium

Привет, я недавно работаю с selenium-java для автоматизации проектов.Я обнаружил, что во многих кодах используется этот метод.

waitForAngularRequestsToFinish();

Я не знаю точно, почему это в основной функции.И в следующем примере мой код, потому что я не знаю, каково преимущество использования в начале и в конце этого метода.

Пример этого кода:

public void ActualizarEstadoDeFinalizacion(String caso) {


        waitForAngularRequestsToFinish();
       JavascriptExecutor js = (JavascriptExecutor) getDriver();
       js.executeScript("window.scrollBy(850)");
        WebElement htmlScrollProblemaDeCierre = findBy(String.format("//*[@title='%s']//ancestor::div[@class='oneWorkspaceTabWrapper']//span/span[contains(.,'Estado de finalización')]//following::a[1]/parent::div/parent::div/parent::Div/parent::div",caso));

        htmlScrollProblemaDeCierre.click();
        waitForAngularRequestsToFinish();

}

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Этот метод waitForAngularRequestsToFinish ();используется для ожидания элементов или запроса в приложении Angular.Этот метод будет ждать, пока весь запрос не будет выполнен.Это в основном используется в угловых приложениях.Для получения дополнительной информации см. Документацию по данной ссылке.

https://github.com/paul-hammant/ngWebDriver

0 голосов
/ 20 февраля 2019

Автор кода создал функцию с именем waitForAngularRequestsToFinish().

. Это способ ожидания загрузки всех ожидающих запросов ...

Как правило, это будетреализовано с помощью JavaScript ... Вы можете увидеть это в ngWebDriver Пола-Хамманта .

Если хотите, вы можете реализовать его самостоятельно:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("var injector = window.angular.element('body').injector(); var $http = injector.get('$http'); return ($http.pendingRequests.length === 0);")

Преимущество использования его в начале и в конце метода заключается в том, чтобы убедиться, что страница, на которую вы переходите, и страница, на которую вы ведете, полностью загружены.

Надеюсь, это поможет вам!

...