selenium webdriver Быстрый старт на PHP: Как начать в Linux (Ubuntu) на локальной машине
Primary tabs
В этой заметке расскажем о быстром старте. Нашей целью будет открытие нужной нам странице в браузере chrome через команду из php-кода (и на этом все так как остальное - это уже задача кода вашего тестов, подробнее см. наш раздел о Селениуме).
Настройка Selenium и его зависимостей
Делаем следующее:
- Устанавливаем Java (если ещё нет)
- Уставливаем браузер Chrome (если ещё нет)
- Узнайте версию вашего браузера Chrome и скачайте для него драйвер (реализацию протокола webDriver) той же версии, доступные версии см. на сайте: https://chromedriver.chromium.org/downloads
После того как скачали архив, поработаем с ним в терминале, распакуем, закинем в папку исполняемых, сменим владельца на рута и дадим права на выполнение (4 команды):
unzip chromedriver_linux64.zip sudo mv chromedriver /usr/local/bin/chromedriver sudo chown root:root /usr/local/bin/chromedriver sudo chmod +x /usr/local/bin/chromedriver
- Дальше устанавливаем сам Selenium WebDriver, а именно Selenium Standalone Server (ему-то наш код и будет слать команды), а именно:
На момент написания этого текста, последняя версия Selenium Standalone Server = 3.141.59 (см. раздел "Selenium Server (Grid)")
Скачайте jar и запустите сервер командой (напр. для 3.141.59):
java -jar selenium-server-standalone-3.141.59.jar
Ну вот и все, далее можно переходить к клиентскому коду, где будет описываться содержание текста.
Пример проекта с тестирующим кодом (приемочное тестирование) на PHP
-
Создадим какую-нибудь папку для проекта, перейдем в неё и в терминале выполним команду композера:
composer require facebook/webdriver
-- этот установит в директорию vendor знаменитый пакет с реализацией клиента для webDriver, именно этот пакет будет использовать наш код, чтобы общаться с Селениум-сервером.
- В той же папке, где выполнили предыдущую команду, создаем файл test.php с содержимым:
require ('./vendor/autoload.php');
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Remote\DriverCommand;
use Facebook\WebDriver\WebDriverExpectedCondition;
use Facebook\WebDriver\WebDriverBy;$host = 'http://localhost:4444/wd/hub'; // прослушивается Selenium Standalone Server
$desiredCapabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $desiredCapabilities);
$driver->get("http://адресвашегосайта");
И запустим этот файл из терминала:
php test.php
-- тут мы просто открываем страницу http://адресвашегосайта - команда в терминале должна были запустить браузер открыть в нем указанную страницу, если это так, значит у нас с вами все получилось)
Источники:
- Огромная благодарность за статью: https://losst.ru/ustanovka-selenium-v-linux (там же можно посмотреть подробности)
- Log in to post comments
- 3753 reads