如何在机器人框架中进行数据参数化

How to data parametrization in robot framework

我基本上是在尝试学习机器人框架中的数据参数化(主要以基于网络的测试为背景)。我有 4 点我希望得到覆盖。这四点都是相互关联的。

  1. 第一个 - 代码问题

    我正在寻找使用 for 循环迭代列表变量的值,但无法访问第 n 个值。

我可以毫无错误地使用以下内容:

Input Text  //textarea[@id="MainContent_txtAddress"]    @{Address}[1] 

但是当我使用 for 循环访问值时出现此错误:

Starting test: RobotFrameworkcode.Nsure.ForLoop
20150105 18:26:05.484 :  FAIL : Resolving variable '${jobcode[i]}' failed: NameError: name 'i' is not defined
Ending test:   RobotFrameworkcode.Nsure.ForLoop

导致错误的 for 循环片段。

ForLoopTest
    : FOR    ${i}    IN    Range    |0|    |1|
    \    Log to Console    @{jobcode[i]}

有没有更好的方法来访问第 n 个元素处的列表变量的值。 列表变量类似于数组吗?

  1. 我想将值传递给数据输入表单中的文本框 通过 excel sheet 或 csv 或通过 a 表示页面的列表变量的集合,这可能吗 在机器人框架中?需要有关示例和示例代码的帮助 相同的 。我在互联网上找不到太多关于 一样。
  2. 关于其他人通常如何进行数据参数化的任何其他想法 机器人框架。使用了哪些机器人框架工具或概念 同样?
  3. 第三,想知道有没有什么好的教程或者 一般帮助学习机器人框架的网站或视频。这 官方文档很好,但我正在寻找更多内容 示例明智,以使初学者能够联系起来 更快地理解概念。

1. NameError: 名称 'i' 未定义

当您使用扩展变量语法时,花括号内的所有内容都由 python 解释器计算。但是,代码中的 i 是机器人变量,而不是 python 变量。此外,要访问数组的单个元素,您需要使用 $ 而不是 @。为了做你想做的事,你需要这样做:

Log to Console    ${jobcode[${i}]}

2。来自 excel

的参数

您可以创建一个从 csv 文件读取数据的机器人库。您也可以使用 .xls 文件执行此操作。有关读取 csv 文件的示例,请参阅此答案:

3。关于其他人如何进行数据参数化还有其他想法吗?

我的团队使用 YAML 文件来定义测试数据。也可以从 XML 文件或任何其他可通过 python 读取的格式中读取。 Robot 允许您将 python 方法公开为关键字,因此您可以在 python 中执行的任何操作都可以在机器人测试中执行。

4。想知道有没有好的教程或者网站或者视频

询问教程和网站的指针与堆栈溢出无关。但是,您熟悉以下资源吗?

可以使用 csv 或 excel 数据源实现参数化。我们的团队使用 excel 实现了它,分享可以帮助

的参考代码

http://www.ufthelp.com/2016/01/robot-framework-working-with-excel_28.html