当前位置:网站首页>RobotFramework 之 Setup和Teardown
RobotFramework 之 Setup和Teardown
2022-08-09 13:06:00 【沉觞流年】
RobotFramework 之 初始化与清除
setup是测试一个用例(套件)前要进行的前置操作teardown是用例执行结束后的后置操作
在RF中,每个testsuit(测试套件目录和测试套件文件)、testcase(测试用例)都可以有自己的setup和teardown;所有的setup和teardown操作都只能用一个关键字语句构成
语法:
[Setup] + 关键字语句
[Teardown] + 关键字语句
在testcase中引入setup和teardown
*** Test Cases ***
用例1
[Setup] log to console 用例初始化开始
[Teardown] log to console 用例结束清除操作
log to console 用例主体部分1
log to console 用例主体部分2
log to console 用例主体部分3
log to console 用例主体部分4
log to console 用例主体部分5
用例2
log to console 用例主体部分1
log to console 用例主体部分2
log to console 用例主体部分3
log to console 用例主体部分4
log to console 用例主体部分5
执行这个用例,从执行结果可以发现,在执行用例主体部分前,执行了setup里的内容,用例主体执行结束,执行了teardown里的内容
==============================================================================
用例1 用例初始化开始
.用例主体部分1
.用例主体部分2
.用例主体部分3
.用例主体部分4
.用例主体部分5
.用例结束清除操作
用例1 | PASS |
------------------------------------------------------------------------------
用例2 用例主体部分1
.用例主体部分2
.用例主体部分3
.用例主体部分4
.用例主体部分5
用例2 | PASS |
------------------------------------------------------------------------------
Test11 | PASS |
2 tests, 2 passed, 0 failed
而没有引入setup和teardown的用例,则没有执行初始化和清除操作
在testsuit中引入setup和teardown
而在项目中,许多用例会用到相同的setup和teardown,比如都要用例执行之初用到打开浏览器进行登录操作,用例执行结束要关闭浏览器,总不能每个用例都行写上这两行代码吧,这样显得很累赘
所以,这时候就要用上套件级别的setup和teardown
而套件级别的setup和teardown的使用,有两种
Suit setup / teardown:进入和退出这个suit执行用例前后必须执行,且分别只执行一次Test setup / teardown:如果suit内的用例本身没有setup和teardown,才执行,且每个用例都执行一次
使用套件级别的setup和teardown,需要在Settings表中引入
语法:
*** Settings ***
Suite Setup + 关键字语句
Suite Teardown + 关键字语句
Test Setup + 关键字语句
Test Teardown + 关键字语句
在测试套件文件中引入setup和teardown
测试套件文件,也就是robot文件,一个robot文件中可以有多个测试用例
*** Settings ***
Suite Setup log to console Suite Setup级别用例初始化开始
Suite Teardown log to console Suite Teardown级别用例结束清除操作
Test Setup log to console Test Setup级别用例初始化开始
Test Teardown log to console Test Teardown级别用例结束清除操作
*** Test Cases ***
用例1
[Setup] log to console 用例初始化开始
[Teardown] log to console 用例结束清除操作
log to console 用例主体部分1
log to console 用例主体部分2
用例2
log to console 用例主体部分1
log to console 用例主体部分2
用例3
log to console 用例主体部分1
log to console 用例主体部分2
执行这个robot文件,可以发现
每一个测试用例,都执行了Suite Setup / Teardown级别的初始化和清除操作,且不影响原来用例中有的用例级别的Setup / Teardown初始化和清除操作
但由于用例1中有了用例级别的Setup / Teardown初始化和清除操作,所以Test Setup / Teardown级别的初始化和清除操作针对用例1没有执行,而用例2和用例3,每个都执行了一遍
Test1
==============================================================================
Suite Setup级别用例初始化开始
用例1 用例初始化开始
.用例主体部分1
.用例主体部分2
.用例结束清除操作
用例1 | PASS |
------------------------------------------------------------------------------
用例2 Test Setup级别用例初始化开始
.用例主体部分1
.用例主体部分2
.Test Teardown级别用例结束清除操作
用例2 | PASS |
------------------------------------------------------------------------------
用例3 Test Setup级别用例初始化开始
.用例主体部分1
.用例主体部分2
.Test Teardown级别用例结束清除操作
用例3 | PASS |
------------------------------------------------------------------------------
Suite Teardown级别用例结束清除操作
Test1 | PASS |
3 tests, 3 passed, 0 failed
==============================================================================
在测试套件目录中引入setup和teardown
新建一个 suite文件夹,下面新建两个robot文件
test1.robot
*** Test Cases ***
用例1
[Setup] log to console 用例初始化开始
[Teardown] log to console 用例结束清除操作
log to console 用例主体部分1
log to console 用例主体部分2
用例2
log to console 用例主体部分1
log to console 用例主体部分2
test2.robot
*** Test Cases ***
用例3
log to console 用例主体部分1
log to console 用例主体部分2
用例4
log to console 用例主体部分1
log to console 用例主体部分2
若要运行 suite目录下的所有测试用例,且都引入setup和teardown,则需要在 suite目录下新建一个 __init__.robot文件(注意命名,init前后都是两条杠),然后在该文件的Settings表中引入setup和teardown
*** Settings ***
Suite Setup log to console Suite Setup级别用例初始化开始
Suite Teardown log to console Suite Teardown级别用例结束清除操作
Test Setup log to console Test Setup级别用例初始化开始
Test Teardown log to console Test Teardown级别用例结束清除操作
使用命令 robot suit,运行测试套件, 执行suite目录下的所有测试用例
==============================================================================
Suite
==============================================================================
Suite Setup级别用例初始化开始
Suite.Test1
==============================================================================
用例1 用例初始化开始
.用例主体部分1
.用例主体部分2
.用例结束清除操作
用例1 | PASS |
------------------------------------------------------------------------------
用例2 Test Setup级别用例初始化开始
.用例主体部分1
.用例主体部分2
.Test Teardown级别用例结束清除操作
用例2 | PASS |
------------------------------------------------------------------------------
Suite.Test1 | PASS |
2 tests, 2 passed, 0 failed
==============================================================================
Suite.Test2
==============================================================================
用例3 Test Setup级别用例初始化开始
.用例主体部分1
.用例主体部分2
.Test Teardown级别用例结束清除操作
用例3 | PASS |
------------------------------------------------------------------------------
用例4 Test Setup级别用例初始化开始
.用例主体部分1
.用例主体部分2
.Test Teardown级别用例结束清除操作
用例4 | PASS |
------------------------------------------------------------------------------
Suite.Test2 | PASS |
2 tests, 2 passed, 0 failed
==============================================================================
Suite Teardown级别用例结束清除操作
Suite | PASS |
4 tests, 4 passed, 0 failed
==============================================================================
边栏推荐
- 面试攻略系列(三)-- 高级开发工程师面试问些啥?
- JZ7 重建二叉树
- WSA toolkit installed app store tip doesn't work how to solve?
- R 语言 2010.1至2021.12艾滋病每月发病人数 时间序列分析
- 搭建大型分布式服务(四)Docker搭建开发环境安装Mysql
- 蓝桥历届真题-门牌制作
- ARM board adds routing function
- 力扣解法汇总1413-逐步求和得到正数的最小值
- ftplib+ tqdm upload and download progress bar
- The sword refers to the offer, cuts the rope 2
猜你喜欢

