Search
Write a publication
Pull to refresh

Comments 7

Кликбейтный заголовок: в широком смысле, "автоматизаторами" называют тех, кто автоматизирует бизнес

Или производство) Я подумал, речь про АСУТП пойдет

assert response.status_code == OK

Добавлю, что лучше использовать assertEqual (или эквивалент в вашем тест фреймворке):

assertEqual(response.status_code, OK)

Тогда упавший тест сразу покажет реальное значение. Удобно группировать упавшие тесты. Если один и тот же тест иногда падает с Service Unavailable, а иногда с Unauthorized, то это скорее всего разные баги.

А иногда по неправильному значение можно сразу понять, что случилось, без заглядывается в логи.

Да, согласен - assertEqual или матчеры дают более наглядный вывод. В Python для юнитов используют unittest.TestCase.assertEqual или либу hamcrest, которая позволяет писать тесты с читаемыми проверками

В статье показан самый базовый пример с обычным assert, но для реальных проектов возможно стоит задуматься о каком-то централизованном решении сразу.

В первом пункте ещё можно упомянуть про soft assert или сравнение какой-то группы элементов как единое целое (например dataclass). Удобно сразу видеть в отчете, что поле логин и пароль упали на ассертах, а email прошел. В случае обычных ассертов упадет на первой же проверке.

Использование id вместо XPath и CSS очень правильный подход. К сожалению, на практике таких атрибутов у продукта зачастую не имеется вовсе, и крайне сложно добиться от разработчиков их внедрения, особенно, если разработка внешняя.

Да, в ряде проектов это дается непросто, особенно при работе с внешними командами. Но, как показывает практика, в большинстве случаев внедрить тестовые id все же можно, вопрос лишь в том, какими усилиями.

Я даже писал об этом отдельную статью: "Тестовые идентификаторы: как и где расставлять правильно". Где-то достаточно просто договориться с фронтенд-разработчиками и показать им минимальную документацию, а где-то придётся пройти через все круги бюрократии, обсуждения и "security hell". Но результат обычно стоит затраченных усилий - особенно на долгой дистанции поддержки автотестов.

Sign up to leave a comment.

Articles