我已經使用選項 - >格式轉換器創建了許多硒IDE文件,我在Firefox IDE 2.9.1.1(Windows窗口中)中將其轉換爲phpunit格式。這些轉換後的文件定義了一個類「Example」,它是從類PHPUnit_Extensions_SeleniumTestCase派生而來的。我現在知道這個類需要更改爲PHPUnit_Extensions_Selenium2TestCase。問題是,我不能用最新版本的phpunit來運行它。獲取phpunit導出的selenium IDE文件在WebDriver中運行
我正在使用php 5.6.30,java 1.8.0_121-b14和firefox 51.0.1-2的Fedora 24虛擬機上運行這些測試。我試圖讓這些使用硒獨立服務器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 runner,但我不能找到如何使用html-runner.phar文件的示例(也沒有文檔)。
有人可以告訴我什麼,我應該改變類名,以獲得此測試工作?
UPDATE:
現在我知道,如果我想使用的PHPUnit和硒服務器驅動firefox瀏覽器,我得硒交談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:
[[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
我有一個小的測試文件:
?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("/");
}
}
啓動硒服務器:
java -jar /usr/local/bin/selenium/selenium-standalone-3.0.1.jar
當我運行測試:
/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的例子。我收到一個錯誤:「Error:Class'WebDriverCapabilityType'not found。我在評論中看到其他人有同樣的問題,但他們的解決方案不適合我。 –