Мне было предложено записать длинный сценарий, который включает страницы функциональности для жизненного цикла пациента от регистрации до выставления счетов. Я пробовал Selenium IDE, но он шелушился, давая повторные ошибки того, что он только что записал. Когда я пытаюсь Selenium 2, я попадаю в проблемы DOM и XPATH. Я считаю, что Selenium 2 предназначен для модульного тестирования. Каковы альтернативы с открытым исходным кодом, которые масштабируются до 5-минутной записи и воспроизведения? Я знаю, что это субъективный вопрос, о котором можно было спросить раньше, но варианты, возможно, улучшились.Как я могу использовать Selenium для длинных сценариев?
ответ
Мы используем Selenium 2
на ежедневной основе (управляемый groovy-скриптами, но это не так), чтобы запускать длительные сценарии, связанные с подключением нескольких веб-сайтов [и даже проверкой подтверждений почты]. Это очень стабильно, когда выполняется правильная обработка ошибок. Ключом к успеху с длинными сценариями является «ожидание неудачи». Как в реальном мире, когда вы когда-нибудь должны нажмите дважды на кнопку
Вы должны использовать WEbdriver, а не запись в IDE. Вы должны использовать Paje Object Model, чтобы сделать проект стабильным. см. Эту статью: https://weblogs.java.net/blog/johnsmart/archive/2010/08/09/selenium-2web-driver-land-where-page-objects-are-king
Selenium Web driver на самом деле будет работать. Проблемы с Xpath могут быть связаны с проблемами времени загрузки страницы. Включить неявные или явные ожидания в коде селена.
Даже Thread.sleep (миллисекунды) исправляет проблемы до некоторой степени.
Я бы предположил, что, возможно, переключитесь на Watir-webdriver с PageObject, если вы собираетесь использовать долгосрочные сценарии. У нас очень длинные сценарии в приложении AJAX, и мы не смогли решить проблему с Selenium. Переключение на watir-webdriver и драгоценный камень с страницами-объектами позволили нам повторно использовать страницы с надлежащими ожиданиями и без сбоев.