单击带有Codeception的图像提交按钮

时间:2014-04-10 08:17:38

标签: acceptance-testing codeception

我有一个简单的问题,我希望有人能及时指出。

我正在使用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]');

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我也明确指出了我想要点击的内容而遇到了麻烦。以下是我找到的两个解决方法:

  1. 使用CSS类或更好的ID作为选择器:

    $I->click(['id'=>'myButtonID']);
    
  2. 使用JavaScript / JQuery触发点击:

    $I->executeJS("$('input[name=submit]').click();");
    
  3. 我更喜欢前者,因为它更容易做,但我将后者用于例如我无法控制正在测试的代码。

答案 1 :(得分:0)

我直接与Codeception联系,但没有回复此事。无法测试这个(以及使用图像提交按钮时的明显设计缺陷 - 我的意思是,我们是90年代还是什么?!)我现在已经将输入更改为正确的提交按钮和CSS那么糟糕男孩!

我想回答我自己的问题并将其留在(希望不太可能发生的)另一个可怜的灵魂继承了伪劣工作的事件中。