如何在Robot框架中传递命令行参数(测试数据参数)?可能吗?

时间:2018-07-19 04:56:34

标签: python-2.7 selenium robotframework

我想用多个测试数据运行测试用例(针对不同的国家)。能在Robot框架中实现吗?我一直在研究RIDE IDE。

下面是示例代码

<%= render @user_collections %>

我曾尝试在测试用例中传递参数,但它说健全性检查失败。当我在测试用例级别添加参数时,重置RIDE IDE中的更改。 我正在使用Python 2.7.14,RIDE 2.0a1

3 个答案:

答案 0 :(得分:5)

在《 Robot Framework用户指南》中,关于Configuring the Execution的Robot Framework有一整章。在本章中,将介绍passing variables via the command line

一个例子:

robot --variable OS:Linux --variable IP:10.0.0.42 my_test_suite_file.robot

然后您可以在脚本的任何位置使用变量${OS}${IP},因为它们是全局变量。

答案 1 :(得分:1)

在目标国家/地区添加变量,以防万一,并在运行开始时设置其值。仅代码的相关部分:

# put this just after the end of the Settings section
*** Variables ***
${country}    USA

*** Test Cases ***
Sample Test Case To Create Data for Multiple countries 
    Select Country      ${country}
    # the rest of your code

如果按原样运行,它将使用“美国”作为值;如果要覆盖,请在CLI上传递另一个值:

 robot --variable country:Mexico your_file.robot

答案 2 :(得分:1)

如果您使用的是pybot命令,请使用以下一种语法

pybot --variable Variable:Value ScriptName.txt

OR

pybot -v Variable:Value ScriptName.txt

多个变量

pybot -v Variable1:Value -v Variable2:Value ScriptName.txt

您可以直接在脚本中访问命令行变量值,而无需声明和重新分配。