使用 Watir 将多个文件传递到输入节点(使用 Ruby)

2023-12-05

所以我遇到了一些障碍。我正在尝试自动化一个测试用例,其中我需要将多个文件传递到输入节点,但我不知道如何执行此操作。我可以使用 Mechanize 或 Watir,但在自动化领域似乎相对重要的主题上发现的信息很少。在下面的代码片段中,我将 Watir 与 Ruby 结合使用。我遇到的主要问题是,当选择多个文件时,输入节点似乎不再可见。输入节点确实接受多个文件,并且传入单个路径确实会导致上传成功,就像这样。

path1 = "/path/to/file.json"
file_field.set path1

我认为传递多个文件就像传递一个字符串一样简单,其中多个路径由某种分隔符分隔。然而,我对网络开发并不是特别精通,并且正在努力掌握我应该从哪里开始。当我尝试像这样传递多个文件时:

multiple_paths = ("/path/to/file1.json"; "/path/to/file2.json")
file_field.set multiple_paths

它会上传第二个文件,但不会上传第一个文件(让我觉得可能是按顺序上传它们,而第二个文件是覆盖)。

您认为使用 Watir 可以做到这一点吗?我知道 Chrome 有一个使用 \n 作为分隔符上传多个文件的解决方法,Firefox 是否有类似的解决方法?


目前 Firefox 似乎没有解决方法。如果有人知道,请发布答案,因为我在任何地方都找不到解决方案。我想我应该在这里发布 Chrome 的解决方案,因为这方面的资源很少。

如果您需要测试多个文件上传,请让该特定实例加载 Chrome 驱动程序:

@browser = Watir::Browser.new :chrome, :prefs => profile

然后你需要向它传递一个看起来像这样的字符串:

paths = "path/to/first/file.json\npath/to/second/file.json\n...etc
file_field.send_keys paths
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Watir 将多个文件传递到输入节点(使用 Ruby) 的相关文章

