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

devepshko

Регистрация: 05 мая 2018
Offline Активность: 21 ноя 2019 12:02
-----

#174293 Как подготовить тестовые данные для автотестов?

Написано devepshko 31 октября 2019 - 21:30

 

 

 

можно на этом моменте поподробнее?

вот есть программный код который запускает Селениум, в том же коде надо описать методы которые создают тестовые данные (не надо никакого внешнего скрипта)

 

эти методы вызывать прямо из теста, перед запуском кода который поднимает Селениум

 

got it, но громоздко получается с одной стороны и не будет работать с другой (в моем случае). Фикстура создается и разрушается для каждого теста, поэтому получается, что этот код для данных будет выполняться перед каждый тестом...


  • 1


#174275 Как подготовить тестовые данные для автотестов?

Написано devepshko 30 октября 2019 - 17:55

Итак, что в итоге есть на текущий момент (если кому то интересно). Небольшая ремарка, чтобы был понятен нижеописанный подход: тесты гоняются параллельно в 8-10 потоков для каждого браузера (сначала все тесты на хроме, потом - на фф, потом - в эдже, потом - ие), для этого используются разные учетные записи (1 тест - 1 поток - 1 учетная запись) - для стабильности.

Сейчас использую 2 подхода для подготовки тестовых (предопределенных) данных.

1) на пайтоне был написан скрипт, который парсит json файл и через API добавляет данные для тестов. Этот вариант используется для добавления данных на все аккаунты, т.к. не известно, какой аккаунт будет использован для конкретного теста. Скрипт запускается один раз при запуске задачи в Дженкинс перед непосредственно самими тестами.

2) некоторые тесты оперируют одними и теми же объектами (например, настройки профиля), поэтому перед отдельно взятым тестом все так же через API данные "сбрасываются". Первый подход для этих тестов не подойдет, т.к. на одну учетную запись могут попасть конкурирующие тесты. 2й подход, на первый взгляд, подойдет для тестов из 1го подхода. Но, как мне кажется, эффективнее добавить данные сразу, чтобы не выполнять аутентификацию в API для каждого теста.

 

Остается нерешенным вопрос с поиском - самый критичный в плане получения ожидаемого результата. Сложность заключается в том, что нужно добавлять свои данные в индексы ES, либо создавать отдельные только для тестов.


  • 1