水豚可以找到但不能fill_in

2024-04-08

我对水豚有一些非常奇怪的行为。它顽固地拒绝填写我的登录表单的字段。

<fieldset>
  <div class="clearfix">
    <label for="user_email">E-Mail Adresse</label>
    <div class="input">
      <input id="user_email" name="user[email]" size="30" type="email" value="">
    </div>
  </div>

  <div class="clearfix">
    <label for="user_password">Passwort</label>
    <div class="input">
      <input id="user_password" name="user[password]" size="30" type="password" value="">
    </div>
  </div>

  <div class="clearfix">
    <div class="input">
      <input name="user[remember_me]" type="hidden" value="0">
      <input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
      <label for="user_remember_me">angemeldet bleiben</label>
    </div>
  </div>
</fieldset>

这就是乐趣的开始:

within("#login_form"){ find("#user_email")}                                              
=> #<Capybara::Element tag="input" path="/html/body/div[2]/div[@id='content']/div/div[1]/form[@id='login_form']/fieldset/div[1]/div/input[@id='user_email']">
within("#login_form"){ fill_in("#user_email", with: "[email protected] /cdn-cgi/l/email-protection")}                  
Capybara::ElementNotFound: Unable to find field "#user_email"

我不太明白如何能够找到但找不到元素。 如果能有另一双眼睛关注这一点,我们将不胜感激。


定位器用于find and fill_in是不同的:

  • find http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Finders#find-instance_method- 当第一个参数不是符号时,假定为 Capybara.default_selector - 即 css-selector 或 xpath。
  • fill_in http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Actions#fill_in-instance_method- 第一个参数是字段的名称、ID 或标签文本。

字符串“#user_email”代表一个 css 选择器。这就是为什么它适用于find但不是fill_in.

For fill_in要工作,您只需传入 id 值 - 即“user_email”。

within("#login_form"){ fill_in("user_email", with: "[email protected] /cdn-cgi/l/email-protection")}  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

水豚可以找到但不能fill_in 的相关文章

  • 针对页面修改黑客的 Rails 集成测试?

    我正在使用 Capybara 1 1 2 Rails 3 1 3 rspec rails 2 9 0 和 Ruby 1 9 3p0 假设一个应用程序具有标准用户和 account admin 用户 标准用户可以创建另一个标准用户 但标准用户
  • 如何在控制器测试中使用 Capybara get、show、post、put?

    我只是不确定确切的措辞方式是什么 这告诉我 尚未回复 首先请求一个页面 it should list searches do get index page should have selector tr search 1 end 难道本来就
  • 使用水豚复制粘贴?

    我想做这样的事情 div find some div copy to clipboard div input find my input paste from clipboard input 我不想用这个来模拟send keys并使用 Ct
  • 如何在 Capybara 中使用 ruby​​-debug 和 selenium

    我们让 Capybara 使用 selenium 驱动程序 但是当我尝试在步骤中使用 调试器 时 它不太工作 例如在调试控制台中输入 page 有效 但输入 page body 会挂起 当尝试将调试器与 akephalos 驱动程序一起使用
  • Capybara如何使用within_frame作为页面中唯一没有id的iframe

    我在页面中有一个需要用 Cucumber 和 Capybara 进行测试的 iframe 没有 class 或 id 属性 但它是 DOM 上唯一的 iframe 我怎样才能使用within frame水豚方法 use find获取元素并将
  • FactoryBot - 创建嵌套对象

    我正在学习如何在 Rails 中进行测试 并且正在为我的问题模型编写一个工厂 require factory bot FactoryBot define do factory question do sequence content n q
  • rspec 集成测试中的会话对象

    我正在使用 rspec 和 capybara 进行集成测试 他们是在请求规范中创建会话对象的一种方法吗 我有一个视图页面 在其中使用会话对象来检查其值以显示选择性内容 我面临的问题是我无法在请求规范中创建会话对象 这是视图的示例 conte
  • 水豚 & RSpec

    我无法让水豚成功工作 它抱怨说has text是一个未定义的方法 我创建了一个新的 Rails 3 1 项目 rails new test T Gemfile source http rubygems org gem rails 3 1 3
  • 水豚访问方法不起作用

    我不确定发生了什么 但我无法进行简单的测试 因为水豚的访问方法不适合我 我一直在努力完成这个 Railscast 正在测试 http railscasts com episodes 275 how i test 一旦我到达 Capybara
  • 如何在spec_helper.rb中为Capybara Webkit设置ignore_ssl_errors选项

    在我的spec helper 文件中 我有 Capybara javascript driver webkit capybara webkit 现在有一个ignore ssl errors我想使用的选项 如何在我的spec helper 中
  • rspec 中的水豚和 before(:all)

    这是我的完整规格 require spec helper describe Idea page js true do subject page before all do create idea visit root path click
  • 如何使用 css 模块调整网站上的水豚查找器?

    在我们的自动化测试中 代码中的典型行可能类似于 find edit icon click 我们正在我们的项目中使用 css modules 我被警告说类名可能会发生巨大的变化 一个非常滑稽的例子是这个网站在其类名称中使用表情符号 当您检查页
  • 水豚找到按钮但点击它没有任何反应

    更新 我删除了大部分 javascript 依赖项并且它起作用了 不知道哪个库或代码是邪恶的部分 我不需要它们 简单的表单 两个输入字段和一个按钮 fill in cellNumber with gt 13245678 fill in pa
  • RSpec+Capybara 请求规范 w/JS 不起作用

    使用 Javascript 时我无法使请求规范正常工作 我的规格pass如果我在没有 Javascript 的情况下运行它们 页面构建为可以使用或不使用 JS 具体来说 当我进行如下断言时 规范会失败Post should have 1 r
  • RSpec-rails-capybara - 使用 :js => true 和不使用 :js => true 时的不同失败

    我正在构建一个用于个人计费的设置屏幕 控制器 视图位于 Admin 命名空间中 当在没有 js gt true 的情况下运行第一个测试时 我遇到了一个失败 我认为这是由于该链接不能作为使用 js 脚本构建一组嵌套字段的帮助程序 基于 Rai
  • 多个水豚等待时间?

    我想要有不一样的Capybara我的代码中的等待时间取决于它们通常需要多长时间才能完全加载 我是否必须重复不断地改变Capybara default wait time或者 还有更好的方法 您可以使用使用等待时间 秒 http rubydo
  • 为什么没有像 ruby​​ 的 capybara for java 这样的无头 BDD 测试引擎?

    为什么没有 java 版本的 ruby capybara https github com jnicklas capybara https github com jnicklas capybara 这可以与 tomcat 或其他东西一起使用
  • capybara - 单击没有 id 的按钮

    我正在尝试单击此 html 代码中的按钮 div class modal footer div
  • 如何用水豚填充日期时间本地字段?

    我正在使用 Cocoon 添加记录 ID 看起来像workshop instance sessions attributes 1477654140 start time 目前 我正在遍历 DOM 并获取动态生成的 ID 这很好用 这样我就可
  • 如何阻止与 RSpec 和 Capybara 的外部连接?

    在我的 Rails 项目中 我想编写非理想条件的测试 例如缺乏互联网连接或超时 例如 我正在使用 gem 来联系 API 并且希望确保在我的应用程序和外部 API 之间存在连接问题时能够正确处理错误 我已经可以通过用录像机制作固定装置并从

随机推荐