如何在不同的浏览器上使用selenium2运行phpunit测试

时间:2014-04-30 15:23:31

标签: selenium-webdriver phpunit

我想帮助在多个浏览器上使用selenium2运行phpunit测试。我有以下phpunit测试,可以在Firefox浏览器上运行。如何针对Chrome,IE,Opera,Safari等其他人运行它?

如果您能提供帮助,我已在下面添加了测试用例。任何帮助网站的链接都将受到赞赏。

class exampleTestcase2 extends PHPUnit_Extensions_Selenium2TestCase {
    public function setUp()
    {
        $this->setHost('localhost'); // Set the hostname for the connection to the Selenium server.
        $this->setPort(4444); // set port # for connection to selenium server
        $this->setBrowser('firefox'); // set the browser to be usedRequest State Change
        $this->setBrowserUrl('http://www.php.net/');  // set base URL for tests
    }

    public function testCMS() // Test the title on index page
    {
        $this->currentWindow()->maximize(); // open window in full screen
        $this->url('index.php'); // Set the URL to access the login page            
        $this->assertEquals('PHP: Hypertext Preprocessor', $this->title());
    }
}

2 个答案:

答案 0 :(得分:0)

如果使用phpunit命令,则可以在执行前设置环境变量,并从测试脚本中读取值。

在Mac OS X或Linux上,键入控制台:

export SELENIUM_BROWSER=chrome

在Windows中:

set SELENIUM_BROWSER='chrome'

在剧本中:

$browser = getenv('SELENIUM_BROWSER') ? getenv('SELENIUM_BROWSER') : 'firefox';

答案 1 :(得分:0)

根据您的浏览器更改.xml文件 请记住要求firefox geckodriver。

<selenium>
    <browser
        name="firefox on Windows"
        browser="firefox"
        host="http://localhost"
        port="4450"
        timeout="40000"/>
</selenium>

<php>
    <const name="PHPUNIT_TESTSUITE" value="true"/>
    <const name="PHPUNIT_TESTSUITE_EXTENSION_SELENIUM_HOST" value="127.0.0.1"/>
    <const name="PHPUNIT_TESTSUITE_EXTENSION_SELENIUM_PORT" value="4445"/>
    <const name="PHPUNIT_TESTSUITE_EXTENSION_SELENIUM_BROWSER" value="firefox"/>
    <const name="PHPUNIT_TESTSUITE_EXTENSION_SELENIUM2_BROWSER" value="firefox"/>
    <const name="PHPUNIT_TESTSUITE_EXTENSION_SELENIUM_TESTS_URL" value="http://test.com/"/>
    <const name="PHPUNIT_TESTSUITE_EXTENSION_SELENIUM_PATH" value="/tmp"/>
</php>