前面主要讲了自动化的基本使用,从界面UI到测试接口api,下面我们来具体说说实现的过程,和自动化中规范的框架和具体使用.
首先对于RF来说,我们可以将一个测试项目分为如下几层结构:
photo(1)Domain层
单功能最小细分层,不可再分.
(2)Infrastructure层
公共层,存放基础工具类
(3)Service层
负责组装调用Domain层,封装成业务的某一功能
(4)TestData层
测试数据层,里面可以存放python文件,提供给Domain调用,存放的是参数配置等信息
(5)TestCase层
单元测试层,通过new 一个Case可以调用service中的功能进行测试.
通过一个具体的例子来说明怎么去做接口测试的.
photo这里我们用了一个${url}=${login_url},意思就是说把url赋值成了局部变量,它先回去引用login_url的值,那么login_url怎么来的,就是在
引用外部py文件如果引用没有问题会是蓝色,一般存放在TestData目录下面,然后具体看看py文件怎么给定的值,
不用指定类型这里不用指定类型调用时候直接用${XXX}就可以得到值,如果运行在控制台中失败了, 应该有乱码问题,可以在带有中文的申明中前面加u,如:u{"中文"}.这样
API接口操作步骤:
(1)通过as拿到请求数据,地址,参数,返回值
as(2)将拿到的值copy到HiJson中格式化
hijson(3)分析每个值是固定还是变量,该不该抽取出来,比如说上图的signInfo下面有个id值,这里我们不知道这个id是固定的还是每次应该生成新的,这时候就需要看具体代码实现,如果代码中是写死的那就可以直接写死,如果代码是随即new出来的,那么我们在py中也需要随机new一个.
随机id 模拟时间(4)在py中定义好变量后我们就可以把变量赋值给指定的值
赋值(5)确定赋值没有问题后,在将值copy到我们的请求地址中
验证(6)运行验证.
验证获取JSON数据解析后替换并赋值给常量
json将返回的值保存在body变量中,然后取元素为TableResult,的第一个集合,中的TaskID值,获取出来的是带双引号的值,然后在用EValuate中替换,得到一个retuan1,把retuan1设置到py中自己定义的常量get_taskid中.
总结:
RF测试,具有易于使用、重用性好、功能全面、易于扩展等优点,可以提高工作效率、实现项目组快速推广并交付。
网友评论