Как использовать Selenium с PHP?
Я хотел бы использовать Selenium для автоматизации нескольких веб-задач (не для тестирования). Я думаю, что у меня установлен сервер Selenium RC, но нет возможности писать "тестовые скрипты", так как я не могу найти драйвер клиента в PHP (см.:http://seleniumhq.org/download/).
есть ли способ использовать Selenium с PHP? Это, кажется, предполагает, что мне нужен PHPUnit http://www.phpunit.de/manual/current/en/selenium.html. Я просто хочу автоматизировать несколько задач, а не ввязываться с полным набором тестов.
5 ответов
попробуйте следующие вещи
- получить Phpunit установлен и работает
- также есть Java sdk & jre на вашем ПК.
- теперь запишите тестовые случаи с помощью Selenium IDE.
- экспорт тестовых наборов в файлы php.
- С помощью этих экспортированных функций создайте библиотеку тестовых наборов.
- Create suite, который вызывает функции / тесты из библиотеки.
- Теперь для выполнения запуска Selenium Server с помощью java команда.
- С помощью phpunit выполните набор.
для refrence как написать эти файлы нажмите здесь а также попробуйте на Git hub
facebook / php-webdriver является удивительным клиентом для selenium и php.
вы можете использовать его для автоматизации веб-задач (как хотел OP), или вы можете просто интегрировать php-webdriver в свою платформу тестирования. Есть некоторые проекты, уже обеспечивающие это:
- завхоз интегрирует php-webdriver непосредственно в PHPUnit.
- Codeception рамки испытания обеспечивают BDD-слой поверх РНР-с WebDriver.
- вы также можете проверить это blogpost + демо-проект, описывая custom PHPUnit интеграция.
Установить Все
скачать и установить facebook / php-webdriver.
composer require facebook/webdriver
Скачать Selenium и начать его.
java -jar selenium-server-standalone-#.jar
Скачать Быстро Java и поместить его в каталог проекта.
использование
в этом примере мы используем расширение quickjava
отключить все, кроме javascript
и cookies
.
Просмотреть дополнительные настройки предпочтений here:
https://github.com/ThatOneGuyDotNet/QuickJava/blob/master/defaults/preferences/defaults.js
Посмотреть больше примеров команд here:
https://github.com/facebook/php-webdriver/wiki/Example-command-reference
use Facebook\WebDriver\Firefox\FirefoxProfile;
use Facebook\WebDriver\Firefox\FirefoxDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
// Change this to the path of you xpi
$extensionPath = $this->container->getParameter('kernel.root_dir').'/../bin/selenium/quickjava-2.0.6-fx.xpi';
// Build our firefox profile
$profile = new FirefoxProfile();
$profile->addExtension($extensionPath);
$profile->setPreference('thatoneguydotnet.QuickJava.curVersion', '2.0.6.1');
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Images', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.AnimatedImage', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.CSS', 2);
//$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Cookies', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Flash', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Java', 2);
//$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.JavaScript', 2);
$profile->setPreference("thatoneguydotnet.QuickJava.startupStatus.Silverlight", 2);
// Create DC + Driver
$dc = DesiredCapabilities::firefox();
$dc->setCapability(FirefoxDriver::PROFILE, $profile);
$driver = RemoteWebDriver::create($host, $dc);
$driver->get('http://stackoverflow.com');
// Do stuff - https://github.com/facebook/php-webdriver/wiki/Example-command-reference
//$driver->findElement(WebDriverBy::id("element-id"));
// The HTML Source code
$html = $driver->getPageSource();
// Firefox should be open and you can see no images or css was loaded
вам нужен запущенный сервер selenium и библиотека веб-драйверов для взаимодействия с ним.
официально selenium не поддерживает PHP, но в Nearsoft мы создали библиотеку для взаимодействия с протоколом JSON Wire. Мы стремились сделать его максимально похожим на примеры с других языков и драйверов с официального сайта, чтобы пример со страницы на Java имел очень похожий синтаксис в php.
проверить: https://github.com/Nearsoft/PHP-SeleniumClient
Если вам это нравится, поделитесь им, участвуйте, вилка его или делать, как вам нравится.
С Уважением, Марк.
пожалуйста, проверьте эту ссылку: http://mvnrepository.com/artifact/org.seleniumhq.selenium.client-drivers
нажмите на ссылку selenium-php-client-driver, чтобы получить двоичный файл
Я думаю, что парень спросил в основном, как использовать файлы, созданные IDE.
есть форматер для PHP: вам просто нужно экспортировать как PHPunit.
Selenium IDE: PHP Форматтеры :: дополнения Firefox https://addons.mozilla.org/en-US/firefox/addon/selenium-ide-php-formatters/