python自动化框架RobotFramework灵活使用各种变量(八)

作者:科雷软件测试

前言

RobotFramework框架中我们之前合集的文章学习了如何使用内置库/编写用例/编写关键字/编写resource文件/执行用例等功能,本次主要给大家展示下RF框架下各类变量的使用方式。

学习目录

1、testsuite中定义变量

1.1 在testsuite中定义常量变量

1.2 在testsuite中定义List变量

1.3 在testsuite中定义Dict变量

2. 在测试案例或者keyword中定义常量变量、List变量、Dict变量

3. 变量作用域

4. 导入变量文件

5.执行用例时使用变量或者变量文件

5.1 执行用例语句中使用变量

5.2在执行用例中使用变量文件

1、testsuite中定义变量

1.1 在testsuite中定义常量变量

选择‘Add Scalar’,在弹出的对话框中,定义比如ip地址和端口变量

定义后如下,变量名称前面的符号为$。

在测试套件下创建的测试用例都可以引用上面定义的变量

用例执行后,正常打印变量值

1.2 在testsuite中定义List变量

选择‘Add List’,创建列表变量,比如定义多个端口列表

定义之后如下所示,变量名称前面的符号为@。

在测试用例中循环打印List变量

用例执行结果如下

1.3 在testsuite中定义Dict变量

选择‘Add Dict’,创建字典变量,比如定义多个IP地址和端口的字典

定义之后如下所示,变量名称前面的符号为&。

在测试用例中循环打印Dict变量值

用例执行结果如下

Tips:RF使用熟练后,可在文本文件中直接编辑如上变量,文件如下:

2. 在测试案例或者keyword中定义常量变量、List变量、Dict变量

常用到的关键字如下:更详细的描述请跳转内置库BuiltIn介绍

  • 使用Set Variable定义普通变量
  • 使用Create List 定义List变量
  • 使用Create Dictionary定义Dict变量

如上关键字是RF中默认BuiltIn中的常用关键字,可执行F5查看其他关键字用法。

3. 变量作用域

  • testcase里的变量,作用域在testcase内部。
  • userkeyword里的变量,作用域在userkeyword内部。
  • 文件型suite里的变量,作用域在suite内部,所有下级case都可以使用。
  • 目录型suite里的变量,作用域在目录内,但是它下级文件型suite是无法使用的,所以一般不在目录下新增变量。

变量的作用域是可以改变的,通过一些关键字的处理,对变量进行作用域的改变,常用的关键字有:

  • Set Global Variable为设定全局变量。当执行过这个设置后,这个变量在所有testcase和testsuite中都有效
  • Set Suite Variable为设定File Suite级变量。当执行过这个设置后,这个变量在当前的File Suite内都有效
  • Set Test Variable为设定Case级变量。当执行过这个设置后,这个变量在当前的Test Case内有效

4. 导入变量文件

1、创建一个.py文件,在文件中定义变量。举例:创建ip_port.py,变量设置如下:

#定义变量
ip_addr = '192.168.1.2'
port = 9090
port_list = [9090,2002,4005]
ip_port_dict={'ip_port_1':'192.168.1.2:9090','ip_port_2':'192.168.2.3:9091'}

2、在testsuite或者keyword、或者resource中导入变量文件。

3、 在测试用例中使用变量文件中的变量(如果导入多个变量文件,注意变量名称不要重复)

4、执行用例成功,结果如下:

5.执行用例时使用变量或者变量文件

5.1 执行用例语句中使用变量

1、在testcase中打印变量${ip_addr_enter},该变量没有事先定义。

2、再行执行用例中定义变量,添加-v参数,并执行,结果如下:

5.2在执行用例语句中使用变量文件

1、在project目录下创建config文件夹存放变量文件ip_port.py,文件中定义变量ip_addr_enter

ip_addr_enter = ‘192.168.1.2:9090’

2、执行用例时添加--variablefile参数,使用变量文件

总结:在RF中有多种定义变量、使用变量的方法,可以根据项目大小,个人喜好等灵活使用

