gpt4 book ai didi

jquery - Capybara jQuery 脚本适用于 Selenium 驱动程序,但不适用于 Poltergeist

转载 作者:行者123 更新时间:2023-12-01 04:47:49 24 4
gpt4 key购买 nike

我正在尝试通过在 Capybara RSpec 测试中执行一系列脚本来测试 jQuery slider 。我的脚本执行以下操作:

  1. 捕获 slider handle
  2. 滑动 handle
  3. 释放 handle

    execute_script("$('#PMPM-slider .ngrs-handle-min').trigger(jQuery.Event('mousedown', { clientX: 70, clientY: 77 }))")
    execute_script("$('#PMPM-slider .ngrs-handle-min').trigger(jQuery.Event('mousemove', { clientX: 100, clientY: 77 }))")
    execute_script("$('#PMPM-slider .ngrs-handle-min').trigger('mouseup')")

...然后运行我的断言。该测试使用 Selenium Web 驱动程序运行并通过。不幸的是,出于性能原因,我们使用 Poltergeist 运行所有测试(在这种情况下,我们保留 Selenium 作为调试目的的选项)。由于某种原因,Poltergeist 不响应这些脚本(我们正在使用 Capybara 屏幕截图 gem,我可以看到测试完成时 slider 尚未移动)。

有谁知道 Poltergeist 无法解释这些脚本的任何原因(与语法、配置或其他相关)吗?

最佳答案

在这种情况下,Poltergeist 似乎使用触摸事件而不是单击事件。将“mousedown”、“mousemove”和“mouseup”分别切换为“touchstart”、“touchmove”和“touchend”可以解决该问题。希望这对将来的其他人有帮助。

关于jquery - Capybara jQuery 脚本适用于 Selenium 驱动程序,但不适用于 Poltergeist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26659473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com