php - 如何使用behat3中的xpath和类单击嵌套div下的按钮
问题描述
我有一个嵌套的 div 结构,其中有一个按钮元素。我想通过 behat 测试用例检查它的点击和重定向功能,但是当出现错误时我无法对其进行测试。
我的页面 HTML 是这样的 -
<div id="divSubmit1">
<div id="subDivSubmit1">...</div>
<div class="row mt-20 ">...</div>
<div class="row mt-20">
<div class="col-xs-offset-7 col-xs-5 mt-20 mb-10 text-center">
<button class="btn btn-success btn-lg mt-20" type="submit" name="cmd_btn_submit" onclick="return check_input()">Submit
<span class="btn-icon"><i class="fas fa-chevron-right"></i></span></button>
</div>
</div>
</div>
试过以下
这是我在功能文件中的步骤
And I click on button "cmd_btn_submit"
我的上下文文件有
* @And I click on button :arg1
* @Then I click on button :arg1
*/
public function iClickOnButton($arg1)
{
$this->getSession()->getPage()->find("xpath", "//button[div[@id='divSubmit1'][contains(text(),'".$arg1."')]]
")->click();
}
得到这个错误,
And I click on button "cmd_btn_submit" # Shop\Features\Context\FeatureContext::iClickOnButton()
Fatal error: Call to a member function click() on null (Behat\Testwork\Call\Exception\FatalThrowableError)
解决方案
XPath 是错误的,而且您的参数需要是按钮文本,而不是按钮的 Id。
你的 xpath 应该是:
"//div[@id='divSubmit1']//button[contains(text(), '$arg1')]"
你的黄瓜步骤应该是:
And I click on button "Submit"
推荐阅读
- bash - 将结果从查找传递到函数
- html - 如何让我的 css 链接到我的 html fie?
- python - 带有日期滑块和播放小部件/动画的 iPyWidget?
- xslt - 使用 Heat 工具收集 Wix 后无法修改 Directoryref/Directory 元素的 Name 属性值
- javascript - 从 html 表创建嵌套对象 JSON?
- html - 使用 powershell 对齐电子邮件正文中的列
- java - 常用方法的Spring异常处理
- r - 不在 RStudio 中时使用 R 代码重新启动 R 会话?
- c++ - 从数组创建图标
- asp.net-core - Wix Installer ASP.NET Core 单独解决方案