共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能成就难能的功劳。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RobotFramework⽤法总结 ⽤法总结 今天总结下Robot Framework最基本的⽤法,⼀来呢,希望⾃⼰以后看到这篇总结,很快能回忆起如何使⽤Robot Framework。⼆来呢, 以初学者的姿态总结Robot Framework,希望帮助到刚⼊门,却⽆从下⼿的新⼿们,毕竟⽹上很多资料可能是⼀些⼤神整理的,跳跃性很 ⼤。 ⽬录 ⼀,环境的搭建 关于robotframework环境搭建请参考笔者的另外⼀篇博⽂: ⼆,最基本流程 2.1创建项⽬New Project File->New Project 注:选择directory原因是,在directory的项⽬下可以创建测试套件,如果是tpye为file,则只能创建测试⽤例,这不利于⽤例的管理。 2.2创建测试套件New Suite 右键项⽬Test,点击New Suite。 注:选择file原因是,在file的测试套件下可以创建测试⽤例,如果是tpye为directory,还得重新再继续建file的测试套件,才能创建测试⽤ 例,因为测试⽤例只能在file类型下创建。 2.3创建测试⽤例New Test Case 右键测试套件,点击New Test Case。 最终页⾯显⽰ 三,Ride各个⾯板说明 3.1测试套件⼯作区说明 3.1.1测试套件Edit区 ⼤体分成4个部分。 (1)加载外部⽂件 Library:加载测试库,主要是[PYTHON⽬录]\Lib\site-packages⾥的测试库。具体操作可查看博⽂下⽅的""。 Resource:加载资源,主要是你⼯程相关的资源⽂件。具体操作可查看博⽂下⽅的""。 Variables:加载变量⽂件,不怎么⽤,可暂时忽略。 (2)定义内部变量 Add Scalar:定义变量。 Add List:定义列表型变量。 Add Dict: (3)元数据定义 Add Metadata:定义元数据。 (4)settings ⼀般settings是隐藏的,点击settings按钮,则会显⽰。 Documentation:⽂档,每⼀项都有。可以给当前的对象加⼊⽂档说明。 Suite Setup指的是测试套件启动的时候就执⾏某个关键字。(例:我在Suite Setup设置了Sleep " 5sec,表⽰等待5秒,要注意关键字的参数 要使⽤ " 分隔) Suite Teardown指的是测试套件结束的时候就执⾏某个关键字。 Test Setup指的就是案例启动的时候执⾏某个关键字。 Test Teardown指的就是案例结束的时候执⾏某个关键字。 Test Template:测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键 字的传⼊参数即可。 Test Timeout:设置每⼀个测试案例的超时时间,只要超过这个时间就会失败,并停⽌案例运⾏。这是防⽌某些情况导致案例⼀直卡住不 动,也不停⽌也不失败。 Force Tags:在⽂件型Suite这⾥还可以继续给⼦元素增加Force Tags,但是他不能删除⽗元素设置的tags。 Default Tags:默认标记,其实和Force Tags没啥区别的。 Arguments:传⼊参数。 Return Value:返回值。 3.1.2测试套件Text Edit区 测试套件测试⽤例⽂本信息。 3.1.3测试套件Run区 Execution Profile:选择运⾏⽅式,⾥⾯有pybot、jybot和custom script。默认pybot即可。 Start:运⾏案例。若该测试套件下的测试⽤例前⽆勾选,则默认执⾏该测试套件下所有的⽤例。若测试⽤例勾选,则执⾏该测试陶见下勾选 的⽤例。 Stop:停⽌案例。 Report和Log: 报告和⽇志,要运⾏之后才能点击。他们的区别,报告更多是结果上的展⽰,⽇志更多是过程的记录,更多使⽤的还是⽇志。 Autosave: ⾃动保存,如果不勾选,在修改了案例之后如果没有保存的话,运⾏案例时会提⽰是否保存。勾选则在运⾏时⾃动保存了。 Arguments: pybot的参数(或者jybot等)。完整版的参数可以在doc命令⾏输⼊pybot.bat --help Only Run Tests with these Tags: 只运⾏这些标记的测试案例。在case的setting⾥可以添加tag。 Skip Tests with these Tags: 跳过这些标记的测试案例。在case的setting⾥可以添加tag。 3.2测试⽤例⼯作区说明 3.2.1测试⽤例Edit区 (1)settings Documentation:⽂档,每⼀项都有。可以给当前的对象加⼊⽂档说明。 Setup指的就是案例启
Robot Framework是一款业内著名且常用的关键字+数据驱动双内核自动化测试框架,简称为RF框架。它是一个开源的自动化测试框架使用简单且易于上手,特别适合自动化测试新手使用。 RF框架的特点包括: 1. 关键字驱动:RF框架使用关键字来描述测试步骤和操作,使得测试用例的编写更加简洁和易于维护。 2. 数据驱动:RF框架支持使用数据表格来组织测试数据,可以通过数据驱动的方式执行多组测试数据。 3. 插件化扩展:RF框架支持丰富的插件和库,可以方便地扩展功能,满足不同项目的需求。 4. 多语言支持:RF框架支持多种编程语言编写关键字库,包括Python、Java、.NET等,方便开发人员选择适合自己的语言进行开发。 5. 强大的报告和日志:RF框架提供了丰富的测试报告和日志功能,可以方便地查看测试结果和定位问题。 下面是一个使用RF框架编写的示例测试用例: ```robotframework *** Settings *** Library SeleniumLibrary *** Variables *** ${BROWSER} Chrome ${URL} https://www.example.com *** Test Cases *** Open Browser and Verify Title Open Browser ${URL} ${BROWSER} Title Should Be Example Domain Close Browser ``` 上述示例中,首先通过`Library`关键字引入了SeleniumLibrary库,然后定义了两个变量`${BROWSER}`和`${URL}`,分别表示浏览器类型和要访问的URL。接着定义了一个测试用例`Open Browser and Verify Title`,其中使用了`Open Browser`关键字打开浏览器,`Title Should Be`关键字验证页面标题,最后使用`Close Browser`关键字关闭浏览器。 通过以上示例,你可以看到RF框架的简洁和易用性。你可以根据自己的需求编写更多的测试用例,并使用RF框架提供的丰富功能进行自动化测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值