我有一个简单的问题,我希望有人能及时指出。
我正在使用Codeception运行一些验收测试,并且我试图点击图片类型的提交按钮:
<div id="payment">
<input name="submit" type="image" value="" alt="Review your order" src="/images/buttons/pay-securely.png">
</div>
只需使用$ I-&gt; click()就会导致测试失败:
$I->click('#payment > input[name=submit]');
有什么想法吗?
答案 0 :(得分:3)
我也明确指出了我想要点击的内容而遇到了麻烦。以下是我找到的两个解决方法:
使用CSS类或更好的ID作为选择器:
$I->click(['id'=>'myButtonID']);
使用JavaScript / JQuery触发点击:
$I->executeJS("$('input[name=submit]').click();");
我更喜欢前者,因为它更容易做,但我将后者用于例如我无法控制正在测试的代码。
答案 1 :(得分:0)
我直接与Codeception联系,但没有回复此事。无法测试这个(以及使用图像提交按钮时的明显设计缺陷 - 我的意思是,我们是90年代还是什么?!)我现在已经将输入更改为正确的提交按钮和CSS那么糟糕男孩!
我想回答我自己的问题并将其留在(希望不太可能发生的)另一个可怜的灵魂继承了伪劣工作的事件中。