これを投稿する前に、私はこのサイトとグーグルで多くのことをチェックして、私の問題を解決しました. 主に Symfony2 フレームワークを使用して PHP でコーディングされている Web アプリケーションをテストしています。
機能テストを行うために Selenium を使用しています。今のところやりたいことは、Selenium Grid を使用してローカル マシンで機能テストを並行して実行することだけです。私がやっていることは、Selenium IDE でテストを記録し、テスト ケースを phpunit 形式でエクスポートすることです。セレン グリッドを使用しようとしましたが、私の phpunit テストはまだ順番に実行されています。
私がしたこと:
1) java -jar selenium-server-standalone-2.24.1.jar -role ハブ
2) java -jar selenium-server-standalone-2.24.1.jar -role node -hub http://localhost:4444/grid/register -browser "browserName=firefox,maxInstances=2,maxSession=2"
3) アリ
私のbuild.xmlにはphpunitターゲットがあります:
<target name="phpunit" description="Run unit tests">
<exec executable="phpunit" failonerror="true"/>
</target>
私の phpunit.xml には、コードのこの部分が存在します。
<testsuites>
<testsuite name="LoginSuite">
<file suffix="Test.php">../../src/Tests/FunctionalTests/LoginSuite_testLoginTest.php</file>
</testsuite>
</testsuites>
そして、私の LoginSuite_testLoginTest.php は次のようになります。
<?php
namespace Tests\FunctionalTests;
use Tests\FunctionalTests\SetUpTest;
class LoginSuite_testLoginTest extends SetUpTest
{
public function testLogin()
{
$this->open("/home");
$this->click("link=Login");
$this->type("id=username", "test.user@gmail.com");
$this->type("id=password", "test");
$this->click("id=_submit");
$this->waitForPageToLoad("30000");
}
public function testLogin2()
{
$this->open("/home");
$this->click("link=Login");
$this->type("id=username", "test.user2@gmail.com");
$this->type("id=password", "test");
$this->click("id=_submit");
$this->waitForPageToLoad("30000");
}
}
?>
ant コマンドを起動する 3 番目のステップで、jetty エラー 500 が発生します /selenium-server/driver/ へのアクセスに問題があります
代わりに:
java -jar selenium-server-standalone-2.24.1.jar -role node -hub http://localhost:4444 /grid/register -browser "browserName=firefox,maxInstances=2,maxSession=2"
-browser 情報なしで同じコマンドを実行すると、テストが起動されますが、並列ではありません...とても奇妙です。
phpunit テストを並行して起動するには、独自のスクリプトを作成する必要があることがわかりました。この場合、セレングリッドが必要ですか?? 私は非常に混乱しています。ご協力いただきありがとうございます。