Есть ли самый простой способ перенести код Selenium 1.0 в WebDriver?
У меня есть старая среда автоматизации тестирования, разработанная с использованием Selenium 1.0, и теперь я хочу перенести мой код в WebDriver.
Есть ли самый простой способ сделать эту миграцию?
Я переопределил большинство методов, таких как type, click, getText, getSelectedLabel, assert и т. Д. И т. Д. Я вижу, что единственный способ - переписать все методы заново, я уже начал этот процесс, но если я продолжу с тем же метод Это займет много дней для меня.
Пожалуйста, предложите, если у кого-нибудь есть лучший подход.
Заранее спасибо.
2 ответа
Это совершенно разные технологии. Нет никакого способа перенести их на селен 2 как таковой.
К счастью, в последних выпусках Selenium реализовано так называемое "WebDriver Backed Selenium", так что технически, если вы используете эти тесты, он неявно запускает их "как" тесты WebDriver.
Кроме этого нет легкого пути.
У меня была та же проблема - мы сейчас переносим весь наш набор регрессии на S2 :)
В документации по Webdriver они объясняют метод начала перехода с Selenium RC на Selenium WebDriver. По сути, создает объект селена следующим образом:
WebDriver driver = new FirefoxDriver();
Selenium selenium = new WebDriverBackedSelenium(driver, "http://www.yoursite.com");
Основная проблема с этой миграцией (вместо изменения всего кода) заключается в ожидании загрузки страницы. Как говорится, команда WaitForPageToLoad возвращает слишком рано. GetEval - это еще одна команда, которую вы должны изменить. Я думаю, что лучший подход состоит в том, чтобы создавать функции с основными командами, которые отличаются от Selenium RC и Selenium WebDriver, и, как только все "заработает", продолжайте модифицировать ваш код, пока Selenium RC не появится. Так мы осуществили миграцию, и у нас было много строк кода.
Это ссылка, где они объясняют, как начать: http://www.seleniumhq.org/docs/appendix_migrating_from_rc_to_webdriver.jsp