如何在功能测试期间单击不是表单提交按钮的按钮
Posted
技术标签:
【中文标题】如何在功能测试期间单击不是表单提交按钮的按钮【英文标题】:How to click a button which is not a form submit button during a functional test 【发布时间】:2019-10-07 20:44:03 【问题描述】:在功能测试期间,我需要单击一个按钮来发出 ajax 请求。 在浏览 symfony 测试文档时,我意识到你可以点击:
链接 或 表单的提交按钮我的按钮有以下 id = "js-scroll-down"
当我尝试这个时:
$btn = $crawler->filter('#js-scroll-down')->eq(0)->link();
$crawler = $client->click($btn);
我收到以下错误: LogicException:无法从“按钮”标签导航。
【问题讨论】:
你不能用symfony/dom-crawler
组件发出ajax请求,为了测试这种行为建议使用Panther。
我使用 Panther 时遇到同样的错误:无法从“按钮”标签导航
【参考方案1】:
Client#click()
只需要链接。
但是你可以执行脚本,例如$client->executeScript("document.querySelector('#js-scroll-down').click()");
【讨论】:
以上是关于如何在功能测试期间单击不是表单提交按钮的按钮的主要内容,如果未能解决你的问题,请参考以下文章