如何在机器人框架中进行数据参数化
How to data parametrization in robot framework
我基本上是在尝试学习机器人框架中的数据参数化(主要以基于网络的测试为背景)。我有 4 点我希望得到覆盖。这四点都是相互关联的。
第一个 - 代码问题
我正在寻找使用 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 个元素处的列表变量的值。
列表变量类似于数组吗?
- 我想将值传递给数据输入表单中的文本框
通过 excel sheet 或 csv 或通过 a
表示页面的列表变量的集合,这可能吗
在机器人框架中?需要有关示例和示例代码的帮助
相同的 。我在互联网上找不到太多关于
一样。
- 关于其他人通常如何进行数据参数化的任何其他想法
机器人框架。使用了哪些机器人框架工具或概念
同样?
- 第三,想知道有没有什么好的教程或者
一般帮助学习机器人框架的网站或视频。这
官方文档很好,但我正在寻找更多内容
示例明智,以使初学者能够联系起来
更快地理解概念。
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
我基本上是在尝试学习机器人框架中的数据参数化(主要以基于网络的测试为背景)。我有 4 点我希望得到覆盖。这四点都是相互关联的。
第一个 - 代码问题
我正在寻找使用 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 个元素处的列表变量的值。 列表变量类似于数组吗?
- 我想将值传递给数据输入表单中的文本框 通过 excel sheet 或 csv 或通过 a 表示页面的列表变量的集合,这可能吗 在机器人框架中?需要有关示例和示例代码的帮助 相同的 。我在互联网上找不到太多关于 一样。
- 关于其他人通常如何进行数据参数化的任何其他想法 机器人框架。使用了哪些机器人框架工具或概念 同样?
- 第三,想知道有没有什么好的教程或者 一般帮助学习机器人框架的网站或视频。这 官方文档很好,但我正在寻找更多内容 示例明智,以使初学者能够联系起来 更快地理解概念。
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