#автотесты
Автотесты UI: 6 несложных шагов по упрощению жизни
Записано по мотивам страданий с python+pytest+selenium+xpath. Есть вероятность, что вам это тоже поможет.
1. Учесть все возможные состояния фичи. Например, опциональность наличия кнопки на странице, логотипа - в линейке, лоадера - на кнопке. Если привязаться в тесте к наличию элементов, которые могут отсутствовать, это добавит ему нестабильности.
2. Убедиться в том, что не используются динамические локаторы. Что можно использовать вместо них, написано, например, тут.
3. Добавлять data-testid по ходу тестирования фичи и покрытия автотестами. Это сократит время на подбор и замену локаторов.
4. Писать единообразные и понятные комменты и error messages на одном выбранном языке. Это сэкономит время на их переписывание и упростит восприятие.
5. Логировать шаги и используемые тестовые данные. Понять причины падения намного проще, если все необходимые данные есть в логах и их не нужно искать в документации/коде/задаче.
6. Вести учёт известных проблем автотестов, чтобы не пришлось повторно разбирать уже известные падения.
Если этого мало, то вот ещё 21 ошибка при автоматизации тестирования.
А тут советы по стабилизации Selenium-тестов от Анастасии Заречневой.
Автотесты UI: 6 несложных шагов по упрощению жизни
Записано по мотивам страданий с python+pytest+selenium+xpath. Есть вероятность, что вам это тоже поможет.
1. Учесть все возможные состояния фичи. Например, опциональность наличия кнопки на странице, логотипа - в линейке, лоадера - на кнопке. Если привязаться в тесте к наличию элементов, которые могут отсутствовать, это добавит ему нестабильности.
2. Убедиться в том, что не используются динамические локаторы. Что можно использовать вместо них, написано, например, тут.
3. Добавлять data-testid по ходу тестирования фичи и покрытия автотестами. Это сократит время на подбор и замену локаторов.
4. Писать единообразные и понятные комменты и error messages на одном выбранном языке. Это сэкономит время на их переписывание и упростит восприятие.
5. Логировать шаги и используемые тестовые данные. Понять причины падения намного проще, если все необходимые данные есть в логах и их не нужно искать в документации/коде/задаче.
6. Вести учёт известных проблем автотестов, чтобы не пришлось повторно разбирать уже известные падения.
Если этого мало, то вот ещё 21 ошибка при автоматизации тестирования.
А тут советы по стабилизации Selenium-тестов от Анастасии Заречневой.