我的应用程序中有一个错误,如果用户连续两次非常快速地单击表单的提交按钮,就会发生该错误。我可以在生产环境和我的开发环境中可靠地重现这一点。

我可以用 Capybara/poltergeist/phantomjs 重现这个吗?
find("#my-button").double_clickfind("#my-button").click.clickexecute_script("$('#register-button').click().click();")execute_script 的其他变体不起作用。

尽管 console.log 日志显示 click 确实被调用了两次,但我尝试的所有操作都只会导致我的服务器端代码被调用一次。所以我怀疑 capybara 和 poltergeist 模拟这种行为的能力从根本上缺少一些东西。

有没有办法以某种方式在较低级别调用 phantomJS 并实现这一目标?

我确实尝试过 increasing 我的网络服务器的并发性,但没有帮助。

  • capybara 2.14.0
  • rails 5.1.0
  • 闹鬼 1.15.0
  • phantomjs 2.1.1
  • 最佳答案

    正如您所猜测的 - double_click 与单击两次不同。有两次点击你可以做

    find("#my-button").click.click
    

    或者,根据您的错误,您可能需要在两次点击之间休息一下
    find("#my-button").tap do |b|
      b.click
      sleep 0.1
      b.click
    end
    

    关于ruby-on-rails - 如何在 Capybara 中模拟两次快速点击提交按钮?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44191271/

    10-15 07:48