Javascript 量角器:在上载过程中检查元素是否存在

Javascript 量角器:在上载过程中检查元素是否存在,javascript,node.js,jasmine,protractor,webdriverjs,Javascript,Node.js,Jasmine,Protractor,Webdriverjs,我正在使用量角器自动化AngularJS应用程序。在某些情况下,我需要使用“浏览”按钮上载图像,并在上载过程中检查是否存在进度条 我使用以下代码来实现相同的功能: element(locator).sendKeys(pathOfTheImage); expect(element(locatorOfProgressBar).isPresent()).toBeTruthy(); 这里的问题是-尽管存在进度条,但断言总是失败,因为元素(locator).sendKeys(pathOfTheImage

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

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

element(locator).sendKeys(pathOfTheImage);
expect(element(locatorOfProgressBar).isPresent()).toBeTruthy();
这里的问题是-尽管存在进度条,但断言总是失败,因为
元素(locator).sendKeys(pathOfTheImage)命令仍在执行中,未返回任何内容以继续执行下一个命令,即断言点

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

browser.ignoreSynchronization = true;

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

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

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


不要忘记在上传过程中,将
ignoreSynchronization
恢复到
false
之后。

在我的情况下,仍然找不到ProgressBar的定位器。我使用了你建议的技术。@Mfsi.AbhishekSwain谢谢你的更新,有没有办法重现你的问题?(如果现场为公共场所)
element(locator).sendKeys(pathOfTheImage);
browser.ignoreSynchronization = true;

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