我的一般测试设置如下所示:
class MySeleniumTest extends PHPUnit_Extensions_SeleniumTestCase{
public static $browsers = array(
array(
'name' => 'Mozilla - Firefox',
'browser' => '*firefox',
'host' => 'localhost',
'port' => 4444,
'timeout' => 30000,
),
array(
'name' => 'Google - Chrome',
'browser' => '*googlechrome',
'host' => 'localhost',
'port' => 4444,
'timeout' => 30000,
)
);
//etc
}
从这里开始,一个单独的测试文件看起来像:
class MyTest extends MySeleniumTest{
public function setUp(){
parent::setUp();
$this->setUser(1);
}
public function testPageTitle(){
//Login and open the test page.
$this->login(8);
$this->open('/test/page');
//Check the title.
$this->assertTitle('Test Page');
}
}
从这里开始,当我MyTest.php
使用 PHPUnit 运行时,PHPUnit 将自动运行MyTest.php
. 此外,它在每个指定的浏览器上单独运行每个测试。我想要做的是从该测试用例中获取有关运行特定测试用例的驱动程序的信息。所以像:
public function testPageTitle(){
//Login and open the test page.
$this->login(8);
$this->open('/test/page');
//Check the title.
$this->assertTitle('Test Page');
$driver = $this->getDriver();
print($driver['browser']); //or something.
}
然而,这不起作用。并且$this->getDrivers()
只是在测试中添加更多驱动程序,并且只假设由设置使用。有任何想法吗?谢谢!