# ПРОЦЕССЫ Ресурсы Цикл разработки ПО Waterfall RUP Agile Kanban Управление Теория ограничений АРХИТЕКТУРА Ресурсы ПО для Архитектора Кто архитекторы? Архитектурные слои язык Archimate GAP-анализ SOA Типы интеграции Проектное решение DDD Микросервисы и service mesh ESB HTTP/REST RPC АНАЛИЗ Ресурсы ПО для Аналитика Кто аналитики? Бизнес-процесс Требования Уровни и типы Источники Стейкхолдеры Нотации Vision (Концепция) Сервисы DevOps CI/CD/CDP VM и Docker Контракты API Оценка задачи git Frontend Apache Регулярка Linux ТЕСТИРОВАНИЕ Ресурсы QA и QC Цикл тестирования Уровни тестирования Виды тестирования Баг-репорт Шаблоны Тестирование требований Тест-анализ и тест дизайн Тест план Метрики качества Автотесты Selenium XPATH Генератор данных Безопасность Нагрузочное ДАННЫЕ Ресурсы MDM Big data Об информации SQL intro MongoDB intro БИБЛИОТЕКА Курсы Системная инженерия "Сумма технологии" "Антихрупкость" Экстраполяция в будущее Политэкономия Красивые диаграммы Сознание, интеллект

/ АНАЛИЗ АРХИТЕКТУРА ДАННЫЕ DevOps БИБЛИОТЕКА ПРОЦЕССЫ ТЕСТИРОВАНИЕ: - ТЕСТИРОВАНИЕ - Тестирование требований - Тест-анализ и тест дизайн - Тест план - Метрики качества - Android - Автоматизация - Selenium WebDriver | Ресурсы | Selenium для Perl | Selenium для Python | Selenium для Ruby - XPATH - Генератор случайных данных - Различные расчёты - Безопасность - Нагрузочное
Selenium WebDriver
last update: 15-08-2021, 11:51 UTC
Ресурсы
Selenium для Perl
  1. Устанавливаем Java с https://www.java.com/en/download если ещё не установлена (текущую версию Java можно узнать командой в консоли java -version);
  2. Cкачиваем самую свежую версию Selenium Server с https://www.selenium.dev/downloads/ в разделе "Selenium 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