2015-01-05 55 views
0

我基本上是试图学习机器人框架中的数据参数化(主要是基于Web的测试作为上下文)。我有4点,我期待得到覆盖。所有这四点都是相互关联的。如何在机器人框架中实现数据参数化

  1. 第一个 - 一个代码问题

    我一直在寻找重复使用循环列表变量的值和无法访问的第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工作表或csv或通过 集合表示页列表变量 参数化的格式,这是可能的 在机器人框架?需要关于 相同的示例和示例代码的帮助。我无法在互联网上找到有关 相同的内容。
  • 有关其他人如何通过 机器人框架进行数据参数化的其他想法。什么机器人框架工具或概念使用 相同?
  • 第三,我想知道是否有任何好的教程或 网站或视频来帮助学习机器人框架。 官方文档很好,但我正在寻找更多内容 示例明智的,以便使初学者能够更快地将 与概念联系起来。
  • 回答

    2

    1 NameError:名字“i”是没有定义

    当您使用扩展变量,语法,花括号内的一切由Python解释器进行评估。但是,代码中的i是一个机器人变量,而不是一个python变量。此外,要访问数组中的单个元素,您需要使用$而不是@。为了做到你想要什么,你需要做的是这样的:

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

    2.从Excel

    您可以创建一个机器人库,从CSV文件中读取的数据参数。你也可以用.xls文件来做到这一点。阅读csv文件的示例,请参阅此答案:https://stackoverflow.com/a/21859360/7432

    3.有关其他人如何进行数据参数化的其他想法?

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

    4.我想知道是否有任何好的教程或网站或视频

    问计指针教程和网站是关闭的堆栈溢出的话题。但是,您是否熟悉以下资源?