使用 Codeception 单击图像提交按钮

Phi*_*hil 4 acceptance-testing codeception

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

我刚刚使用 Codeception 运行一些验收测试,并尝试单击图像类型的提交按钮:

<div id="payment">
    <input name="submit" type="image" value="" alt="Review your order" src="/images/buttons/pay-securely.png">
</div>
Run Code Online (Sandbox Code Playgroud)

简单地使用 $I->click() 会导致测试失败:

$I->click('#payment > input[name=submit]');
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Sco*_*don 5

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

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

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

    $I->executeJS("$('input[name=submit]').click();");
    
    Run Code Online (Sandbox Code Playgroud)

我更喜欢前者,因为它更容易做到,但我使用后者的情况,例如我对正在测试的代码没有太多控制权。

  • 好的!我花了一段时间但终于看到了你的答案并适当地接受了。遗憾的是我们不得不诉诸这样的解决方法。 (2认同)