【问题标题】:Capybara Set doesn't trigger events after changing the valueCapybara Set 更改值后不触发事件
【发布时间】:2015-02-26 22:55:23
【问题描述】:

小心使用 'set' 而不是其他内置方法,因为它不会在更改值后触发事件,正如此处评论中指出的那样:How to use fill_in with find in Capybara (if possible)

例如

find(:css, "input[id$='donation_pledge_hundreds']").set("10")

我正在使用 ruby​​、capybara 和 site-prism。据我了解,站点棱镜旨在通过获取水豚节点元素,然后在它们上调用方法来使用,例如点击

我需要设置文本框的值,因此尝试在相关的水豚节点元素上调用 set。不幸的是,这并没有触发相关的 javascript。

我应该如何解决这个问题?我应该只使用 capybara fill_in 方法吗?

【问题讨论】:

    标签: javascript capybara web-testing site-prism


    【解决方案1】:

    我会选择fill_in,因为它是最接近手动测试的方法,我们在编写功能测试时的目标是。我发现当您使用set 时,您将无法发现例如字段被其他元素覆盖的问题,因此您只能通过手动检查才能发现该字段不可点击。

    【讨论】:

      【解决方案2】:

      如果您要进行浏览器自动化,您需要考虑您的用户将要做什么。

      我知道这是旧的,但以防其他人发现它。 send_keys 使用默认的 selenium 实现,可以像用户那样键入键。如果您“可以”使用它,那么您“应该”使用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-13
        • 1970-01-01
        相关资源
        最近更新 更多