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

/ АНАЛИЗ АРХИТЕКТУРА ДАННЫЕ DevOps Gaming Библиотека ПРОЦЕССЫ ТЕСТИРОВАНИЕ: + ТЕСТИРОВАНИЕ + Тестирование требований + Тест-анализ и тест дизайн + Импакт-анализ в тестировании + API, интеграционное и E2E + Тест план + Метрики качества + Android + Автоматизация - Selenium WebDriver | Ресурсы | Selenium для Perl | Selenium для Python | Selenium для Ruby + XPATH + Различные расчёты + Безопасность + Нагрузочное
Selenium WebDriver
latest update of the page: 27-01-2024, 09:53 UTC
Ресурсы
Selenium для Perl
  1. Устанавливаем Java с https://java.com/en/download если ещё не установлена (текущую версию Java можно узнать командой в консоли java -version);
  2. Cкачиваем самую свежую версию Selenium Server с https://selenium.dev/downloads/ в разделе "Selenium Server";
  3. Запускаем Selenium Server командой (поменяв имя файла на своё): java -jar selenium-server-standalone-2.44.0.jar Если же хотим использовать Chrome в качестве тестового браузера, то скачиваем свежий драйвер с https://sites.google.com/chromium.org/driver/ и кладём его в какую-нибудь папку, а 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/teodesian/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://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/chromium.org/driver/ и кладём его в какую-нибудь папку.
    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://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