Codeception验证在同一页面上以不同的形式测试完全相同的按钮

时间:2015-07-22 11:34:27

标签: php codeception acceptance-testing acceptance

我在同一页面上有两个不同形式的两个完全相同的按钮。表单和按钮没有id或名称,唯一的区别在于这些表单,即操作。

<form class="form" method="post" action="http://mysite/one">
    <button title="" type="submit" class="button">Edit</button>
</form>

<form class="form" method="post" action="http://mysite/two">
    <button title="" type="submit" class="button">Edit</button>
</form>

我在Codeception中编写验收测试并使用PhpBrowser执行这些测试。

我想点击这些按钮,但只点击了第一个按钮。

这仅适用于第一个按钮:

$I->click("button[type=submit]");



解决方案1:
我在按钮上添加了ID。

解决方案2:

$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");

2 个答案:

答案 0 :(得分:3)

尝试以下内容:

$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");

答案 1 :(得分:1)

尝试使用以下XPath表达式:

{'Are you male?|Do you have children?' => [[nil, 'Yes', 'No'],['Yes', '25%', '75%']]}