RobotFramework 之 资源文件
资源文件
资源(Resource):
用户关键字的集合。用来对用户关键字进行管理。
类比python中编写自己的类。
举例: 使用用户关键字方式登录163邮箱
登录163邮箱.robot
*** Settings ***
Library SeleniumLibrary
*** Keywords ***
登录网易邮箱
# 打开chrome浏览器访问163邮箱
open browser https://mail.163.com/ chrome
sleep 5
maximize browser window
# 切换到iframe
select frame xpath=//iframe[contains(@id,'iframe')]
# 用户名输入框中输入 用户名
sleep 2
input text xpath=//*[@name="email"] 你的用户名
sleep 2
# 密码输入框中输入 密码
input text xpath=//*[@name="password"] 你的密码
sleep 2
# 点击登录按钮
click element xpath=//*[@id="dologin"]
sleep 10
*** Test Cases ***
网易邮箱
登录网易邮箱
可以发现,在该文件中的测试用例中调用 登录网易邮箱
关键字,执行了登录网易邮箱的操作。
新建一个test.robot
文件
*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
网易邮箱2
登录网易邮箱
执行test.robot
文件,报错,找不到 登录网易邮箱
关键字
在测试套件文件中定义关键字,只能在本测试套件中有效,无法共享给其他测试套件使用
这时候,就需要引入 资源文件
这一概念了:
资源文件
其实就是RF层面的库文件(不能包含测试用例表),里面的内容为共享的变量和关键字
导入资源文件
新建一个 common.robot
文件
common.robot
*** Settings ***
Library SeleniumLibrary
*** Keywords ***
登录网易邮箱
# 打开chrome浏览器访问163邮箱
open browser https://mail.163.com/ chrome
sleep 5
maximize browser window
# 切换到iframe
select frame xpath=//iframe[contains(@id,'iframe')]
# 用户名输入框中输入 用户名
sleep 2
input text xpath=//*[@name="email"] 你的用户名
sleep 2
# 密码输入框中输入 密码
input text xpath=//*[@name="password"] 你的密码
sleep 2
# 点击登录按钮
click element xpath=//*[@id="dologin"]
sleep 10
关闭浏览器
close browser
通过在测试用例文件的Settings
表中Resource common.robot
导入资源文件,即可使用 资源文件
里共享的变量和关键字
的内容
test.robot
*** Settings ***
Library SeleniumLibrary
Resource common.robot
*** Test Cases ***
网易邮箱2
登录网易邮箱
log to console 这里是用例主体部分
关闭浏览器
此时执行test.robot
文件,就不会产生报错了
资源文件与用例前置、后置结合使用
在大多数时候,登录会变成测试套件的用例前置的内容,关闭浏览器是用例后置的内容,所以,通常在测试套件中,会这样来写
test.robot
*** Settings ***
Library SeleniumLibrary
Resource common.robot
Suite Setup 登录网易邮箱
Suite Teardown 关闭浏览器
*** Test Cases ***
用例1
log to console 这里是用例主体部分
用例2
log to console 这里是用例主体部分
使用 套件级别的 Suite Setup
,将登录网易邮箱
关键字作为前置内容,将关闭浏览器
关键字作为后置内容,执行用例1
和用例2
前就已执行登录操作,用例1
和用例2
执行结束,关闭浏览器
资源文件
的作用是对用户关键字进行管理,将重复的内容提取出来,简化测试用例中的操作步骤