【发布时间】:2015-11-18 04:10:16
【问题描述】:
我正在使用带有“SeleniumTestCase”扩展名的 PHPUnit 进行测试。我的问题是以下代码执行良好:
$movies = "//div[@id='sorted_movies_paginator']//li[@class='c-card-list__item']//a[@class='movie-link']";
$this->assertGreaterThanOrEqual(2 , $this->getXpathCount($movies));
echo $this->getXpathCount('('.$movies.')[1]')."\n"; // echoes 1
虽然这个返回错误:
$this->assertElementPresent('('.$movies.')[1]');
错误是:
PHPUnit_Framework_ExpectationFailedException :命令失败: assertElementPresent('(//div[@id='sorted_movies_paginator']//li[@class='c-card-list__item']//a[@class='movie-link'])[1]') 断言 false 为 true 失败。
这个也返回错误:
$this->clickAndWait('('.$movies.')[1]');
错误是:
PHPUnit_Framework_Error : 访问时响应无效 位于“http://localhost:4444/selenium-server/driver/”的 Selenium 服务器: 错误:元素 (//div[@id='sorted_movies_paginator']//li[@class='c-card-list__item']//a[@class='movie-link'])[1] 没找到
如何强制 Selenium Driver 仅断言第一个元素?
【问题讨论】: