技术中台之DevOps自动化测试实践(2)

来源:分析测试技术与仪器 【在线投稿】 栏目:综合新闻 时间:2021-02-10
作者:网站采编
关键词:
摘要:6、 下图为笔者根据使用场景和需求,设计的RF接口自动化的基本框架: 这里将rf框架封装为5层:工具类层、关键字层、基础数据层、测试数据层和用例层




6、下图为笔者根据使用场景和需求,设计的RF接口自动化的基本框架:




这里将rf框架封装为5层:工具类层、关键字层、基础数据层、测试数据层和用例层。


工具类层:若rf已存的关键字不满足需求,可自行编写py函数实现;


关键字层:将复用率高的代码块进行提取封装,成为新关键字。例如:





点击“Test cases”Tab页,可以表格形式展示rf测试用例;也可切换到“source”Tab页,直接以源码形式展示,看个人习惯选择视图编写脚本即可;




测试数据层:分为“sql脚本” 和“ py文件”两类。








测试用例层:使用关键字,编写测试用例脚本。


获取测试数据组,利用FOR循环,根据测试数据的List长度【即测试数据组数】遍历请求参数:




发送相应请求,获取返回值,同时校验返回值是否与预期相符:



关键字assertResult:为自定义关键字,参数有三个:接口返回值response、当前接口校验数据List、测试数据下标,若返回值状态码与预期状态码一致,则继续通过testcase关键字校验responseContent值是否与预期值相等,若状态码不相等,则直接跳过进入下一循环【这里校验和测试数据需严格按照“下标一一对应”规则 ,否则在校验时则无法正确匹配,且测试数据有几组,则校验数据也应有几组,否则将报错】。




关键字testcase:有两个参数:response返回值和对应的校验数据,主要用作responseContent内容与校验数据的比对,若校验数据中所有key对应的value值,都与responseContent里同一key的value值相同【responseContent包含校验数据】,则校验通过。


总结:


1、预置测试数据和校验数据(通过sql脚本和Py文件中存储List类型数据) ;

2、通过testcase前置条件,连接数据库并执行sql脚本初始化数据,且进行登录操作,将“认证”值设置为全局变量,供后续接口使用;

3、编写测试用例,利用for循环遍历测试数据,发送请求,并获取同List下标的校验数据,进行返回值的校验;


至此整个测试流程结束。小伙伴们get到我的整个框架设计了吗?


四、如何在DevOps中

执行RF脚本并生成测试报告

到这里可能会有人问:测试报告和日志如何处理?这时候就要结合我们的DevOps产品,前言讲过DevOps为自动化测试做了哪些工作,是的,就是利用DevOps集成的rf任务,和拉取代码库代码任务,进行rf脚本的执行,执行完毕后,会将生成的测试报告存储在:与发布到nexus的工件路径一致。


1)添加Robotframework任务,输入测试用例路径以及介质仓库,选择测试执行机(测试执行机需提前安装好robotframework运行环境),点击执行。




2)robotframework任务执行完毕后,点击进入“自动化测试”tab页,显示本次运行相关信息(包括测试环境、运行开始结束以及持续时间)和测试报告、日志链接。




查看每次运行后的测试报告。这就让我们的自动化工作变得更加简单,只考虑如何将测试用例写好即可,无需考虑CICD工作。


题外话:


普元devops产品,以自身提供的RF自动化测试功能为基础,极大程度的简化了自动化测试的CICD工作,让测试工程师更专注于维护测试用例和框架的编写,且提供自动化测试报表,让自动化过程透明化。整个rf框架历时两个月,中间不断修正,在这个过程中又接触到其他的自动化测试方案,还有很多需要完善和更改的地方,期待后面的框架订正吧【测试数据将更改为写在excel中,从excel中读取测试数据,并将每条测试用例的测试结果写在excel中】。欢迎各位小伙伴来沟通RF或者其他自动化测试方案~

文章来源:《分析测试技术与仪器》 网址: http://www.fxcsjsyyq.cn/zonghexinwen/2021/0210/437.html



上一篇:现代燃料电池汽车NEXO技术解析
下一篇:技术分析——闻泰科技,功率半导体芯片龙头股

分析测试技术与仪器投稿 | 分析测试技术与仪器编辑部| 分析测试技术与仪器版面费 | 分析测试技术与仪器论文发表 | 分析测试技术与仪器最新目录
Copyright © 2018 《分析测试技术与仪器》杂志社 版权所有
投稿电话: 投稿邮箱: