Robotframework初始化清除
-
Setup
:用例执行前准备测试环境(例如打开浏览器等,可打开一个空的浏览器,后续使用Go To
关键字访问具体的网址) -
Teardown
:用例执行后恢复测试环境(例如关闭浏览器等)
即使测试用例执行失败被终止,
Teardown
也会继续执行。
初始化清除的三种级别
- suit级别:套件初始化清除
写在Settings或文件所在目录的init文件中,无论用例中是否含有初始化语句,都会执行此初始化清除语句,且仅在开始和结束的时候执行一次。
*** Settings ***
Suite Setup 关键字
Suite Teardown 关键字
- test级别:用例初始化清除
写在Settings或文件所在目录的init文件中,当用例中不含初始化语句时,会执行此初始化清除语句,当用例中含有初始化清除语句时,则执行用例中的初始化化清除语句,不执行此语句。
*** Settings ***
Test Setup 关键字
Test Teardown 关键字
- 内部级别:用例初始化清除
写在具体用例中,仅作用于此用例的初始化清除语句。
*** Test Cases ***
test case01
[Setup] 关键字
[Teardown] 关键字
初始化清除同时执行多个关键字
用例执行过程中初始化清除的操作有时候不止一个关键字,此时需要如何处理呢?
- 方法一:将多个关键字封装为一个关键字
- 在robot中直接封装
- 在python中封装(函数)
- 方法二:使用
run keywords
后直接应用多个关键字,每个关键字之间用AND
连接(此处AND
必须是大写)。
*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
演示用例
[Setup] run keywords close all browsers AND log to console \n初始化-关闭浏览器 AND log to console 小尾巴
[Teardown] run keywords close all browsers AND log to console \n清除-关闭浏览器 AND log to console 小尾巴
open browser //www.greatytc.com/u/07e55a71f5dd chrome
${title} get title
log to console \n${title}
实例(三种级别执行顺序及优先级演示)
本用例中使用
log
关键字将相应的话术打印到日志文件中,以便于更清晰的了解用例执行过程,实际应用中应使用具体的关键字来定义初始化删除动作。
*** Settings ***
Library SeleniumLibrary
Suite Setup log \n---初始化suitesetup
Suite Teardown log \n---清除suiteteardown
Test Setup log \n---初始化testsetup
Test Teardown log \n---清除testteardown
*** Test Cases ***
test case 1
log 用例 test case 1 无setup
test case 2
[Setup] log \n---自带初始化setup case2
[Teardown] log \n---自带清除teardown case2
log 用例 test case 2 自带setup
test case 3
log 用例 test case 3 无setup
test case 4
[Setup] log \n---自带初始化setup case4
[Teardown] log \n---自带清除teardown case4
log 用例 test case 4 自带setup
test case 5
log 用例 test case 5 无setup