Перейти к содержимому

Фотография

Цикл теста в случае ошибки

selenium ide java error

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 holydiverinc

holydiverinc

    Новый участник

  • Members
  • Pip
  • 25 сообщений
  • ФИО:Владимир Черный
  • Город:Киев

Отправлено 15 октября 2015 - 13:56

Всем снова доброго!

Selenium-java 2.47.1 + junit 4.12 + WebDriver FF 41.0.1 + IDEA

Назрел такой вопрос. При поиске поездов наш сервер бывает недоступен из-за большого количества запросов. В процессе поиска выдает попап ошибку:

vGlsMqj.png

 

Как её отловить, нажать "ок" и снова нажать "поиск" и так до тех пор, пока не выдаст результаты поиска?

Что использовать? Я знаю, что решение лежит на поверхности, но я пока не профи. К сожалению.


  • 0

#2 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 15 октября 2015 - 14:40

ну вообще можно было бы гонять тесты на тестовой версии.

а так использовать цикл...

while(алерт отображается) {
    //тело цикла
}



  • 0

#3 holydiverinc

holydiverinc

    Новый участник

  • Members
  • Pip
  • 25 сообщений
  • ФИО:Владимир Черный
  • Город:Киев

Отправлено 15 октября 2015 - 14:59

 

ну вообще можно было бы гонять тесты на тестовой версии.

а так использовать цикл...

while(алерт отображается) {
    //тело цикла
}


На тестовой версии сайта? Я бы с удовольствием, только там настолько ужасный и корявый поезд приходит, что решил писать на проде, пока не починят тестовый ЖД (это уже должны чинить программисты ЖД), а потом просто урл заменю в коде. Тем более пока только учусь и набиваю руку. Как все будет в голове, пойдут автотесты пачками.


  • 0

#4 holydiverinc

holydiverinc

    Новый участник

  • Members
  • Pip
  • 25 сообщений
  • ФИО:Владимир Черный
  • Город:Киев

Отправлено 16 октября 2015 - 10:56

Покопавшись, решил свой вопрос вот так:

List<WebElement> serverError = driver.findElements(By.xpath("//div[@id='popup_message']"));
        int i = 10;//10 попыток поиска
        while (serverError.size() > 0 && i > 0) {//условие - если есть ошибка ии i > 0
            try {
                driver.findElement(By.xpath("//button[@id='popup_ok']")).click();
                i--;
                System.out.println(i);
                Thread.sleep(1000);
            } catch(InterruptedException ex) {
                Thread.currentThread().interrupt();
            }
            Thread.sleep(1000);
            driver.findElement(By.xpath("//button[@onclick='railwaySearchForm.doSearch();']")).click();
                    serverError = driver.findElements(By.xpath("//div[@id='popup_message']"));
        }

  • 0

#5 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 16 октября 2015 - 11:10

я бы использовал булево выражение в цикле

while (alert.displayed == true)

  • 0



Темы с аналогичным тегами selenium, ide, java, error

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных