首页 > 解决方案 > 使用 Ruby Selenium 从 csv 文件输入数据以完成操作,直到列表完成

问题描述

我对 selenium ruby​​/rspec 脚本相当陌生,我遇到了一个用例,需要在测试中从 csv 或 xlsx 文件中提取数据。任何有关如何解决此问题的帮助或建议将不胜感激。

测试将从 csv 文件中提取并从每一行输入数据以完成相同的操作。此特定文件包含单列“id”,并且需要重复相同的操作,直到使用该列中的所有值。以下是基本步骤...

  1. 用户登录
  2. 用户从文件中提取第一个值(id)以在文本字段中搜索
  3. 用户针对此 ID 完成操作
  4. 用户返回文本字段并从同一文件的第二行提取值
  5. 用户针对此 ID 完成操作

这将重复,直到所有行都完成

这是否可以重复完成相同的方法但通过文件中的数据进行过滤?

您将如何将 csv 文件拉入脚本并在整个过程中专门获取第一个值(和后续值)?

我知道这很模糊,但我没有在 SO 和在线研究中看到任何这样的例子。任何建议或示例将不胜感激。

标签: rubycsvselenium-webdriverrspec

解决方案


我不确定我是否完全理解您的问题,但我可以尝试为您指明正确的方向。

Ruby 有一个内置的 csv 解析器,您可以在这里阅读:CVS 类

第一个示例似乎为您提供了您正在寻找的功能。我认为在您的示例中,您会想要执行以下操作:

CSV.foreach("path/to/file.csv") do |row|
  #I'm assuming ID is the first element in each row
  id = row.first
  method_that_does_stuff(id)

  # assert that stuff has happened ...
end

这对你有帮助吗?


推荐阅读