【问题标题】:Automated test cannot set input due to Javascript由于 Javascript,自动化测试无法设置输入
【发布时间】:2017-08-13 17:34:33
【问题描述】:

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

browser.text_field(:id, "rate").set(val)

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

browser.text_field(:id, "rate").send_keys :numpad1

在所有这些情况下,输入框中除了小数点之外什么都没有出现。我不知道如何处理这个 Javascript。我的问题是 1)有没有人遇到并修复了类似的东西,除非 2)我怎样才能暂时关闭 Javascript 以编程方式输入值,然后重新打开它以便能够保持其余部分的完整性环境?

【问题讨论】:

    标签: javascript ruby selenium-webdriver watir-webdriver browser-automation


    【解决方案1】:

    必要时,用 JavaScript 对抗 JavaScript:

    browser.execute_script("document.getElementById('rate').setAttribute('value', '12345')")

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 2019-01-31
      • 2022-07-18
      • 2018-08-25
      相关资源
      最近更新 更多