Я бы хотел использовать Selenium для автоматизации нескольких веб-задач (не для тестирования). Я думаю, что у меня установлен Selenium RC Server, но у меня нет возможности писать «тестовые скрипты», так как я не могу найти драйвер клиента в PHP (см. Http://seleniumhq.org/download/ ).
Есть ли способ использовать Selenium с PHP? Это, по-видимому, предполагает, что мне нужен PHPUnit http://www.phpunit.de/manual/current/en/selenium.html . Я просто хочу автоматизировать несколько задач, а не заниматься полным набором тестов.
Попробуйте следующие вещи
для refrence, как писать эти файлы, нажмите здесь, а также попробуйте git hub
facebook / php-webdriver – отличный клиент для селена и php.
Вы можете использовать его для автоматизации веб-задач (по желанию OP), или вы можете просто интегрировать php-webdriver в свою тестовую среду. Уже есть какой-то проект:
Загрузите и установите facebook / php-webdriver . composer require facebook/webdriver
Загрузите Selenium & Start it. java -jar selenium-server-standalone-#.jar
Загрузите Quick Java и поместите его в каталог проекта.
В этом примере мы используем расширение quickjava
для отключения всего, кроме javascript
и cookies
.
Дополнительные настройки настроек здесь:
https://github.com/ThatOneGuyDotNet/QuickJava/blob/master/defaults/preferences/defaults.js
Дополнительные примеры команд здесь:
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
функции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
функции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 Protocol. Мы стремились сделать его максимально похожим на примеры с других языков и драйверов с официального сайта, поэтому пример со страницы на Java будет иметь очень похожий синтаксис в php.
Проверьте это: https://github.com/Nearsoft/PHP-SeleniumClient
Если вам это нравится, поделитесь им, включите его, разблокируйте или сделайте как хотите.
С уважением, Марк.
Пожалуйста, проверьте эту ссылку: http://mvnrepository.com/artifact/org.seleniumhq.selenium.client-drivers
Нажмите ссылку selenium-php-client-driver, чтобы получить двоичный файл
Я думаю, что парень задал вопрос, как использовать созданные файлы IDE.
Для PHP существует formator: вам просто нужно экспортировать как PHPunit.
Selenium IDE: PHP Formatters :: Дополнения для Firefox https://addons.mozilla.org/en-US/firefox/addon/selenium-ide-php-formatters/