Javascript 量角器:在上载过程中检查元素是否存在
我正在使用量角器自动化AngularJS应用程序。在某些情况下,我需要使用“浏览”按钮上载图像,并在上载过程中检查是否存在进度条 我使用以下代码来实现相同的功能: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
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");