繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM