我想帮助在多个浏览器上使用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());
}
}
答案 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>