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