2017-02-21 16 views
0

Options - > Format converterを使用してFirefox IDE 2.9.1.1(Windowsの場合)でphpunit形式に変換したいくつかのselenium IDEファイルを作成しました。これらの変換されたファイルは、PHPUnit_Extensions_SeleniumTestCaseクラスから派生したクラス "Example"を定義します。このクラスをPHPUnit_Extensions_Selenium2TestCaseに変更する必要があることがわかりました。問題は、私はphpunitの最近のバージョンでこれを実行することができないということです。WebDriverでphpunit-exported selenium IDEファイルを実行する

私はこれらのテストを、PHP 5.6.30、Java 1.8.0_121-b14、およびfirefox 51.0.1-2を使用しているFedora 24 VMで実行しています。私は、これらをセレンのスタンドアロンサーバ3.0.1(そして今は3.1.0)とphpunit 5.7.13を使って稼働させようとしました。私は最新のPHPのFacebookのWebDriverがインストールされている。私が得続けるエラーは、上記のクラスが見つからないということです。私は、そのクラスにはgrepを行なったし、これは私が見つけたものです:

[[email protected] bin]# grep -r "PHPUnit_Extensions_Selenium2TestCase" .

Binary file ./phpunit/phpunit-4.6.7.phar matches

Binary file ./phpunit/phpunit-4.7.6.phar matches

だから、このクラスはPHPUnitの(そのディレクトリにある)5.7以上に存在しないことが表示されます、またそれは、HTML内に存在しません-runner.pharは、同じディレクトリにあります。 seleniumhq.orgサイトでは、IDEから変換する場合にhtmlランナーを使用するように言われていますが、html-runner.pharファイル(およびドキュメントなし)を使用する方法の例は見つかりません。

誰かがこのテストを動作させるためにクラス名を変更する必要があることを教えてもらえますか?

UPDATE:

私は今、私はFirefoxブラウザを駆動するためのPHPUnitやセレンサーバーを使用したい場合は、私はgeckodriverする話セレンを取得する必要があることを知っています。私がインストールされている:

java -jar /usr/local/bin/selenium/selenium-standalone-3.0.1.jar

:セレンサーバー始動

?php

require_once('/usr/local/bin/composer/vendor/autoload.php');

class test extends PHPUnit_Extensions_Selenium2TestCase

{

protected function setUp()

{

$this->setBrowser("*firefox"); 

$this->setBrowserUrl("https://fakeurl.com/"); 

}

public function testMyTestCase()

{

$this->open("/"); 

}

}

[[email protected] projects]$ echo $PATH /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/bin/selenium:/usr/local/bin/phpunit:/usr/local/bin/composer:/usr/local/bin/geckodriver

私は小さなテストファイルを持っている:

geckodriver 0.14.0 at /usr/local/bin/geckodriver

selenium server 3.0.1 at /usr/local/bin/selenium

phpunit-5.7.13.phar installed at /usr/local/bin/phpunit

I used composer to add webdrivers (facebook 1.3.0 :

[[email protected] composer]# cat composer.json { "require": { "facebook/webdriver": "^1.3", "phpunit/phpunit": ">=3.7", "phpunit/phpunit-selenium": ">=1.2" } }

php composer.phar install

は、彼らがPATHに追加されました

テストを実行すると:

/usr/local/bin/phpunit/phpunit-5.7.13.phar --verbose test.php

はこのエラーを得られますので、

PHPUnit_Extensions_Selenium2TestCase_WebDriverException: The best matching driver provider Firefox/Marionette driver can't create a new driver instance for Capabilities [{browserName=*firefox}]

、geckodriverはセレンサーバーに話していないことが表示されます。私は、サーバーの実行を変更することで、問題を強制しようとした場合:

java -Dwebdriver.gecko.driver="/usr/local/bin/geckodriver/geckodriver" -jar /usr/local/bin/selenium-server-standalone-3.0.1.jar

または

sudo java -Dwebdriver.gecko.driver="/usr/local/bin/geckodriver/geckodriver" -jar /usr/local/bin/selenium-server-standalone-3.0.1.jar

それは違いはありません。私は誰かが私が逃していることを指摘できると思っています。私は行き詰まっている。

答えて

0

私は現在、これが動作するようになって、同じプロセスを経て働いていますし、いくつかのことを指摘したいと思います:

  • htmlrunnerは、デフォルトではセレンIDEから直接保存されたテストケースを実行するためのものです形式はhtmlです。
  • セレンサーバを実行している端末からfirefoxを実行できることを確認してください。
  • 2つの異なるセレンのphpバインディングを追加しました。 facebook oneとphpunit-seleniumです。私は現在、PHPUnit_Framework_TestCaseクラスを拡張しているfacebookバインディングとphpunitだけで作業しています。あなたのセレン設定が動作していることを確認し、phpunitを追加することをphpunitなしでfacebook/webdriverのgithubにある例を使用することをお勧めします。
+0

私はhtmlrunnerを使い始めました。これまでのところ成功はありません。 Firefoxは端末ウィンドウ内で実行されます。そして私はgithubの例を動作させることはできません。 "エラー:クラス 'WebDriverCapabilityType'が見つかりませんでした。他の人も同じ問題を抱えていますが、その解決策は私にとってはうまくいきません。 –

関連する問題