[英]How to pass command line arguments (test data parameters) in Robot framework
我想使用多个测试数据(针对不同国家/地区)运行我的测试用例。 这可以在Robot框架中实现吗? 我一直在研究 RIDE IDE。
下面是示例代码:
*** Settings ***
Suite Setup Login to Application
Suite TearDown Logout and Close The Browser
Resource import all required resource files
***Test Cases ***
Sample Test Case To Create Data for Multiple countries
Select Country USA #here am hard coding the country value, instead I want to pass it in run time
Enter all required data
Click Submit
#sample resource file that has the keyword for selecting Country Drop down and fill other details
*** Keywords ***
Select Country
[Arguments] ${value}
Select From List By Label ${locator} ${value}
Input Text locator text value
我试图在测试用例中传递参数,但它说健全性检查失败。 当我在测试用例级别添加参数时,重置 RIDE IDE 中的更改。
我使用的是 Python 2.7.14,RIDE 2.0a1。
在机器人框架用户指南中有一整章是关于配置机器人框架的执行。 在本章中有一节是关于通过命令行传递变量的。
一个例子:
robot --variable OS:Linux --variable IP:10.0.0.42 my_test_suite_file.robot
然后您可以在脚本中的任何位置使用变量${OS}
和${IP}
,因为它们是全局变量。
添加具有目标国家/地区的变量,在案例中使用它,并在运行开始时设置其值。 只有代码的相关部分:
# 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
如果按原样运行,它将使用“USA”作为值; 如果要覆盖,请在 CLI 上传递另一个值:
robot --variable country:Mexico your_file.robot
如果您使用 pybot 命令,请使用以下语法之一
pybot --variable Variable:Value ScriptName.txt
或者
pybot -v Variable:Value ScriptName.txt
多变量
pybot -v Variable1:Value -v Variable2:Value ScriptName.txt
您可以直接在脚本中访问命令行变量值,而无需声明和重新分配。
例子。
pybot -v userId:admin -v password:123admin123 testLoginScript.txt
这种性质的任务的一个好方法是使用模板。 请参阅带有机器人框架的测试模板
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.