Capybara::ElementNotFound:无法找到文件字段“文件”

2024-01-13

我正在测试文件上传,即 CSV。在我的代码和浏览器 HTML 中,我找到了文件字段,但在测试时,水豚无法找到该文件字段。我努力尝试不同的方法,但无法解决问题。这里部分看起来像这样:

#add_file_box
  %div.msg
  %h1.page-header
    = "Upload a CSV"
  %h4.title

  = form_tag dummy_path, multipart: true, class: "upload_csv" do
    = hidden_field_tag :dmp_id, @dmp.id
    .form-group
      .input-group
        %span.input-group-btn
          %span.btn.btn-primary.btn-file
            Choose file
            = file_field_tag :file, style: 'line-height: normal',  accept: "text/csv", class: "file_input"
        %input.form-control.input-custom{:readonly => "", :type => "text"}
    .form-group
      = submit_tag "Upload CSV", class: "btn btn-primary", id: "upload_csv"

水豚测试看起来像这样

 within '.upload_csv' do
     page.attach_file('file', "#{Rails.root}/spec/acceptance/test_uploads/input_output.csv")
     click_button 'Upload'
   end

如果您能帮我解决这个问题,我将不胜感激?


水豚 2x (水豚问题 https://github.com/thoughtbot/capybara-webkit/issues/546) 默认情况下不查找隐藏元素。

您可以将ignore_hidden_​​elements 设置为 false:

Capybara.ignore_hidden_elements = false

或者只需将 :visible 选项添加到您的方法中:

within '.upload_csv' do
  attach_file('file', "#{Rails.root}/spec/acceptance/test_uploads/input_output.csv", visible: false)
    click_button 'Upload'
end

这解决了我的问题。

Note: :visible大多数内部使用的 Capybara 方法也支持选项Capybara::Query (like find, all, has_css?, have_selector etc.)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Capybara::ElementNotFound:无法找到文件字段“文件” 的相关文章

随机推荐

  • 如何在mysql中进一步过滤GROUP BY记录?

    请检查我想要查询id 43 的完整行 以及另一个nic id最大query id行 的图像 但它只给我最大query id 我尝试了不同的查询 例如 SELECT Query id nic id date subject followup
  • Python-将Excel文件的不同工作表保存为单独的Excel文件

    新手 我有一个 Excel 文件 其中有 100 多个不同的工作表 每张纸包含多个表格和图表 我希望将每张工作表另存为新的 Excel 文件 我尝试了很多Python代码 但没有一个起作用 请在这方面提供帮助 谢谢 编辑1 为了回应评论 这
  • 检查字符串是否包含子字符串。另外,获取索引和匹配数(Raku)

    常见问题解答 在 Raku 中 如何检查String https docs perl6 org type Str包含子字符串 在哪里以及多少次 我想要 3 个功能 例如 xxx bool az and az and az again az
  • GNU、GCC 和 MinGW 之间有什么区别?

    我得知 GCC 不仅是一个编译器c questions tagged c但也适用于许多其他语言 这是真的吗 如果是这样 那么它是如何完成的呢 GNU 不是编译器 它是一个操作系统和一组自由软件 旨在 类 Unix 而不使用 Unix GNU
  • 64位函数返回32位指针

    这个函数被埋在一个复杂的嵌套中 所以实际上找到原因可能超出了我所能要求的范围 但我想知道是否有人能够提供一些关于我如何调试它的提示 这是我遇到问题的代码的要点 func1 c somestruct func1 somestruct myst
  • iOS - 如何判断本地通知是否导致我的应用程序进入前台?

    我的应用程序委托中有代码 application didReceiveLocalNotification 方法来显示UI警报视图对于本地通知 每当我的应用程序位于前台时 如果本地通知到达时我的应用程序在后台运行 则用户会收到该通知 并且能够
  • 如何仅使用 HTML 在 mozilla firefox 中打开本地文件?

    我正在尝试在 ubuntu 机器上使用 html 打开 Firefox 本地磁盘上的文件 但是 我面临文件未找到错误 我的代码如下 a href home abc workspace logfile log LOG FILE a 我尝试使用
  • 无法从包含库的应用程序启动意图

    您好 我想启动一项位于连接的图书馆项目中的服务 所有相关课程都在图书馆 该服务是从位于库中的活动调用的 Intent serviceIntent new Intent serviceIntent setAction org example
  • 如何在两个 Pandas DataFrame 对象上执行 SQL 样式不相交或设置差异?

    我正在尝试使用 Pandas 来解决一个白痴 DBA 没有对现已崩溃的数据集进行备份的问题 因此我正在尝试查找两列之间的差异 由于我不会详细说明的原因 我使用的是 Pandas 而不是数据库 我想做的是 考虑到 Dataset A A B
  • 自动装配 Spring JPA 存储库的 @Primary 等效项

    我在应用程序中使用 Spring JPA 存储库和实体 现在 在该应用程序的某种风格中 我需要扩展我的一个实体并提供一个扩展存储库 对于我需要覆盖 扩展的所有其他 bean 我只需创建一个新的实现并使用 Primary 对其进行注释 以便它
  • Android - 如何检索货币汇率[重复]

    这个问题在这里已经有答案了 我正在尝试为 Android 开发一个简单的外汇应用程序 首先 我需要获取过去一年的货币汇率 有人可以建议我该怎么做吗 我查看了 Google Financh API 但找不到如何检索货币汇率 任何建议表示赞赏
  • Clojure 时间和日期库是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我找不到处理时间和日期的库http clojure org libraries http clojur
  • 每个 SQL Server 外键都应该有一个匹配的索引吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 SQL Server 数据库中为每个外键都有一个索引有哪些优点 如果有的话 是的 这是一个很好的做法 请参阅此处 SQL Server 何时
  • React 在 prop 更新时重新渲染组件

    我的想法 理解是 只要 props 或状态发生变化 React 组件就会更新 所以我声明我的变量 let percentage width 10 并有一个setInterval运行这么长时间后更改该变量的函数 setInterval fun
  • MongoDB Compass 社区身份验证失败

    我刚刚创建了一个新的 MongoDB 帐户 现在尝试连接通过 MongoDB Compass 社区应用程序创建的免费集群 但显示 身份验证失败 错误 这是我到目前为止检查过的 在我的 MongoDB Clusters 部分 当我单击 Con
  • Sparklyr 无法看到在 Hive 中创建的数据库,反之亦然

    我在本地安装了 Apache Hive 并尝试通过 Rstudio sparklyr 读取表 我使用 Hive 创建了一个数据库 hive gt CREATE DATABASE test 我尝试使用以下 R 脚本读取该数据库 library
  • 为什么这种并行搜索和替换没有使用 100% 的 CPU?

    我有一个很长的推文列表 200 万条 我使用正则表达式来搜索和替换这些推文中的文本 我使用一个运行这个joblib 平行图 https joblib readthedocs io en latest parallel html joblib
  • 如何对 DefaultAzureCredential 方法进行单元测试

    我使用默认的 azure 凭据方法获取访问令牌 同时使用函数应用程序的托管标识获取访问令牌 我能够获取令牌 但现在我不确定如何对该方法进行单元测试 这是当前状态 private async Task RefreshTokenCache va
  • 如何在 SQL Server 2005 中查找谁锁定了谁

    我正在研究 SQL Server 2005 SP3 从活动监视器中 我注意到许多处理器被锁定在挂起模式 你知道如何找到谁锁定了我的进程吗 exec sp who 会告诉您哪些进程被哪些其他进程阻止 您还可以使用 exec sp lock 查
  • Capybara::ElementNotFound:无法找到文件字段“文件”

    我正在测试文件上传 即 CSV 在我的代码和浏览器 HTML 中 我找到了文件字段 但在测试时 水豚无法找到该文件字段 我努力尝试不同的方法 但无法解决问题 这里部分看起来像这样 add file box div msg h1 page h