随机推荐

  • .net 3.5 中深度/递归对象比较的 C# 实现

    我正在寻找 C 特定的 开源的 或可用的源代码 递归或深度对象比较的实现 我目前有两个活动对象的图表 我希望将它们相互比较 比较的结果是图表中的一组差异 这些对象是运行时 但不一定在编译时 已知的一组类的实例 有一个特定的要求 即能够从图表
  • 应用程序迁移期间要记住的事项:ColdFusion 到 Spring

    这个问题是关于移民项目的 目前遗留应用程序位于 ColdFusion 中 我们希望将其迁移到 Spring 框架 所以我的主要问题是 考虑移民项目时需要注意哪些事项 在考虑从 ColdFusion 迁移到 Spring Framework
  • 如何使用AndroidViewClient连接多个设备

    我想使用 AndroidViewclient 连接到两个多个设备 device1 device2 以自动执行测试用例 其中我必须从 device1 拨打电话并在 device2 上接收呼叫 请帮忙如何同时连接两个设备 Update cule
  • Java Reflection:按声明顺序获取字段和方法

    有没有办法使用反射按声明顺序获取类声明的字段 和方法 根据文档 返回的方法和字段的顺序getFields getDeclaredFields 等未定义 可以使用注释来指定索引之类的内容 如建议的那样Java反思 类字段和方法的顺序是否标准化
  • 未定义的类常量(PHP 5.5.3)中未定义的类常量“MYSQL_ATTR_INIT_COMMAND”

    我有一个连接到远程数据库的配置文件 但是我不断收到一个我不知道如何修复的错误 在早期版本中 这本来是一个错误 但我认为它会在 5 5 3 中修复
  • Java 7u55 Eclipse 系统片段类加载器

    在以前版本的 Java 中 我能够使用具有大量系统包的片段来为引导类加载器提供类 在我的特定情况下 这是为了支持在 Eclipse 中使用 Jacorb 在 Java 7u55 之前 这一切都运行良好 我创建了一个 osgi 片段 其中包含
  • Oracle 的 Dataframe 创建具有区分大小写列的表

    火花 2 1 1 我正在拯救我的dataframe as an Oracle表 但生成的 Oracle 表有 区分大小写 列 val properties new java util Properties properties setPro
  • RapidMiner 在 Java 应用程序中的集成

    我在 RapidMiner 中有一个文本分类过程 它从指定的Excel表格中读取测试数据并进行分类 我还有一个小型 Java 应用程序 它正在运行这个进程 现在我想在我的应用程序中创建文件输入部分 以便每次我都能够从我的应用程序 而不是从
  • 沿一个方向偏移多段线

    我正在寻找一种方法来偏移通过 xy 坐标在一个方向 在 R 中 定义的任意曲线 我可以使用 polyclip 包在两个方向上偏移曲线 library polyclip gt polyclip 1 10 0 built from Clippe
  • 为什么哈希图查找是 O(1) 即常数时间?

    如果我们从 Java 的角度来看 那么我们可以说 hashmap 查找需要恒定的时间 但内部实施又如何呢 它仍然需要在特定的存储桶 哪个键的哈希码匹配 中搜索不同的匹配键 那么为什么我们说哈希图查找需要恒定的时间呢 请解释 在对所使用的哈希
  • 闪亮的 Favicon 使用 URL 但不使用本地文件路径

    我正在尝试向我的 R Shiny 应用程序添加一个图标 并且我想使用本地图像文件 以便它可以在没有互联网连接的情况下运行 使用埃姆斯给出的例子here我有一个程序 当它使用 NOAA 徽标的 url 时 它将显示网站图标 但是 当我将该确切
  • Delphi 中的这些 Windows API 签名有什么区别?

    在 Delphi 中查看 Windows pas 我发现有几个签名 LoadLibrary A or W 用于加载特定模块 它们之间有什么区别 我是否可以相信始终为所有类型的 Windows 平台调用 LoadLibrary Windows
  • c# GDI+,在循环中创建 LinearGradientBrush(内存泄漏)

    今天我遇到了一个两难的境地 我创建了一个使用 GDI 在表单上绘图的应用程序 每秒由计时器触发绘图 draw 方法使用 for 循环来迭代对象集合 如果它们处于某种状态 则绘制它们 我想使用 LinearGradientBrush 来绘制它
  • 使用服务别名进行依赖注入

    在我的应用程序中 我有短信服务 该服务是一个简单的 POPO 它采用驱动程序的实例来执行实际的 SMS 功能 想象一下我有两个司机 mock driver and gateway driver它们在中被定义为类似的东西services部分
  • 在 r 中重组数据:reshape、dcast、melt...似乎对此数据框不起作用

    这是我导入的数据帧的前几行的示例 在完整数据集中 主题变量总共有五个级别 因子 其他两个是代数 II 和几何 SID firstName lastName subject sumScaleScore sumPerformanceLevel
  • Powershell:从同一对象中引用另一个对象属性中的对象属性?

    晚上好 各位 只是一个小问题 是否有可能 我知道我可以通过将其称为空对象然后一一添加属性来做到这一点 Obj New Object PSObject Obj name hello Obj type Obj name world 有没有办法将
  • 如何访问文档文件夹

    我已将所有日志重定向到应用程序文档文件夹中的文件 我知道如何通过 xcode 访问它 我必须将我的 ipad 连接到 MAC 并在 xcode 中通过 Organizer gt device 我可以访问文档文件夹 现在我想在没有 xcode
  • 如何有效地查找 Firebase 中一组节点是否包含另一组节点中包含的元素?

    我正在构建一个社交媒体数据库架构 其中有用户 关注者 标签和帖子 为了符合 firebase 模型 我按照 firebase 文档中的建议展平了结构 如下所示 我遇到的问题是 当用户选择一个标签并看到 tagPosts 表中的一堆帖子均与返
  • INT 数据库字段与 VARCHAR 类型的比较

    我有以下存储过程 没有编写完整的存储过程 但其中一些是 course int null SET query query Where course id cast course as varchar 我想知道我何时将 course 转换为 V
  • 使用 Watir 将多个文件传递到输入节点(使用 Ruby)

    所以我遇到了一些障碍 我正在尝试自动化一个测试用例 其中我需要将多个文件传递到输入节点 但我不知道如何执行此操作 我可以使用 Mechanize 或 Watir 但在自动化领域似乎相对重要的主题上发现的信息很少 在下面的代码片段中 我将 W