2

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

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

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

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

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

browser.ignoreSynchronization = true;

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

4

1 回答 1

2

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

您必须设置browser.ignoreSynchronizationtrue(这有助于不要等待角度稳定下来)并使用browser.wait()明确等待动画变得可见

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

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

并且不要忘记恢复ignoreSynchronizationfalse之后。

于 2015-05-14T09:32:25.170 回答