セレン2(WebDriver)アサ?
-
25-09-2019 - |
質問
のいずれかのセレンの2アサ?あるセレンの2サンプルPHP?
解決
クイックアップデート: phpunit が Selenium 2 をサポートするようになりました
この記事の執筆時点では、PHPUnit は Selenium 2 をサポートしていません。
php-ウェブドライバー から フェイスブック これにより、完全な WebDriver API を PHP からエレガントな方法で呼び出すことができます。引用するには:
ほとんどのクライアントは、最初にプロトコルを読んで可能なことを確認し、次にクライアント自体を研究してそれを呼び出す方法を確認する必要があります。これは、後者のステップを排除することを望んでいます。
これは、インターフェイスを提供する Selenium 2 サーバーを起動することによって使用されます。 localhost:4444/wd/hub
.
/usr/bin/java -jar /path/to/selenium-server-standalone-2.7.0.jar
次に、そのインターフェイスを呼び出す PHP テスト コードを実行します。例えば:
<?php
require '/path/to/php-webdriver/__init__.php';
$webdriver = new WebDriver();
$session = $webdriver->session('opera', array());
$session->open("http://example.com");
$button = $session->element('id', 'my_button_id');
$button->click();
$session->close();
の WebDriver API PHP メソッドにマップされているため、呼び出しを比較します click
の上 element
ドキュメントの要素/クリック API 呼び出しの例です。
その後、テスト コードを通常の phpUnit テストでラップできます。
これはネイティブの phpUnit サポートではありませんが、非常に堅牢なアプローチです。
他のヒント
http://code.google.com/p/phpをご覧ください-webdriver-バインディング/ に。これは、セレンwebdriverをサーバと通信がJsonWireProtocolを使用してPHPライブラリです。これは初期のバージョンであるが、それは動作します。
現在(2017年)の使用をお勧めし php-webdriver, うAFAIKを見たときの大きな特徴が、完全なPHP言語との結合とセレンWebDriver.
このライブラリで書き直しました2014年には支援セレン2は、そのAPIは、主にJava WebDriverランタイム環境を含んでいます。このコード例はJavaで記述された、可能で通常は単純に次いでクリアしました。そのものの近代的なOOP、以下の標準PSR-4の名前空間もPSR-2符号化です。
この図書館以上 アサ-セレン になるという新たな目標に向けて経験をもとにしたセレンの1でしたの現在支援セレンの2)そのAPIを強く締めPHPUnit.または一部のWebDriver特徴とで日upcomin W3C WebDriver仕様.
Php-webdriverに独立図書館が、その 統合アサ は非常に簡単で、既存のリーディングプロジェクト 執事, を含むすべてのアサ統合を提供しのも嬉しい利便性層の例できるだけ複数の試験に平行なうリーディングプロジェクト paratest).
その他にもテスティングフレームワークの統合オプションに記載された プロジェクトのホームページ.
PHPUnitのSeleniumの統合コードは、私の知る限り、 githubのの中に別のプロジェクトとして住んでいますあなたの質問への答えは次のようになりますので、それは、セレン2をサポートしていません - 。いいえ、あなたはPHPUnitのでセレン2を使用することはできません。
しかし、あなたがソースツリーのクローンを作成し、それがセレン2で動作させることができます。
私たちは、そのためのライブラリを作成し、私はそれが役に立てば幸い。また、JSON Wireプロトコルを使用していますが、我々は、構文は非常に似ていますので、他の言語からの例と互換性を持たせることを目的としました。ここにリンクがあります: https://github.com/Nearsoft/PHP-SeleniumClientする
あなたのそれのような場合は、それを改善したり、それをフォーク、それを共有:)
よろしく、マークます。
phpunit Webdriver バインディングは Google コードでホストされます。これを超えて理解する必要があることがあります。
- PHPUnitをインストールする必要があります。(PEAR パッケージを使用するか、手動でダウンロードしてインストールします)
- Eclipse PDT などの PHP IDE をダウンロードしてインストールする必要があります。
- WebDriver Selenium テストの実行中は Selenium-Stand-Alone サーバーが実行されている必要があります
私はここでそれを見つけ、セレン2、Facebookのラッパーを使用する方法についてのチュートリアルを書きました。
ます。http://testigniter.blogspot。 co.uk/2012/01/running-selenium-2-webdriver-using.htmlする
私は推奨の使用 Menta, では、セレンの2つの枠組みを必要とする WebDriver.両方のパッケージPSR-0対応できますので利用しました。を設定することができセレンのphpunit.xml.例を以下に示します
<phpunit bootstrap="tests/bootstrap.php"
backupGlobals="false" backupStaticAttributes="false"
strict="true" verbose="true">
<php>
<var name="testing.selenium.seleniumServerUrl" value="http://localhost:4444/wd/hub" />
<var name="testing.selenium.browser" value="firefox" />
<var name="testing.selenium.windowPosition" value="0,0" />
<var name="testing.selenium.windowSize" value="1280x1024" />
<var name="testing.selenium.windowFocus" value="1" />
<var name="testing.selenium.timeoutImplicitWait" value="10000" />
</php>
<testsuites>
<testsuite name="Integrationstests">
<directory suffix="Test.php" phpVersion="5.3.0" phpVersionOperator=">=">tests/integration</directory>
</testsuite>
</testsuites>
<logging>
<log type="junit" target="build/logs/junit.xml"/>
</logging>
</phpunit>
ブートストラップファイルを読み込み変数の設定からテスト。セレン.*, で簡単にセットの新しい変数.
<?php
\Menta_ConfigurationPhpUnitVars::addConfigurationFile(__DIR__ . '/../phpunit.xml');
$configuration = \Menta_ConfigurationPhpUnitVars::getInstance();
\Menta_SessionManager::init(
$configuration->getValue('testing.selenium.seleniumServerUrl'),
$configuration->getValue('testing.selenium.browser')
);
今まで容易に行えますます多分。例を以下に示します
<?php
namespace tests\integration;
use WebDriver\LocatorStrategy;
class TestSearch extends \PHPUnit_Framework_TestCase
{
public function testGoogle()
{
$session = \Menta_SessionManager::getSession();
$session->open('http://www.google.de');
$element = $session->element(LocatorStrategy::NAME, 'q');
$this->assertTrue($element->displayed());
}
}
のMentaパッケージにも二つのデモのファイルあ こちらの
今日は、aがセレン及びPHPUnitの奥深くにジャンプしました。 それは可能であり、あなたがこっちにいくつかの例と指示を見つけることがあります。 http://phpunit.de/manual/current/en/selenium.htmlする
はPHPUnitの創造者は、APIのいくつかの素晴らしい例を得ました。 少し実験し、エラーメッセージを読んで、あなたは一緒に取得します。 やりなさいは、同様に偉大なライブラリを自分自身を見つけます。
https://github.com/sebastianbergmann/phpunit-セレン/ブロブ/マスター/テスト/ Selenium2TestCaseTest.phpする
基本に沿ってあなたを助けnettutsからとの最後のAチュートリアルとして: http://net.tutsplus.com/チュートリアル/ PHP /どのように使用-セレン-2-と-はPHPUnit / の
はい、Selenium 2 (WebDriver)
とPHPUnit tests
は簡単です。しかし、月、私はあなたがSelenium IDE
に期待する必要があるので、最初は、あなたがトライselenium command
であることを助言を与えたいです。 Selenium command
とselenium 2 (Webdriver)
はあなたのためのよりシンプルになりそうだとすれば。
PHPUnit test
に期待されている場合
あなたはをここににselenium IDE
チュートリアルを試すことができますし、selenium 2 (Webdriver) and PHPUnitを学ぶことができますhref = "http://www.dragonbe.com/2013/05/ua-testing-with-selenium-and-phpunit.html" にここのrel = "nofollowを">。
私の仕事。私はセレンIDEで記録Selenium1のためにあまりにも多くのテストを持っています。今ではSelenium2にHTMLのテストに変換します。実際には、PHPUnit_Extensions_Selenium2TestCaseため。私はより多くのコマンドを実装しようと思ってます。