Seleniumを使用して、いくつかのWebタスクを自動化したい(テスト用ではない)。私はSelenium RC Serverがインストールされていると思いますが、PHP(see: http://を参照)にクライアントドライバーが見つからないため、「テストスクリプト」を書く方法がありません。 seleniumhq.org/download/ )。
PHPでSeleniumを使用する方法はありますか?これは、PHPUnit http://www.phpunit.de/manual/current/en/Selenium.html が必要であることを示唆しているようです。いくつかのタスクを自動化したいだけで、完全なテストスイートに参加したくありません。
事をフォローしてみてください
これらのファイルの書き込み方法を参照するには、 ここ をクリックし、git hubを試してください。
facebook/php-webdriver はSeleniumとphpの素晴らしいクライアントです。
これを使用して(必要なOPとして)Webタスクを自動化するか、単純にphp-webdriverをテストフレームワークに統合できます。これをすでに提供しているいくつかのプロジェクトがあります:
facebook/php-webdriver をダウンロードしてインストールします。 composer require facebook/webdriver
Seleniumをダウンロード &起動します。 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
対話するには、Seleniumサーバーを実行し、Webドライバーライブラリが必要です。
公式にはSeleniumはPHPをサポートしていませんが、NearsoftでJson Wire Protocolとやり取りするためのライブラリを作成しました。他の言語の例や、公式サイトなので、Javaのページの例は、phpでも非常に似た構文になります。
確認してください: https://github.com/Nearsoft/PHP-SeleniumClient
気に入ったら、共有して、参加して、フォークして、好きなようにしてください。
よろしく、マーク。
私は主にIDE生成されたファイルの使用方法を尋ねたと思います。
PHPにはフォーマッタがあります。PHPunitとしてエクスポートする必要があります。
Selenium IDE:PHPフォーマッタ:: Firefox用アドオン https://addons.mozilla.org/en-US/firefox/addon/Selenium-ide-php-formatters /
このリンクを確認してください: http://mvnrepository.com/artifact/org.seleniumhq.Selenium.client-drivers
Selenium-php-client-driverリンクをクリックしてバイナリを取得します