Final assignment of R language data analysis in a university

面试攻略系列(三)-- 高级开发工程师面试问些啥?

现在40系显卡都快出来了,为何1060型号的显卡还有这么多人用?

快来扔鸡蛋。

Periodic sharing of Alibaba Da Tao system model governance

FFmpeg multimedia file processing (the basic concept of ffmpeg processing stream data)

微服务+微信小程序实现社区服务

5G China unicom repeater network management protocol real-time requirements

01_iTween_第一天--小球抛物线

GIN文件上传与返回
随机推荐
Ledong Fire Rescue Brigade was invited to carry out fire safety training for cadres
Q_04_07 进一步探索
19、学习MySQL 索引
The sword refers to the offer, cuts the rope 2
某高校的R语言数据分析期末作业
GIN a preliminary study, the environment is installed
CPU-MIPS32 instruction architecture (unlocked pipeline microprocessor)
X264性能优化
Anta and Huawei Sports Health jointly verify the champion running shoes and lead Chinese sports with innovation
eslint语法规则报错
R语言kaggle 游戏数据探索与可视化
问题系列-如何修改或更新localhost里的值
【奖励公示】第23期 2022年7月奖励名单公示:社区明星评选 | 新人奖 | 博客同步 | 推荐奖
关于做2D游戏时,Canvas边界显示在Game窗口的问题
FFmpeg多媒体文件处理(ffmpeg操作目录及list的实现)
NC61 两数之和
DCT变换与反变换
为什么文字不贴合边
面试攻略系列(二)-- 秒杀系统
An Offer 21. Adjust the array in order to make odd in even the front (loop invariant)