【问题标题】:How to get around undefined method `send_keys'如何绕过未定义的方法“send_keys”
【发布时间】:2016-09-06 18:44:31
【问题描述】:

在过去 3 年中尝试运行 rspec-capybara 测试时,在我们一直使用的 Ruby on Rails 应用程序中运行功能测试时,我收到了undefined method 'send_keys'

我们的Gemfile 中有gem 'selenium-webdriver', '~> 2.47.1',它显示在 Gemfile.lock 中

我们怀疑我们没有使用正确的驱动程序,但鉴于我们的 Gemfile,不知道为什么不

我们的目标 HTML:

<input class="zip-code-input" id="landing-zip-code" maxlength="5" name="landing[zip_code]"
pattern="[0-9]*" placeholder="ZIP Code" size="5" tabindex="1" title="Five-Digit ZIP Code"  
value="" type="text">

我在 Gemfile.lock 中看到很多对 rack 的引用,即

$ bundle | grep rack
Using rack 1.4.7
Using crack 0.3.2
Using rack-cache 1.5.1
Using rack-test 0.6.3
Using rack-ssl 1.3.4
Using rack-protection 1.5.3
Using rack_session_access 0.1.1

但我一直找不到任何方法来改变它

send_keys 记录在这里:
https://selenium.googlecode.com/svn/trunk/docs/api/rb/Selenium/WebDriver/Element.html#send_keys-instance_method

【问题讨论】:

  • 你使用什么语言?
  • 方法不是叫sendKeys吗? - 编辑好吧它不是
  • 您还尝试发送什么对象?您是说之前的 selenium 代码都可以正常工作?
  • 添加了 send_keys 方法(顺便说一下与 .net 方法不同)
  • 我们正在尝试使用 .set 在 asn 输入字段中输入邮政编码,但它不起作用,因此我们正在尝试 send_keys

标签: ruby selenium selenium-webdriver webdriver rack


【解决方案1】:

如果您使用 capybara gem 并且尝试填充文本字段,则必须使用以下语法。

fill_in 'landing-zip-code', with: '123456'

找到参考here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2016-09-10
    • 2019-11-03
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多