我正在使用 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/