【问题标题】: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 时遇到同样的错误:无法从“按钮”标签导航

标签: symfony functional-testing phpunit


【解决方案1】:

Client#click() 只需要链接。

但是你可以执行脚本,例如$client->executeScript("document.querySelector('#js-scroll-down').click()");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 2019-03-07
    • 2013-10-02
    • 2013-04-10
    • 2022-01-07
    相关资源
    最近更新 更多