java - waitForAngularRequestsToFinish()——有什么用?

标签 java selenium automated-tests cucumber angular-test

java- Selenium

你好, 我最近正在使用 selenium-java 进行项目自动化。 我发现在很多代码中都在使用这种方法。

waitForAngularRequestsToFinish();

我不知道为什么在 main 函数中会有这个。 在下一个示例中是我的代码,因为我不知道在开始和结束时使用这种方法有什么好处。

此代码示例:

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();

}

最佳答案

代码的作者创建了一个名为 waitForAngularRequestsToFinish() 的函数。

这是一种等待所有待处理请求加载的方法...

一般会用JavaScript来实现... 可以看paul-hammant's ngWebDriver .

如果你愿意,你可以自己实现:

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

在方法的开始和结束时使用它的好处是保证你来到的页面和你引导的页面是完全加载的。

希望对你有帮助!

关于java - waitForAngularRequestsToFinish()——有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54790745/

相关文章:

winforms - TAFX 可以识别 win 表单应用程序上的不同颜色吗?

java - 如何在 Heroku 上运行 xmlstarlet 命令

java - Selenium Java findElement 查询对于唯一 ID 或 Xpath 无效

java - 如何在远程服务器上使用 selenium 运行代码接收验收测试

python - Pytest "run-around-tests"fixture 在类中的所有测试之前只运行一次

web-services - Xpath 验证在使用 maven/soap-ui 插件进行自动化测试时失败

rest - Postman/Newman,如何根据先前的请求响应链接请求?

java - 只是通过 Java 泛型类型,但仍然出现 not-within-its-bound 错误

java - SimpleDateFormat 和日期 :new how can I simply report a date in the future? XSLT、XML1.0、Java

java - 如何删除Android状态栏自动颜色变化