以编程方式运行 PHPUnit Selenium 2 测试用例(“在 PHP 内”)


Run a PHPUnit Selenium 2 test case programatically (“within PHP”)

这是与此相关的问题我确实喜欢这个答案

require_once 'SeleniumTestCase/Driver.php';
$driver = new PHPUnit_Extensions_SeleniumTestCase_Driver();
$driver->setBrowser('*firefox');
$driver->setHost('localhost');
$driver->setPort(4444);
$driver->setTimeout(30000);
$driver->setBrowserUrl('http://www.google.com');
$driver->start();
$driver->open('/');

它工作正常,但没有 css选择器或获取大小(宽度 - 高度)等属性值的方法,所以我认为使用 Selenium2 更好,所以我检查

https://github.com/facebook/php-webdriver/

我在选择元素时发现了同样的问题(注意:有按 ID 和类选择,但没有像这个选择器这样的嵌套选择器("div.father div#child")在这个例子中我可以得到父亲,但我无法得到这个特定父亲的孩子)所以我该怎么办?

一旦你想在Selenium中执行基本的"打开页面并单击链接"命令之外的任何操作,XPath就成为浏览文档的最佳方式。例如,如果你想测试div.father div#child的宽度,比如(未经测试):

$driver->assertEquals("//div[@class='father']/div[@id='child']/@width", "500");

有很多关于这个主题的资源。不过,本教程有一个详细的运行,如果你忽略它最后进入 Java 的位置。