2015-06-04 3 views
0

Я делаю автоматизацию для одного приложения и не нуждаюсь в небольшой помощи.Как я могу остановить выполнение webdriver до моего состояния

Сценарий находится в нашем приложении, когда мы обновляем/добавляем что-то, что мы показываем. Загрузка изображения до его завершения. И в моем webdriver он не может найти следующий элемент, пока это загрузочное изображение не будет завершено.

Так что я хочу установить условие как до загрузки изображения, прекратить выполнение и не пытаться найти следующий элемент, после загрузки изображения скрыть, затем найти следующий элемент. так как здесь я могу остановить выполнение веб-драйвера до загрузки изображения там.

Я пытаюсь что-то вроде:

WebElement loading = driver.findElement(By.id(AppConstants.loadingimg)); 

    while(loading.isDisplayed()){ 

     //What to put here to stop web driver execution for a while 

    } 

Я уже попробовал все виды WAIT, но не работает для меня в правильном пути, так что я хочу решение с выше условия.

+0

Существует довольно хороший обзор о возможных вариантах в документации: http://www.toolsqa.com/selenium-webdriver/wait-commands/ – Nitek

+0

@Nitek - я знаю друга, но я пробовал это уже и не подходит для моего приложения .. Спасибо .. –

+0

Можете ли вы, пожалуйста, немного объяснить, в чем проблема и что вы пробовали? – Nitek

ответ

0

// Что поставить здесь, чтобы остановить веб выполнение драйвера на некоторое время

Как вы сказали, что вы уже пробовали все виды WAIT и это не работает, так Для того, чтобы остановить выполнение на некоторое время, вы можете сделать свою нить к SLEEP

try{ 
Thread.sleep(timeYouWantToWait); // time in millis 
}catch(InterruptedException e){ 
    e.printStackTrace(); 
} 
+0

Вы хотите сказать, что я должен пропускать thread.sleep в части тела while? –

Смежные вопросы