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

Фотография

Где хранить текстовые данные для автотестов?(selenium + python )

selenium python pytest

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

#1 PopkovSergei

PopkovSergei

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

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Попков Сергей


Отправлено 18 февраля 2020 - 13:52

Недавно прошел курс по selenium + python(у меня оч начальный уровень), тесты вообщем то пилятся не плохо, но вот какая загвоздка..

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

Я храню в отдельном модуле в классе с данными:

class TextContentErr():
ERR_ADMIN = "Произошла непредвиденная ошибка. Обратитесь к администратору системы."
ERR_DIFF_PASSWORD = "Пароль и подтверждение пароля не совпадают."
'''и так далее, аналогично для ссылок, локаторов и всяких таких подобных данных'''

Ну и потом выдергиваю по надобности.

Так вот очень интересно как поступают профи с такими данными. Я что то слышал что их можно хранить в XML'ках, по первичному осмотру темы как то особых удобств не увидел, да и сложновато выглядит, не знаю стоит ли углубляться.

Гуглится вся эта тема как то не очень. Поделитесь пожалуйста опытом.


  • 0

#2 Freiman

Freiman

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

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 18 февраля 2020 - 13:59

Так как это Питон - интерпретируемый язык, то такое решение вполне работает: код очень легко поправить. 

Если была бы Java или что-то другое компилируемое, то вариант был бы не очень.

Часто тестовые данные хранятся в текстовых файлах в форматах CSV, JSON, config итд. В XML сейчас мало кто хранит - если, конечно, у вас не SOAP API какое-нибудь :)

 

"аналогично для ссылок, локаторов и всяких таких подобных данных" - разнотипные данные лучше хранить в разных файлах. Локаторы отдельно, сообщения об ошибках отдельно итд. Как только у вас строк каждого типа будет штук по 50, разобраться в одном файле будет сложнее.


  • 1

#3 PopkovSergei

PopkovSergei

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

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Попков Сергей


Отправлено 18 февраля 2020 - 15:03

Так как это Питон - интерпретируемый язык, то такое решение вполне работает: код очень легко поправить. 

Если была бы Java или что-то другое компилируемое, то вариант был бы не очень.

Часто тестовые данные хранятся в текстовых файлах в форматах CSV, JSON, config итд. В XML сейчас мало кто хранит - если, конечно, у вас не SOAP API какое-нибудь :)

 

"аналогично для ссылок, локаторов и всяких таких подобных данных" - разнотипные данные лучше хранить в разных файлах. Локаторы отдельно, сообщения об ошибках отдельно итд. Как только у вас строк каждого типа будет штук по 50, разобраться в одном файле будет сложнее.

Большое спасибо, реально полезные советы.

Очень понравился вариант с конфигами, все таки не хочется под текст заводить кучу модулей, потом всё импортировать, да и это я уже умею, интересно что то новое применить.


  • 0

#4 Spock

Spock

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

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

Отправлено 18 февраля 2020 - 16:22

 

 

тесты вообщем то пилятся не плохо

 

 

что то этого заготовленного текста накопилось порядком

видимо как раз тесты пилятся плохо

 

в хороших тестах мусор типа ""Произошла непредвиденная ошибка. Обратитесь к администратору системы."" проверяться не должен

 

но если это не тесты а парсер веб-сайтов тогда может и нормально, "с пивом пойдет"


  • 0

#5 PopkovSergei

PopkovSergei

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

  • Members
  • Pip
  • 14 сообщений
  • ФИО:Попков Сергей


Отправлено 19 февраля 2020 - 05:23

 

 

 

тесты вообщем то пилятся не плохо

 

 

что то этого заготовленного текста накопилось порядком

видимо как раз тесты пилятся плохо

 

в хороших тестах мусор типа ""Произошла непредвиденная ошибка. Обратитесь к администратору системы."" проверяться не должен

 

но если это не тесты а парсер веб-сайтов тогда может и нормально, "с пивом пойдет"

 

Вооот. Уже интересно(правда чувствуется пассивная агрессия)), а можно в двух словах чуть пояснить как оно у профи. Яж UI тестирую, думал нормально брать сообщение с сайта и сравнивать с заготовленным особенно в негативных тестах. Так то у меня есть доступ к бд, но конечно же там ожидаемый текст не хранится. Поделитесь опытом если не сложно(ссылка на какой нибудь репозиторий была бы высшим благом)


  • 0

#6 user12

user12

    Специалист

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


Отправлено 19 февраля 2020 - 07:11

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

Понятно, что надо делать приватный конструктор и объявлять класс final

 

 

Но главная фишка в том, что иде (ну там IDEA), если ты зажмешь Ctrl и наведешь на константу в сплывающей подсказки ты увидишь текст сообщения, т.к. если сообщений много, то сложно при просмотре кода понять, что за текст и постоянно туда-сюда прыгать

 

==================

По поводу сообщения "Произошла непредвиденная ошибка. Обратитесь к администратору системы" . По тексту непонятно, что произошло. Из-за чего ошибка. Т.е. такие варианты должны обрабатываться на сервисах. 


  • 1

#7 Spock

Spock

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

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

Отправлено 19 февраля 2020 - 08:34

 

 

Яж UI тестирую

а выглядит так как парсер веб-сайта делаете

 

ведь ни один здравомыслящий тестировщик не будет создавать тест на "непредвиденную ошибку"


  • 0



Темы с аналогичным тегами selenium, python, pytest

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

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