一种提升接口自动化测试效率的方法与流程

文档序号:30375991发布日期:2022-06-11 02:02阅读:451来源:国知局
一种提升接口自动化测试效率的方法与流程

1.本发明属于自动化测试技术领域,具体是一种提升接口自动化测试效率的方法。


背景技术:

2.自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
3.目前自动化测试已经是测试部门必不可少的测试手段,传统的自动化测试有如下几个缺陷:
4.维护测试脚本的成本太高,自动化测试的开发工作量远大于单次的手工测试,所以只有当开发完成的测试用例的有效执行次数大于等于5次时,才能收回自动化测试的成本。
5.测试的效率很大程度上依赖自动化测试的稳定性上,表现在测试用例的设计以及实现质量,不稳定的自动化测试用例实现比没有自动化更糟糕。
6.自动化测试开发人员必须具备一定的编程能力,这对传统的手工测试工程师会是一个挑战,好的测试框架不需要人人写代码。
7.低效的自动化测试会给团队带来不必要的成本消耗,反而降低工作效率。


技术实现要素:

8.本发明的目的在于克服现有技术的缺陷,提供一种提升接口自动化测试效率的方法。
9.为实现上述目的,本发明采用了如下技术方案:
10.一种提升接口自动化测试效率的方法,包括以下步骤:
11.s1添加项目模块;
12.s2添加测试用例;
13.s3创建任务;
14.s4执行测试任务;
15.s5查看测试结果。
16.优选的,所述步骤s1中,添加项目模块,包括:将项目模块名称与开发服务相关联。
17.优选的,所述步骤s2中,添加测试用例,包括:在单个接口下添加若干测试用例;
18.其中,用例信息包含:接口,用例名称,请求头,请求方式,接口是否有依赖,参数信息,断言。
19.优选的,所述步骤s3中,创建任务,包括:
20.根据测试场景创建任务,选择单个或者多个接口case;
21.创建成功后,后台自动生成测试用例脚本。
22.优选的,所述创建任务内容包括:任务名称,关联项目,选择模块,选择的接口以及接口case。
23.优选的,所述步骤s4中,执行测试任务,包括:页面触发执行按钮,执行测试任务。
24.优选的,所述步骤s5中,查看测试结果,包括:
25.运行测试用例后,安装pytest-html插件,保存测试的结果,生成测试报告,把运行的测试报告发送相关人员查阅。
26.优选的,在添加测试用例后,进行参数处理,包括以下步骤:
27.1)接口参数的处理;
28.2)被依赖接口的数据返回;
29.3)获取依赖数据;
30.所述步骤1)中,接口参数的处理,包括:
31.11)公共参数处理,包括:
32.数据格式从字典转化成字符串;
33.把接口参数名单独存在一个变量中;
34.将及时单参数值替换成获取系统当前时间;
35.预约单的参数值做特殊处理,当前时间+30min;
36.12)依赖参数处理,包括:
37.后端新增一个是否依赖的参数is_depend标识,is_depend的值由前端页面获取;
38.当is_depend的value值是0的时候,表示并无依赖;
39.当is_depend不等于0的时候,表示参数有依赖。
40.优选的,所述步骤2)中,被依赖接口的数据返回,包括:
41.21)获取依赖case的id:定义变量depend_id,前端页面获取depend_id,后端将case_id和depend_id进行关联,即depend_id就是被依赖的那条case的id;
42.22)组装数据:找到case之后将case的host,api,method,header,params,url组装好;
43.23)发起请求:使用request_get和request_post发起请求;
44.24)断言:responsecode=200的时候返回接口响应值;
45.所述步骤3)中,获取依赖数据,包括以下步骤:
46.31)定义变量存储依赖数据:
47.依赖casedepend_case,依赖参数depend_para,依赖返回值depend_resp;
48.32)传入依赖参数:
49.前端页面获取依赖参数value值,规定参数值格式,按照层级填写;
50.33)替换依赖参数。
51.优选的,后台自动生成测试用例脚本,包括以下步骤:
52.t1定义脚本模版;
53.脚本模版包括:
54.case_py:引入脚本所需包,初始化变量,控制模块级程序开始和结束;
55.interface_message:增加pytest装饰器,设置case优先级,并创建class测试类,将接口信息赋值给变量;
56.case_message:用于获取数据实例、请求数据、断言;
57.t2创建生成用例,包括:
58.t21定义用例的路径case_path;
59.t22对case信息进行读写操作:将模版信息写入到case_message中,并对模版中的接口信息变量和用例变量进行替换;
60.t3替换完成后写入到case_message。
61.综上所述,由于采用了上述技术方案,本发明的有益效果是:
62.本发明中,后台根据输入的参数自动对参数进行处理,并基于参数生成测试脚本,进行自动测试,并将测试结果通过运行的测试报告发送相关人员查阅,降低了人工成本,提高了自动化测试稳定性,降低了自动化测试门槛。
附图说明
63.图1是本发明一种提升接口自动化测试效率的方法的流程图。
具体实施方式
64.以下结合附图1,进一步说明本发明一种提升接口自动化测试效率的方法的具体实施方式。本发明一种提升接口自动化测试效率的方法不限于以下实施例的描述。
65.实施例1:
66.本实施例给出一种提升接口自动化测试效率的方法的具体实施方式,如图1所示,包括以下步骤:
67.s1添加项目模块;
68.s2添加测试用例;
69.s3创建任务;
70.s4执行测试任务;
71.s5查看测试结果。
72.进一步的,接所述步骤s1中,添加项目模块,包括:将项目模块名称与开发服务相关联。
73.进一步的,接所述步骤s2中,添加测试用例,包括:在单个接口下添加若干测试用例;
74.其中,用例信息包含:接口,用例名称,请求头,请求方式,接口是否有依赖,参数信息,断言。
75.进一步的,接所述步骤s3中,创建任务,包括:
76.根据测试场景创建任务,选择单个或者多个接口case;
77.创建成功后,后台自动生成测试用例脚本。
78.进一步的,接所述创建任务内容包括:任务名称,关联项目,选择模块,选择的接口以及接口case。
79.进一步的,接所述步骤s4中,执行测试任务,包括:页面触发执行按钮,执行测试任务。
80.进一步的,接所述步骤s5中,查看测试结果,包括:
81.运行测试用例后,安装pytest-html插件,保存测试的结果,生成测试报告,把运行的测试报告发送相关人员查阅。
82.进一步的,接在添加测试用例后,进行参数处理,包括以下步骤:
83.1)接口参数的处理;
84.2)被依赖接口的数据返回;
85.3)获取依赖数据;
86.所述步骤1)中,接口参数的处理,包括:
87.11)公共参数处理,包括:
88.数据格式从字典转化成字符串;
89.把接口参数名单独存在一个变量中;
90.将及时单参数值替换成获取系统当前时间;
91.预约单的参数值做特殊处理,当前时间+30min;
92.12)依赖参数处理,包括:
93.后端新增一个是否依赖的参数is_depend标识,is_depend的值由前端页面获取;
94.当is_depend的value值是0的时候,表示并无依赖;
95.当is_depend不等于0的时候,表示参数有依赖。
96.进一步的,接所述步骤2)中,被依赖接口的数据返回,包括:
97.21)获取依赖case的id:定义变量depend_id,前端页面获取depend_id,后端将case_id和depend_id进行关联,即depend_id就是被依赖的那条case的id;
98.22)组装数据:找到case之后将case的host,api,method,header,params,url组装好;
99.23)发起请求:使用request_get和request_post发起请求;
100.24)断言:responsecode=200的时候返回接口响应值;
101.所述步骤3)中,获取依赖数据,包括以下步骤:
102.31)定义变量存储依赖数据:
103.依赖casedepend_case,依赖参数depend_para,依赖返回值depend_resp;
104.32)传入依赖参数:
105.前端页面获取依赖参数value值,规定参数值格式,按照层级填写;
106.33)替换依赖参数。
107.进一步的,接后台自动生成测试用例脚本,包括以下步骤:
108.t1定义脚本模版;
109.脚本模版包括:
110.case_py:引入脚本所需包,初始化变量,控制模块级程序开始和结束;
111.interface_message:增加pytest装饰器,设置case优先级,并创建class测试类,将接口信息赋值给变量;
112.case_message:用于获取数据实例、请求数据、断言;
113.t2创建生成用例,包括:
114.t21定义用例的路径case_path;
115.t22对case信息进行读写操作:将模版信息写入到case_message中,并对模版中的
接口信息变量和用例变量进行替换;
116.t3替换完成后写入到case_message。
117.进一步的,接口依赖指的是接口b的参数值是由接口a的结果生成,在运行b接口时,自动调用a接口的生成参数。
118.通过采用上述技术方案:
119.接口自动化测试平台,针对网约车业务提供了平台化的接口自动化测试,页面化服务,后台自动生成测试脚本,执行脚本后自动发送报告给相关人员,降低了人工成本,提高了自动化测试稳定性,降低了自动化测试门槛。
120.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1