Codeception 验收测试同一页面上不同形式的完全相同的按钮
Codeception acceptance tests exactly the same buttons in different forms on the same page
我在同一页面上以两种不同的形式有两个完全相同的按钮。表单和按钮没有 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]");
解决方案一:
我给按钮添加了 ID。
方案二:
$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");
尝试使用以下 XPath 表达式:
$I->click('(//button[@type=submit])[2]');
尝试如下操作:
$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");
我在同一页面上以两种不同的形式有两个完全相同的按钮。表单和按钮没有 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]");
解决方案一:
我给按钮添加了 ID。
方案二:
$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");
尝试使用以下 XPath 表达式:
$I->click('(//button[@type=submit])[2]');
尝试如下操作:
$I->click("//form[contains(@action,'http://mysite/two')]/button[@type='submit']");