2015-05-14 113 views
2

我正在使用量角器來自動化AngularJS應用程序。有一些場景需要使用瀏覽按鈕上傳圖片,並在上傳過程中檢查進度條是否存在。量角器:在上傳過程中檢查存在的元素

我使用下面的代碼來實現相同的:

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

這裏的問題是 - 雖然進度條出現,斷言總是失敗,因爲element(locator).sendKeys(pathOfTheImage);命令是仍在進行中,還沒有回來什麼繼續下一個命令,這是斷言點。

我使用關閉同步,但沒有成功嘗試:

browser.ignoreSynchronization = true; 

任何解決這個問題?如何在不等待sendKeys命令成功的情況下繼續執行下一個命令?

回答

2

我有一個類似的問題捕捉中間進度動畫。

你必須設置browser.ignoreSynchronizationtrue(這有助於不要等角度定居下來),並使用browser.wait()明確等待動畫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之後。

+0

在我的情況下locatorOfProgressBar仍然沒有找到,而上傳進行中。我使用了你所建議的技術。 –

+0

@ Mfsi.AbhishekSwain感謝您的更新,有沒有一種方法可以重現您的問題? (如果該網站是公開的) – alecxe