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

Фотография

Запуск одного теста несколько раз. Selenium Webdriver + junit

selenium webdriver junit maven автоматизация.

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

#1 Poschev38

Poschev38

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

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Николай

Отправлено 23 мая 2017 - 18:37

Здравствуйте, люди добрые) Подскажите, пожалуйста, как запустить один и тот же тестовый метод в JUnit определённое количество раз, к примеру 100? 

Я не могу придумать ничего умней как просто копировать и вставлять его (100 раз). Понимаю, что это совсем никуда не годится, но это работает. Может кто-нибудь знает как по-нормальному можно решить эту проблему?
Прикрепленный файл  Снимок.PNG   36,05К   3 Количество загрузок:


  • 0

#2 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 23 мая 2017 - 20:47

http://software-test...a-bolee-1-raza/

прикрутить к тесту dataprovider, дать 100 значений, но в тесте их не использовать.
  • 0

#3 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 24 мая 2017 - 07:09

Обычное решение в лоб, достаточно плохое
 

public class RUnMany {

    
    
    public void yourTest() {
       System.out.println("Test");
    }

    @Test
    public void run10() {
        for (int i = 0; i < 10; i++) {
             yourTest();
        }
    }
}



Более правильно, конечно, так:
 

@RunWith(Parameterized.class)
public class RUnMany {

    
    
    @Parameterized.Parameters
    public static List<Object[]> data() {
        return Arrays.asList(new Object[10][0]);
    }

 

    @Test
    public void yourTest() {
         System.out.println("Test");
    }
}

  • 0

#4 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 24 мая 2017 - 16:44

 

 

 запустить один и тот же тестовый метод в JUnit определённое количество раз, к примеру 100

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


  • 0

#5 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 26 мая 2017 - 08:15

 

 

 

 запустить один и тот же тестовый метод в JUnit определённое количество раз, к примеру 100

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

 

 

Ну м.б. это у него Flaky тест или при работе теста используются случайные данные и ты просто его много раз запускаешь


  • 0

#6 Poschev38

Poschev38

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

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Николай

Отправлено 26 мая 2017 - 08:37

 

 

 

 

 запустить один и тот же тестовый метод в JUnit определённое количество раз, к примеру 100

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

 

 

Ну м.б. это у него Flaky тест или при работе теста используются случайные данные и ты просто его много раз запускаешь

 

Да, всё правильно, я забыл об этом упомянуть. У меня тест перебора множества входных комбинаций товаров, поэтому и нужно запустить тест 100 раз, чтобы потом проанализировать результаты. Но нужно как то настроить, чтобы тест запускался один и тот же, но каждый раз он должен завершаться, чтобы данные зафиксировались, а затем прогонялся заново. 


  • 0

#7 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 26 мая 2017 - 08:42

ну значит это по факту не "один и тот же тест", а тест с разными данными

 

тогда dataprovider, пишите туда комбинации


  • 0

#8 Darthyk

Darthyk

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Сажин Владислав


Отправлено 07 июня 2017 - 05:07

В TestNG есть параметр для аннотации @Test - invocationCount. Может уже хватит использовать такое старье как Junit?


  • 0

#9 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 07 июня 2017 - 06:41

Не стоит недооценивать JUnit :)

 

Во-первых, для JUnit4 есть замечательное дополнение -- https://github.com/T...it-dataprovider , которое даже более удобно в использовании, чем аналог в TestNG

 

Во-вторых, в новой версии JUnit5 появились достаточно богатые возможности для создания параметризованных тестов:

http://junit.org/jun...meterized-tests


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#10 Darthyk

Darthyk

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

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Сажин Владислав


Отправлено 07 июня 2017 - 07:42

Добрый день, Алексей :)

Прошел по последней ссылочке, и буквально немного выше параметризованных тестов есть @RepeatedTest(), который делает то же самое что и invocationCount. JUnit5 меня начинает радовать :)


  • 0

#11 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 07 июня 2017 - 07:59

Добрый день, Алексей :)

Прошел по последней ссылочке, и буквально немного выше параметризованных тестов есть @RepeatedTest(), который делает то же самое что и invocationCount. JUnit5 меня начинает радовать :)

 

Когда JUnit5 выйдет из альфы, тогда в принципе и будем смотреть. А так да, там очень много фишек.


  • 0



Темы с аналогичным тегами selenium webdriver, junit, maven, автоматизация.

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

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