我正在使用Selenium和PHPUnit来判断是否检查了一堆具有特定类的复选框,并且我遇到了一些麻烦。
我的代码:
$count = $this->getXpathCount('//form//input[@type="checkbox" and @class="required"]');
for ($i = 1; $i <= $count; $i++) {
$this->assertTrue($this->isChecked(sprintf('xpath=//form//input[@type="checkbox" and @class="required"][%d]', $i)));
}
不幸的是,似乎我不能在同一个标签上使用方括号两次,但我确实需要确保检查所有具有“必需”类的复选框。
任何建议?
答案 0 :(得分:1)
我不知道Selenium,但DOMXPath->evaluate
会理解这种语法&amp;返回一个浮点数(不是int,但是嘿),也许它适合你:
count(//form//input[@type="checkbox" and @class="required" and not(@checked)])
或许也很简单:
$this->assertTrue($this->getXpathCount('//form//input[@type="checkbox" and @class="required" and not(@checked)]')==0);
答案 1 :(得分:1)
除非我误解,否则使用方括号两次不应该有任何问题。我能够使用PHPUnit和Selenium来解决下面的html问题,使代码无故障运行:
<html>
<head>
<title>Check Boxes</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="self" method="post">
<div>
<input type="checkbox" class="required"/>
<br />
<input type="checkbox" class="required"/>
<br />
<input type="checkbox" class="required"/>
<br />
<input type="submit" value="Submit" />
<br />
</div>
</form>
</body>
</html>
您是否正在运行最新版本的PHPUnit和Selenium-rc?
答案 2 :(得分:-1)
$ checkbox3 = $ this-&gt; byClassName(&#39; required&#39;);
$这 - &GT; assertTrue($ checkbox3-&GT;选择());