【问题标题】:How to set a float number correctly for rspec/capybara/selenium according to the current locale如何根据当前语言环境为 rspec/capybara/selenium 正确设置浮点数
【发布时间】:2017-03-21 15:28:42
【问题描述】:

我正在使用 rspec、capybara 和 selenium webdriver 和 firefox 进行 RoR 测试。如果我在规范中设置了 HTML 输入数字字段,例如:

find('input_selector').set('101,1')

它可以工作,因为我有一个匈牙利环境,并且小数点分隔符在匈牙利语言环境中是逗号。但是如果我的同事在美国环境中运行测试,它就不起作用了。

如何在我的规范中确定 webdriver/firefox 中的小数分隔符应该是什么?

【问题讨论】:

    标签: ruby-on-rails selenium rspec capybara


    【解决方案1】:

    一种选择是使用evaluate_script("navigator.language") 并根据返回的语言更改行为。

    可能与硒一起使用的其他东西是

    find('input_selector').send_keys('101', :decimal, '1')
    

    我实际上并没有在不同的语言环境中尝试过,但我相信 :decimal 键描述符应该切换到浏览器的正确字符。

    【讨论】:

    • 不幸的是它不起作用。 :decimal 不做任何事情,既不是点也不是逗号,简单的1011 出现在字段中。我检查了xev -even keyboard 我看到的内容,如果我按下小数分隔符按钮,我得到keycode 91 (keysym 0xffac, KP_Separator。所以我也尝试了:separator,但它也不起作用。 :-(
    • @TiborNagy 嗯——抱歉,刚刚意识到我正在用 Chrome 测试 :decimal。它似乎可以与 Chrome 和旧版 firefox(
    猜你喜欢
    • 2013-07-01
    • 2010-12-17
    • 2019-11-03
    • 2014-10-02
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    相关资源
    最近更新 更多