javascript - Protractor :检查上传过程中是否存在元素

标签 javascript node.js jasmine protractor webdriverjs

我正在使用 Protractor 来自动化 AngularJS 应用程序。在某些情况下,我需要使用浏览按钮上传图像,并检查上传过程中是否存在进度条。

我使用以下代码来实现相同的目的:

element(locator).sendKeys(pathOfTheImage);
expect(element(locatorOfProgressBar).isPresent()).toBeTruthy();

这里的问题是 - 尽管进度条存在,但断言总是失败,因为 element(locator).sendKeys(pathOfTheImage); 命令仍在进行中并且没有返回任何可以继续的内容下一个命令,即断言点。

我尝试使用关闭同步但没有成功:

browser.ignoreSynchronization = true;

这个问题有解决办法吗?如何在不等待 sendKeys 命令成功的情况下继续执行下一个命令?

最佳答案

我在捕捉中间进度动画时遇到了类似的问题。

您必须将 browser.ignoreSynchronization 设置为 true (这有助于不等待 Angular 稳定下来)并使用 browser.wait() code> 显式等待动画 to become visible :

element(locator).sendKeys(pathOfTheImage);
browser.ignoreSynchronization = true;

var EC = protractor.ExpectedConditions;
browser.wait(EC.visibilityOf(locatorOfProgressBar), 5000, "No progress animation is visible");

并且不要忘记在之后将 ignoreSynchronization 恢复为 false

关于javascript - Protractor :检查上传过程中是否存在元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30233770/

相关文章:

angularjs - 睾丸 : encountered a declaration exception

javascript - 如何进行 AngularJS REST 服务调用来填充表并设置默认值

javascript - 如何在javascript中检查文本框值和选择框值?

javascript - 从单个文件导出 typescript 类和接口(interface)

node.js - Webpack react 错误 : Module parse failed: Unexpected token

node.js - 如何在Nodejs中获取base64编码的视频文件的缩略图?

javascript - 连续的浏览器测试,不是并发的

javascript - php根据条件合并数组

javascript - 在 OpenLayers 3 中选择功能时是否有事件?

javascript - 使用 Protractor spy On()进行jQuery ajax()导致错误 "ajax() method does not exist"