Существует проблема, с которой я сталкиваюсь с автоматизацией. Не то чтобы я не согласен с тем, что это абсолютно лучший способ протестировать приложение, но в том смысле, что достижение стабильности чрезвычайно сложно. Как вы, ребята, делаете ваши тесты стабильными? Конечно, я добавляю явные ожидания и случайные thread.sleep()
, но они никогда не стабильны на 100%. Цель этой темы - опубликовать несколько советов и трюков, которые вы, ребята, обнаружили, оказали влияние на ваши автоматизированные тестыВыполнение тестов на селен Устойчивый
ответ
Вы должны стараться избегать использования thread.sleep(), поэтому, когда вы добираетесь до точки, имеющей большой набор тестов, вы будете тратить свое время на ожидание. Вместо этого узнайте, как использовать Explicit and Implicit Waits.
Эксперты сообщества рекомендуют чаще использовать явные ожидания, это позволит вам ждать конкретных действий, и, как только это произойдет, WebDriver продолжит работу, не теряя при этом больше времени.
Несмотря на то, есть еще некоторые предварительные советы и рекомендации, написанные Марком Коллина в Mastering Selenium WebDriver книге
Иногда вы можете терпеть неудачу испытания на исключения цели и улове затем на основе его принять решение, как использовать «пытаются поймать» , Я не думаю, что это хорошая практика, но я видел, как инженеры-испытатели (включая меня) используют его много.
Вышеприведенная информация верна. Часто используйте явные ожидания. Try/catch чрезвычайно полезен при правильном использовании, но большая часть вашей проверки ожидаемого/фактического результата может и (по моему мнению) должна выполняться с помощью инструкций if/else и использования объявлений методом 'fail()'. – jagdpanzer
Я бы рекомендовал посмотреть на Selenide, потому что, если вы не хотите прикладывать усилия к тому, чтобы выяснить, как сделать свою собственную структуру стабильной, вы можете просто использовать структуру Selenide, чтобы начать работу, а затем вам не понадобится беспокоиться о ожиданиях больше.
Конечно, есть некоторая ценность при создании собственной структуры, особенно если вы выполняете разработку, основанную на тестах, и хотите, чтобы подразделение тестировало вашу инфраструктуру для покрытия кода сонара. Но, если ваш не на этом уровне, использование Selenide - это то, что я рекомендовал бы для самого большого влияния на ваш успех.
- 1. Выполнение тестов на селен с помощью Maven
- 2. Выполнение тестов на селен в виртуальном ПК
- 3. Как прекратить выполнение тестов на селен ПОСЛЕ webdriver.quit()?
- 4. Выполнение тестов на селен IDE через селеновую сетку
- 5. Выполнение тестов на селен через JUnit in Hudson
- 6. Выполнение тестов на селен с использованием Jenkins и Maven
- 7. Выполнение тестов на селен в parralel (более 2)
- 8. Время измерения для тестов на селен
- 9. Я хочу Селен без тестов
- 10. Выполнение мобильных тестов на нескольких устройствах
- 11. Javascript + селен, написание читаемых тестов
- 12. Выполнение тестов sqlite на Android
- 13. Выполнение тестов golang на heroku
- 14. Выполнение протрансляторных тестов на jenkins
- 15. Выполнение тестов Selenium на CircleCI
- 16. Выполнение тестов на огурцы на heroku
- 17. Исходный контроль для тестов на селен, написанный на Java
- 18. Выполнение тестов AOSP
- 19. Выполнение процента тестов JUnit
- 20. Выполнение тестов Openstack-Rally
- 21. Выполнение тестов из модуля
- 22. Выполнение javascript-тестов из модульных тестов .net
- 23. Последовательное выполнение тестов пакетов
- 24. Условное выполнение мокко-тестов
- 25. Выполнение тестов в TestNG
- 26. Выполнение тестов GLORP
- 27. F # Выполнение тестов NUnit
- 28. Выполнение тестов Nunit
- 29. Селен Grid - WebDriver - Whitescreens при выполнении тестов
- 30. Выполнение автоматических тестов на TFS 2008
Если «подождать», это ваша единственная проблема, пожалуйста, посетите http://stackoverflow.com/questions/12858972/how-can-i-ask-the-selenium-webdriver-to-wait-for-few-seconds- in-java – Amol
wait не является моей единственной заботой. Существуют другие способы сделать тесты более стабильными, и именно это я пытаюсь выяснить. – Tree55Topz
Что вы подразумеваете под стабильным? Что нарушает ваши тесты? – xyz