# ПРОЦЕССЫ Ресурсы Цикл разработки ПО Waterfall RUP Agile Kanban Управление Теория ограничений АНАЛИЗ Ресурсы ПО для Аналитика Кто аналитики? Бизнес-процесс Требования Уровни и типы Источники Стейкхолдеры Нотации Vision (Концепция) Сервисы АРХИТЕКТУРА Ресурсы ПО для Архитектора Кто архитекторы? Архитектурные слои язык Archimate GAP-анализ SOA Типы интеграции Solution Design (Проектное решение) DDD Микросервисы и service mesh ESB HTTP/REST RPC DevOps CI/CD/CDP VM и Docker Контракты API Оценка задачи git Frontend Apache Регулярка Linux ТЕСТИРОВАНИЕ Ресурсы QA и QC Цикл тестирования Уровни тестирования Виды тестирования Баг-репорт Шаблоны Тестирование требований Тест-анализ Тест план Тест дизайн Метрики качества Автотесты Selenium XPATH Генератор данных Безопасность Нагрузочное ДАННЫЕ Ресурсы MDM Big data Об информации SQL intro MongoDB intro БИБЛИОТЕКА Курсы Системная инженерия Сознание, интеллект Политэкономия Сумма технологии Экстраполяция в будущее Красивые диаграммы Арт
Эта страница:
Ресурсы Selenium для Perl Selenium для Python Selenium для Ruby
Другие страницы:
ТЕСТИРОВАНИЕ Тестирование требований Тест-анализ Тест план Тест дизайн Метрики качества Android Автоматизация Selenium WebDriver XPATH Генератор случайных данных Различные расчёты Безопасность Нагрузочное
Другие разделы:
# АНАЛИЗ АРХИТЕКТУРА ДАННЫЕ DevOps БИБЛИОТЕКА ПРОЦЕССЫ ТЕСТИРОВАНИЕ
Selenium WebDriver
last update: 25-08-2020, 11:21
Ресурсы
Selenium для Perl
  1. Устанавливаем Java с https://www.java.com/en/download если ещё не установлена (текущую версию Java можно узнать командой в консоли java -version);
  2. Cкачиваем самую свежую версию Selenium RC Server с https://www.selenium.dev/downloads/ в разделе "Selenium Server (formerly the Selenium RC Server)";
  3. Запускаем Selenium Server командой (поменяв имя файла на своё): java -jar selenium-server-standalone-2.44.0.jar Если же хотим использовать Chrome в качестве тестового браузера, то скачиваем свежий драйвер с http://sites.google.com/a/chromium.org/chromedriver/ и кладём его в какую-нибудь папку, а Selenium Server запускаем командой: java -Dwebdriver.chrome.driver=[path-to-chromedriver] -jar [path-to-selenium_standalone_serv] Пример: java -Dwebdriver.chrome.driver=/home/progforce/Desktop/auto_testing/chromedriver -jar selenium-server-standalone-2.44.0.jar>
  4. Инструкция по использованию Perl для написания Selenium-тестов для WebDriver: https://metacpan.org/pod/Selenium::Remote::Driver sudo cpan >force install Selenium::Remote::Driver Установка всякой перлятины - вся последовательность указана тут: https://github.com/gempesaw/Selenium-Remote-Driver: sudo apt-get install cpanminus sudo cpanm -v git://github.com/gempesaw/Selenium-Remote-Driver.git@cpan
  5. Не обязательно использовать standalone server, можно пользоваться встроенными для разных браузеров, например
    use Selenium::Firefox; ... my $driver = Selenium::Firefox->new; ...
    или
    use Selenium::Chrome; ... my $driver = Selenium::Chrome->new; ...
Selenium для Python
  • Установить установщик python-пакетов PIP: sudo apt-get install python-pip
  • Установить библиотеку Selenium для Python при помощи PIP: sudo pip install selenium
  • Для тестов под Firefox
    • загрузить архив с geckodriver для вашей платформы, распаковать исполняемый файл и поместить его в PATH
    • для проверки что всё работает выполнить простейший питоновский скрипт: from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Firefox() driver.get("http://www.python.org") assert "Python" in driver.title elem = driver.find_element_by_name("q") elem.send_keys("pycon") elem.send_keys(Keys.RETURN) assert "No results found." not in driver.page_source driver.close()
  • Для тестов под Chrome:
    1. Устанавливаем Chrome или Chromium-browser
    2. Скачиваем свежий хромдрайвер с https://sites.google.com/a/chromium.org/chromedriver/ и кладём его в какую-нибудь папку.
    3. Удостоверяемся, что скачанный файл "chromedriver" имеет права на чтение и запись и помечен как исполняемый
      chromderiver file properties and permissions
    4. В python-скрипте в заголовке надо заиспользовать следующие строки: import os
      from selenium import webdriver

      В теле функции заиспользовать webdriver Chrome: chromedriver = "<абсолютный путь к файлу chromedriver>"
      os.environ["webdriver.chrome.driver"] = chromedriver
      driver = webdriver.Chrome(chromedriver)

      Таким образом, простейший скрипт будет выглядеть, например, вот так: import os from selenium import webdriver from selenium.webdriver.common.keys import Keys chromedrvr = "/home/username/Downloads/chromedriver" os.environ["webdriver.chrome.driver"] = chromedrvr driver = webdriver.Chrome(chromedrvr) driver.get("http://www.python.org") assert "Python" in driver.title elem = driver.find_element_by_name("q") elem.send_keys("pycon") elem.send_keys(Keys.RETURN) assert "No results found." not in driver.page_source driver.close()
Selenium для Ruby
  • gem install selenium-webdriver
  • Наипримитивнейший скрипт автотеста на Ruby будет выглядеть так: require "selenium-webdriver" ### CROMHEDIRVER # This string is required if you want to use chromedriver executable placed in specific place # Dir.pwd takes current directory Selenium::WebDriver::Chrome::Service.executable_path = File.join(Dir.pwd, 'chromedriver') driver = Selenium::WebDriver.for :chrome, :switches => %w[--ignore-certificate-errors --disable-popup-blocking --disable-translate] ### FRIEFXO # use this if you want to run Firefox #driver = Selenium::WebDriver.for :firefox driver.navigate.to "http://google.com" element = driver.find_element(:name, 'q') element.send_keys "Hello WebDriver!" element.submit puts driver.title driver.get 'http://the-internet.herokuapp.com/' expect(driver.title).to eql 'The Internet' driver.quit