由于Javascript,自动测试无法设置输入

由于Javascript,自动测试无法设置输入,javascript,ruby,selenium-webdriver,watir-webdriver,browser-automation,Javascript,Ruby,Selenium Webdriver,Watir Webdriver,Browser Automation,我正在使用基于Selenium、Watir和Cucumber框架的Ruby编写自动化。最近,我的一个测试由于文本字段的更改而失败,特别是在与该字段交互时发生Javascript调用,该字段将输入限制为数字键码,并允许使用小数和粘贴。当此更改生效时,我尝试输入的输入不再被接受,但“.”除外。我已尝试转换为数字输入(到_I和到_f),以及设置值的替代方法(请参见以下内容): 或 或 在所有这些情况下,输入框中除了小数外没有显示任何内容。我不知道如何处理这个Javascript。我的问题是1)是否有人

我正在使用基于Selenium、Watir和Cucumber框架的Ruby编写自动化。最近,我的一个测试由于文本字段的更改而失败,特别是在与该字段交互时发生Javascript调用,该字段将输入限制为数字键码,并允许使用小数和粘贴。当此更改生效时,我尝试输入的输入不再被接受,但“.”除外。我已尝试转换为数字输入(到_I和到_f),以及设置值的替代方法(请参见以下内容):


在所有这些情况下,输入框中除了小数外没有显示任何内容。我不知道如何处理这个Javascript。我的问题是1)是否有人遇到并修复了类似的问题,如果没有,2)我如何暂时关闭Javascript以编程方式输入值,然后再打开它以保持环境其余部分的完整性?

必要时,使用Javascript与Javascript对抗:

browser.execute_脚本(“document.getElementById('rate')。setAttribute('value','12345')”)

browser.text_field(:id, "rate").set(val)
browser.text_field(:id, "rate").value=(val)
browser.text_field(:id, "rate").send_keys :numpad1