我正在使用Selenium2模块进行验收测试
我的acceptance.suite.yml包含
class_name: WebGuy
modules:
enabled: [Selenium2]
config:
Selenium2:
url: 'http://localhost/'
browser: firefox
capabilities:
unexpectedAlertBehaviour: 'accept'
在我的测试文件中,我尝试了以下两种方法,但都失败了
$I->seeElement('.menu .subMenu');
$I->dontSeeElement('.menu .subMenu');
我希望dontSee断言能够传递,因为默认情况下子菜单是隐藏的
我得到的错误是
Guy意外地设法看到元素“.menu .subMenu”:声明对象为空的失败。
HTML的开头看起来像这样
<div class="menu">
<div class="subMenu" style="display: none;">
<ul>
<li><a href="#">Contact</a></li>
</ul>
</div>
</div>
答案 0 :(得分:0)
尝试使用XPath:
$I->seeElement("//div[@class='menu']");
答案 1 :(得分:0)
我相信这是Codeception中的一个错误:https://github.com/Codeception/Codeception/issues/617
编辑:切换到WebDriver模块而不是Selenium似乎已经解决了我的问题。