1、Robot framework是基于python语言来开发的一个框架,本身提供了一个基础的功能。比如自带的Builtin库提供的关键字告诉我们如何定义变量、数组、字典、打印信息,分支语句和循环。已经框架本身所提供的“自动化”功能,如何组织用例,生成测试报告
- 定义变量:
${variable} | Set Variable | value |
---|---|---|
log | ${variable} |
- 列表:
@{list} | Create List | a | b | c |
---|---|---|---|---|
log many | ${list} |
- 字典:导入 Collections库
${dict} | Create Dictionary | a | 1 | b | 2 |
---|---|---|---|---|---|
或@{dict} | Create Dictionary | a=1 | b=2 | ||
log | ${dict} | ||||
log | ${dict[‘a’]} |
-
打印:log
-
分支语句:
${a}=1 | |||||
---|---|---|---|---|---|
run keyword if | ${a}>5 | log | 优秀 | ||
… | ELSE IF 0< ${a}<5 | log | 良好 | ||
… | ELSE | log | 不行 |
- 循环:
:FOR | ${i} | IN | @{list} |
---|---|---|---|
log | ${i} |
循环中断 Exit For Loop If ' ${i} ' == 'b'
一些基础关键字
catenate | 连接多个对象 | ||
---|---|---|---|
${hi} | catenate | hello | world |
separator= | 连接多个对象 | ||
${hi} | separator=— | hello | world |
get time | 时间操作 | ||
sleep | 设置休眠一定时间 | ||
evaluate | 生成随机数 | ||
${d} | evaluate | random.randiant(1000,9999) | random |
log | ${d} |
2、想实现某一类型的自动化测试,如接口,UI或移动APP的自动化,需要通过第三方Library完成
- 自定义库
在lib/site-packages目录下新建一个文件夹,然后建一个.py文件,一个__init__.py文件
这是MyTestLibrary.py文件内容
#-*- coding:utf-8 -*-
class MyTestLibrary(object):
def __init__(self):
pass
def add(self,a,b):
return int(a)+int(b)
这是__init__.py文件内容
#-*- coding:utf-8 -*-
from MyTestLibrary import MyTestLibrary
version= '1.0'
class MyLibrary(MyTestLibrary):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
3、robot framework的分层设计
数据、流程、案例分层