公开/公告号CN116126689A
专利类型发明专利
公开/公告日2023-05-16
原文格式PDF
申请/专利权人 启赟数字科技(上海)有限公司;
申请/专利号CN202211578145.0
申请日2022-12-09
分类号G06F11/36(2006.01);
代理机构北京纽乐康知识产权代理事务所(普通合伙) 11210;
代理人唐忠庆
地址 200120 上海市浦东新区商城路518号内外联大厦18楼
入库时间 2023-06-19 19:35:22
法律状态公告日
法律状态信息
法律状态
2023-06-02
实质审查的生效 IPC(主分类):G06F11/36 专利申请号:2022115781450 申请日:20221209
实质审查的生效
2023-05-16
公开
发明专利申请公布
技术领域
本发明涉及计算机迭代开发技术领域,具体来说,涉及一种基于data driven数据驱动的 web自动化测试方法。
背景技术
目前在敏捷迭代开发的模式下,自动化案例实现与迭代变化的业务场景进度滞后,每个节点的关联性大,框架不易于扩展。现有框架对业务测试及开发使用人员,框架内编写自动化用例代码复杂、代码量大,特别是对于无编码能力的测试人员上手慢。在有限的版本迭代时间周期内,很难同时完成需求测试、需求研发及自动化测试用例编写。
目前的xml配置实现方式,不同的场景仅仅只有请求参数不同,xml和案例个数是一比一,编写起来代码量大,如果接口发生更新,xml的许多都需要更新。但是场景自动化用例接口组合困难、流程复杂,耗费时间长,不灵活扩展性;当业务快速发展,需要实现的自动化案例越来越多,随着业务系统微服务化,系统接口调用链路也变得长且复杂,接口迭代更新的速度变快,使用现有框架实现自动化案例编写跟不上需求迭代更新的变化。
针对上述问题,目前还没有有效的解决办法。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于data driven数据驱动的web自动化测试方法,能够克服现有技术的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种基于data driven数据驱动的 web自动化测试框架方法,包括如下步骤:
S1工作人员在本地编写自动化测试案例脚本代码;
S2将新增代码或优化的代码提交至远程git服务器;
S3 maven项目通过Jenkins集成,选择环境自动构建;
S4使用人员在Jenkins选择需要执行的环境,自动化测试案例脚本代码在该环境配置下的运行,并将运行结果展示在报告上。
进一步地,步骤S4中所述报告显示执行成功case数、运行失败case数及失败的具体原因。
进一步地,步骤S4中所述报告用于判断同步断言失败或数据库断言失败以及接口缺陷。
进一步地,步骤S4中自动化测试案例脚本代码通过前置处理节点、后置处理节点、http/dubbo/hession节点、断言节点、静态变量节点、sleep节点编写。
本发明的有益效果:本发明通过各节点组合使用可快速完成一个完整自动化测试案例的编写;对于复杂的场景用例可复用多个完整自动化测试案例组合,节点封装的实现方式对代码利用率高提高,且非专业人员也可更快速上手,完成自动化用例实现;随着业务的发展,自动化测试框架系统可灵活扩展节点,通过在框架中增加NodeProcessor类实现扩展功能,如可扩展实现阿里云消息体发送mq节点,可解耦业务系统强依赖,模拟上游系统发送mq消息,下游系统进行mq消费后进行业务逻辑处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的基于data driven数据驱动的 web自动化测试框架方法的流程框图;
图2是根据本发明实施例所述的基于data driven数据驱动的 web自动化测试框架方法的接口自动化案例组成图;
图3是根据本发明实施例所述的基于data driven数据驱动的 web自动化测试框架方法的付款场景用例流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明实施例所述的一种基于data driven数据驱动的 web自动化测试框架方法,执行流程如下:
Step1:测试人员及开发人员在本地编写自动化测试案例脚本代码;
Step2:将新增代码或优化的代码,提交至远程git服务器;
Step3:maven项目通过Jenkins集成,可选择环境自动构建;
Step4:使用人员,在Jenkins选择好需要执行的环境,自动化测试案例脚本代码会在这个环境配置下运行,并将运行结果展示在报告上,执行成功case数,运行失败case数及失败的具体原因;从报告中可判断是同步断言失败或是 数据库断言失败;测试人员或开发人员可通过生成的报告快速判断出,接口缺陷;可快速完成开发冒烟测试、测试人员回归测试及运维人员环境参数及配置修改,需回归测试 覆盖;为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
如图2所示,图2为一个接口自动化用例的处理节点组合的抽象化结构图:其中
1)处理节点、后置处理节点:
a.DB处理:对永久存储业务系统数据的数据库进行增、删、改、查操作;
c.Redis处理:对短时间存储业务系统的数据的Redis,进行增、删、改、查操作;
b.Xxjob处理:对中间键定时任务,通过指定的任务的唯一标识,触发某个定时任务;
e.Nacos处理:对于某个业务系统配置具体的nacos key值,修改value,实现自动修改系统静态配置的功能;
f.加密处理:对于我们公司通过网关对外提供的接口,或是通过网关调用外部渠道的接口;与外部接口交互,需要对接口请求的数据、接口返回数据进行加密处理;此功能是配置加密方式即可完成数据加密输出;
h.接口处理:需要调用具体的接口完成,数据构造或是数据删除;
2)http/dubbo/hession节点:
URL:接口请求地址;
Head:请求头不同值组成;
Body:请求参数;
Return:接口返回
URL、head、body、Return 组合成一个完整的请求发送及响应;
3)断言节点:
a.Return同步断言:对接口同步实时调用后返回数据值进行验证;实际值与期望值一致,断言成功;反之断言失败;
b.DB断言:对系统数据库插叙出来的值进行断言;实际值与期望值一致,断言成功;反之断言失败;
c.异步断言:需要配异步接收服务,将异步消息保存置数据库,再进行数据库验证;
4)静态变量节点、sleep节点
a.静态变量节点:对于系统中各种中间键:数据库、xxjob、redis、nacos存储的不同的环境 账户名、密码配置不同,以及不同环境接口域名、自定义变量等;开发环境:dev1、dev2;测试环境:sit1、sit2、sit3、uat;
b.sleep节点:每个接口处理的时长不同,会存在一些特殊场景,接口内部系统未处理完,自动化断言开始执行,这种情况需要对断言节点休眠,按秒为单位设置,延迟等待多少秒再执行断言节点;
在具体使用时,根据本发明所述的一种基于data driven数据驱动的 web自动化测试框架方法,如图3为付款场景用例流程图,其中:模拟商户登录系统,获取登录唯一标识;
模拟用户选择美元钱包账户,触发查询收款账户接口,获取收款账户唯一标识;
模拟用户输入付款金额1000美元钱包,触发查询可用余额接口的返回结果,验证其中美元钱包余额充足;
系统查询付款业务计算手续费的金额;
系统查询用户手机号,并向用户发短信验证码, 用户收到验证码,输入系统页面系统验证付款发起成功;
登录的唯一标识、已查询的钱包余额,选择的收款账号,计算的手续费金额,做为请求付款的要素,发起付款请求,在付款流程结束后,触发自动化测试系统规则:
1)模拟付款订单数据检查
a.是否有这条商户订单生成;b.系统自动检查商户订单表中的“交易金额”是否正确、“交易状态”是否正常等;
2)模拟渠道订单数据检查
是否有这条渠道订单生成;b.系统自动检查渠道订单表中的“交易金额”是否正确、“交易状态”是否正常等;
3)模拟钱包流水、记账分录检查
a.生成的钱包流水条数正确;b.系统自动检查钱包流水表中的“交易金额”、“币种”是否正确、记账分录表“借贷方向”是否正确等;
4)模拟检查钱包余额变动通知
a.消息通知表中是否有这条数据;b.通知模板内容正确等。
综上所述,借助于本发明的上述技术方案,本发明通过各节点组合使用可快速完成一个完整自动化测试案例的编写;对于复杂的场景用例可复用多个完整自动化测试案例组合,节点封装的实现方式对代码利用率高提高,且非专业人员也可更快速上手,完成自动化用例实现;随着业务的发展,自动化测试框架系统可灵活扩展节点,通过在框架中增加NodeProcessor类实现扩展功能,如可扩展实现阿里云消息体发送mq节点,可解耦业务系统强依赖,模拟上游系统发送mq消息,下游系统进行mq消费后进行业务逻辑处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: D哦 - data-driven computer
机译: D哦 - data-driven computer
机译: MAP DATA UPDATER DEVICE,MAP DATA UPDATER方法,MAP DATA UPDATER程序和MAP DATA UPDATER系统