(二)Robot Framework的使用 实操(包含常用关键字、RF的使用)
一、RF的使用
1、New Project
---> >创建项目:
输入项目名称,选择项目路径,选择Dictionary目录,项目得是文件夹类型
操作:点击File --> 选择 New Project:输入Name,type选择Directory
2、New Resource
---> >创建业务关键字:
只能在文件夹下面创建,并且是txt格式,它是关键字的载体
操作:点击project文件夹的名称 --> 选择New Resource:输入Name,Format选择TXT --> 在Edit中导入需要用的库
需要在DOS命令下先安装类库:
pip install robotframework-seleniumlibrary
pip install robotframework-selenium2library
扩展库的位置:C:....\Python\Python37-32\Lib\site-packages
在导包的时候一定要和文件夹的名字一致,包括大小写
3、New User Keywork
---> >创建用户自定义关键字:
操作:点击resource文件的右键 --> 选择New User Keyword:输入Name --> 在edit中编写公用的方法
4、New Suite
--->>创建测试套件:
操作:点击project文件夹的名字 --> 选择New Suit ,输入Name,Type选择File,Format选择ROBOT
Edit 页签,主要有4个部分
Setting设置:描述
测试套件之前的准备工作
测试套件之后的扫尾工作
测试用例之后的准备工作
测试用例之后的扫尾工作
测试用例模板
测试用例超时的时间
强制标记:smoke
默认标记:product
5、New Test Case
---> >创建测试用例:
操作:点击Suite文件的右键 -- > 选择New Test Case ,输入Name -- > 调用已经创建好的 自定义关键字
---> >运行结果,勾选测试用例,运行并查看结果
二、RF常用的类库
1、标准库:不需要安装,直接用,RF自带
Builtin[测试库]
Collection[集合库]
DataTime[时间库]
ScreenShot[截屏库]
标准库的位置:C:...Python37-32\Lib\site-packages\robot\libraries
扩展库的位置:C:....\Python\Python37-32\Lib\site-packages
2、扩展库:需要通过pip安装(命令行提示符下,输入DOS命令)
Web自动化测试:SeleniumLibrary
pip install robotframework-seleniumlibrary
pip install robotframework-selenium2library
API接口自动化:RequestLibrary
pip install robotframework-requests
APP自动化测试:AppiumLibrary
pip instal robotframework-appiumlibrary
三、RF常用的关键字
(1)快捷键:搜索关键字:F5
自动补全关键字:Ctrl+shift+空格
(2)注释
Comment
(3)打印
Log
(4)定义变量
${变量名} Set Variable 变量值
(5)获取系统时间
Get Time
(6)睡眠
sleep
(7)字符串的拼接
Catenate
Catenate orcal mysql sqlserver
Catenate SEPARATOR='#' orcal mysql sqlserver #用‘#’来拼接
(8)创建列表
${list} Create List A B C
(9)创建字典
${dic} Create Dictionary key=value key1=value2 #创建字典
(10)执行Python里的方法
${random_number} Evaluate random.randint(1,100)
${time} Evaluate time.time()
(11)执行Python中的自定义方法
Import Library D:/test.py
${a} Evaluate int(a)
${b} Evaluate int(b)
${return_result) sum ${a}
(12)控制流程IF
${age} Set Variable 22
Run Keyword If ${age}>30 Log ..
ELSE IF 18<=${age}<=30 log ..
ELSE log ..
(13)流程控制FOR
FOR ${a} IN orcal mysql sqlserver
log ${a}
END
@{list} Create List orcal mysql sqlserver
FOR ${a} IN @{list}
Log ${a}
END
FOR ${a} IN RANGE 1 10
Log ${a}
END
FOR ${a} IN RANGE 1 10
RUN Keyword IF ${a}==5 Exit For Loop
Log ${a}
END
(14)截图
Take Screenshot
*** Settings *** Library SeleniumLibrary Library Selenium2Library *** Test Cases *** 变量 Comment RF的关键字 Log 打印 log 定义标量 ${var} Set Variable 标量 log ${var} log 时间 ${time} Get Time log 字符串拼接 ${str} catenate robtFrame work test log ${str} log 列表 @{var_list} create list robotFrame ${1} ${2} ${3} log many @{var_list} log 执行Python中的方法 ${var} evaluate list(@{var_list}) LOG ${var}[1:] log 字典 &{var_dict} create dictionary key1="业务测试" key2="测试开开发" key3="技术管理" key4="测试通用能力" log many &{var_dict} ${var} evaluate dict(&{var_dict}) log ${var}[key1] log 控制流程 if @{var_list1} create list robotFrame work test @{var_list2} create list robotFrame work test Run Keyword IF @{var_list1}==@{var_list2} log 0 ... ELSE log null Run Keyword IF 'works' in @{var_list2} log 1 ... ELSE log 2 log 控制流程for FOR ${a} IN @{var_list1} Log ${a} END
运行结果