PHPUnit/Selenium找不到*任何*元素
我正在尝试使用PHPUnit和Selenium向我的symfony4项目添加一些简单的测试。问题是不可能找到任何HTML元素,这让我发疯 我的测试:PHPUnit/Selenium找不到*任何*元素,php,selenium,phpunit,Php,Selenium,Phpunit,我正在尝试使用PHPUnit和Selenium向我的symfony4项目添加一些简单的测试。问题是不可能找到任何HTML元素,这让我发疯 我的测试: class WebTest extends PHPUnit_Extensions_Selenium2TestCase { protected function setUp() { $this->setBrowser('firefox'); $this->setBrowserUrl('http://localhost:
class WebTest extends PHPUnit_Extensions_Selenium2TestCase {
protected function setUp() {
$this->setBrowser('firefox');
$this->setBrowserUrl('http://localhost:8000');
}
public function testPageOnline() {
$this->url('/');
$this->assertEquals('Home page', $this->title());
}
public function testHasForm() {
$this->url('/');
$action = $this->byCssSelector('form')->attribute('action');
$this->assertEquals('message', $action);
$name = $this->byName('name');
$dob = $this->byName('dob');
// Verify these input boxes are empty
$this->assertEquals('', $name->value());
$this->assertEquals('', $dob->value());
}
}
第一个测试(“testPageOnline”)总是成功,但第二个测试总是失败,无论我尝试哪种变体。我的html代码没有什么特别之处,没有javascript或任何东西,只是一个静态页面:
<form action="message" method="POST">
<div class="row p-2">
<div class="col-2"><label for="name">Name:</label></div>
<div class="col-2"><input type="text" name="name"></div>
</div>
<div class="row p-2">
<div class="col-2"><label for="dob">Date of birth:</label></div>
<div class="col-2"><input type="text" name="dob"></div>
</div>
<div class="row p-2">
<div class="col-2"><label for="car">Car</label></div>
<div class="col-2">
<select name="car">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
</div>
</div>
<div class="row p-2">
<div class="col-2"><label for="message">Message:</label></div>
<div class="col-2"><input type="text" name="message" /></div>
</div>
<div class="row p-2">
<div class="offset-1 col-3">
<button type="submit" id="post" class="btn btn-block btn-dark">Post</button>
</div>
</div>
</form>
姓名:
出生日期:
汽车
沃尔沃汽车
萨博
梅赛德斯
奥迪
信息:
邮递
PHPUnit输出:
PHPUnit 7.5.14由塞巴斯蒂安·伯格曼和贡献者撰写
运行时:PHP7.3.8-1+ubuntu18.04.1+deb.sury.org+1配置:
/home/xxxx/capsearch/phpunit.xml
测试默认值。E2/2(100%) 时间:5.72秒,内存:4.00 MB 有1个错误: 1) WebTest::testHasForm InvalidArgumentException:未找到元素
有谁能帮我弄清楚出了什么问题吗?我尝试使用不同的选择器(类、ID、名称)查找不同的元素,我100%确定它位于正确的页面上,因为第一次测试通过了。我在这篇GitHub文章中找到了解决方案:
我使用的是Selenium 3.9,显然这是错误的,我应该使用带有“-enablePassThrough false”标志的3.8.1。现在它工作了 我在这篇GitHub文章中找到了解决方案: 我使用的是Selenium 3.9,显然这是错误的,我应该使用带有“-enablePassThrough false”标志的3.8.1。现在它工作了