admin 管理员组文章数量: 1087652
2024年4月19日发(作者:treeset的特点)
ISSN1009-3044
Computer
Knowledge
Knowledge
and
and
Technology
Technology
电脑知识
电脑知识
与技术
与技术
Computer
Vol.17,No.8
March
2021
E-mail:*************.cn
第17卷第8期(2021年3月)
http://
Tel:+86-551-6569
接口自动化测试框架设计优化与实现
孙立哲
(公安部第三研究所,上海201204)
摘要:随着浏览器技术的迭代更新,文档对象技术在一些主流浏览器版本中不再受支持,前期设计的轻量级接口自动化测
试框架中结果统计分析与展示模块因而功能不能正常使用。基于此,本文对前期设计的轻量级接口自动化测试框架做了
一定的设计优化,将用于记录测试用例及结果的XML文件结构设计优化为MySQL数据库表结构设计,将测试执行模块写
数据入XML文件优化为写数据库表,将结果统计分析与展示模块由前端JS读取XML文件数据优化为后端JSP读取数据库
表数据。经验证测试,优化后的测试框架不再受文档对象技术的限制,实用性更佳,能在较主流的几款浏览器中正常使
用,是一种有效的技术替代方案。
关键词:自动化测试框架;设计优化;动态Web技术;JSP;MySQL
中图分类号TP311文献标识码:A
开放科学(资源服务)标识码(OSID):
OptimizationandImplementationofInterfaceAutomationTestingFramework
SUNLi-zhe
(TheThirdResearchInstituteofMinistryofPublicSecurity,Shanghai201204,China)
文章编号:1009-3044(2021)08-0212-03
Abstract:Withtheiterativeupdateoftechnology,documentobjecttechnologyisnolongersupportedinsomebrowsers,thusthe
functionofthestatisticalanalysisandpresentationmoduleintheinterfaceautomationtestframeworkdesignedintheearlystageis
nthis,thispapermadesomeoptimizationfortheautomationtestframework,suchaswithMySQLdatabasetable
structuredesignreplacingtheXMLfile,withwritingdataintodatabasetablereplacingintofile,withreadingdatafromdatabaseta⁃
imizedtestframeworkisnolongerlimitedbybrowserdocument
objecttechnologyandhasbetterusability,couldbeusedinafewmoremainstreambrowsersandisaneffectivetechnicalalterna⁃
tive.
Keywords:automationtestframework;designoptimization;dynamicalWebtechnology;JSP;MySQL
前期针对某后端服务产品接口多、内部处理逻辑复杂且版
本迭代频繁的情况,为了实现短时间快速测试,基于面向对象
技术、Web开发技术等设计并实现了一套较实用的轻量级接口
自动化测试框架
[1]
。该框架由两大部分组成,一是基于面向对
象技术和XML文档DOM开发等技术的自动化测试执行模块,
主要实现了对测试数据批量配置、测试脚本设计、测试脚本批
量执行以及自动生成XML格式的测试结果数据文件。另一部
分是集XML、HTML、CSS和JS等集成开发技术的测试结果统计
分析与展示模块,主要实现对测试结果文件内数据的统计分析
并以Web页面形式作个性化展示。在浏览器支持文档对象技
术的情况下,该框架能表现出较好的实用性。但随着浏览器版
本的迭代,文档对象技术不再受支持,如MicrosoftEdge
84.0.522.52和Firefox78.0b6,因此该框架部分功能无法正常使
用。为了解决该问题,本文对该框架作了技术优化,将用于记
录测试用例及结果等数据的XML文件设计改为MySQL数据库
表设计
[2-3]
,将测试执行模块写数据入XML文件改为写入数据
库表,将结果统计分析与展示模块由前端JS读取XML文件数
据改为后端JSP
[4]
读取数据库表数据。优化后自动化测试框架
的结果统计分析与展示模块功能在MicrosoftEdge84.0.522.52、
GoogleChrome84.0.4147.105和Firefox78.0b6等几款主流浏览
器新版中可正常使用,是一种较好的替代方案。
1优化前后整体设计对比
优化前,整套测试框架部署在客户端。在客户端Eclipse平
台执行测试执行模块,测试执行模块中以接口为单位对测试用
例作分类设计与实现,测试执行时以一个接口为一个测试集分
收稿日期:2020-11-20
作者简介:孙立哲(1984—),女,河北邢台市宁晋县人,硕士,主要研究方向为计算机应用技术。
212
计算机工程应用技术
本栏目责任编辑:梁书
第17卷第8期(2021年3月)
类执行各测试用例,并将测试用例及结果等数据按测试集分类
写入本地
HTML
XML
文件,
XML
加载本地的
文件。测试执行结束后,
CSS文件,通过本地
在本地浏览器中打开
JS文件脚本读取
展示。
文件做统计分析并动态更新HTML文件内容实现个性化
优化后整套框架分前端客户端程序、后端MySQL数据库服
务和后端Web动态JSP页面服务
[5]
。与优化前一致,前端客户
端执行测试执行模块,区别是将测试用例及结果等数据写入后
端MySQL服务器数据库表,测试执行结束后,在前端浏览器中
访问部署在远程Web服务器上的动态JSP页面来浏览测试结
果及数据,JSP页面访问MySQL数据库,对表中数据做统计分
析,并与CSS结合实现样式个性化展示。CSS文件与优化前一
致。优化后接口自动化测试框架部署如图1所示。
图1优化后接口自动化测试框架部署
2优化前后具体设计实现对比
2.1数据库表结构设计
优化前,以XML文件存储测试用例及结果数据。XML文
件根元素包含各测试集元素,一个测试集元素对应一个接口,
以接口名作为测试集元素的唯一性标识属性,测试集元素下包
含与该接口对应的所有测试用例元素,以测试用例名作为测试
用例元素的唯一性属性标识,测试用例元素下包含该测试用例
所对应的接口请求数据元素、接口响应数据元素、接口测试结
果元素。
优化后,数据库表及字段设计与优化前的XML文件数据
结构相对应,包括测试集表和测试用例表。测试集表包含主键
唯一自增id字段和testSuiteId字段。其中testSuiteId字段用于
存储测试集名,对应优化前XML文件中测试集元素的唯一性
标识属性。测试用例表用于存储各测试集下的测试用例及其
与测试集表中某测试集的关联关系,包含主键唯一自增id字
段、
sult
testCaseId字段、testSuite_id字段、reqStr字段、resStr字段、re⁃
例元素的唯一性属性标识。
字段。testCaseId字段表示测试用例名,
testSuite_id字段表示该测试用例
对应优化前测试用
所属测试集,与测试集表中id字段关联。reqStr字段、resStr字
段、result字段表示某测试用例对应的接口请求数据、接口响应
数据、接口测试结果。result字段值为Pass表示该测试用例接
口功能测试成功,
MySQL
创建索引时,
索引的合理创建可提高数据库表数据的查询检索速度,
Fail表示该测试用例接口功能测试失败。
需确保该索引是应用在SQL查询语句的条件
[6]
。
对测试用例集表数据做统计分析时,需要汇总统计每个测试集
本栏目责任编辑:梁书
ComputerKnowledgeandTechnology
电脑知识
与技术
下所有测试用例并统计其中成功的用例数和失败的用例数,统
计
Suite_id
查询条件是testSuite_id字段和result字段,因
行速率。复合索引只有在字段顺序与查询条件顺序一致时才
字段和result字段创建复合索引,从而提高统计查询执
此,对test⁃
有效果,因此,两个字段在复合索引中的次序与统计分析模块
中对数据库表的查询条件次序一致。
2.2测试执行模块设计优化与实现
优化前,测试执行模块在执行前新建XML文件并获取文
档根元素,在每个测试集执行前以接口名为测试集元素唯一性
属性,将测试集元素作为文档根元素的子元素写入文件,在测
试集下每个测试用例执行前以测试用例名为测试用例元素唯
一性属性,以该测试用例对应的接口请求数据、响应数据、测试
结果分别作为该测试用例元素的三个子元素,将该测试用例元
素作为其所属测试集元素的子元素写入文件。
优化后,在.properties属性文件中配置MySQL数据库访问
配置信息。测试执行模块在执行前,读取配置文件中数据库访
问配置并建立MySQL数据库静态连接
[8]
。在每个测试集执行
前以接口名为testSuiteId字段值,用数据库静态连接向测试集
表插入一行数据。在每个测试用例执行前以测试用例名作为
testCaseId
字段值作为
字段值、
testSuite_id
以该测试用例所属测试集在测试集表中的
字段值、以对应接口请求数据、响应数
id
据、测试结果分别作为reqStr字段值、resStr字段值、result字段
值,向测试用例表插入一行数据。测试执行过程中,测试集表
中将收集并存储所有接口的接口名,测试用例表中将收集并存
储每个测试集下的所有测试用例。所有测试执行结束后,关闭
数据库连接。
2.3结果统计分析与展示模块设计优化与实现
优化前,结果统计分析与展示模块由HTML文件、CSS文
件、
XML
JS文件和XML文件构成,全部在前端客户端部署并执行。
局,主要由概要区、
文件是数据源。
结果汇总区、
HTML文件定义结果展示主界面整体布
结果细节区构成,概要区以表
格形式展示测试用例总数、用例成功总数和用例失败总数。结
果汇总区以表格形式展示各测试集名及其下所含测试用例总
数、用例成功总数和用例失败总数,其中测试集名为超链接。
结果细节区默认隐藏,点击某个测试集名超链接后,结果细节
区显现且以表格形式显示该测试集下所有测试用例及结果详
情。主界面整体层叠样式通过引入CSS文件定义,部分样式及
子区域通过引入的JS文件根据统计结果作个性化动态更新,各
区内的数据通过JS脚本根据对XML文件数据做统计分析后的
结果作动态更新。前端客户端浏览器访问HTML文件,以个性
化Web页面的形式查看所有测试集下的汇总结果以及每个测
试集下所有测试用例及结果详情。
优化后,统计分析与展示模块由后端MySQL数据库表和后
端基于JSP文件与CSS文件的动态Web服务构成。前端浏览器
中访问后端Web服务主界面JSP文件查看测试结果。统计分
析与展示模块与测试执行模块共用测试框架数据库表,测试执
行模块将测试集和测试用例及结果等数据写入数据库表,统计
分析与展示模块读取数据库表数据做统计分析。JSP文件分主
界面JSP文件和结果细节JSP文件。主界面JSP文件中定义的
整体布局与优化前HTML文件中定义的基本一致,唯一区别是
结果细节区不再在主界面下方显示,而是以弹出新页面的方式
计算机工程应用技术
213
ComputerKnowledgeandTechnology
电脑知识
与技术
跳转到结果细节JSP文件。主界面整体层叠样式的处理机制与
优化前一致。主界面概要区、结果汇总区各表格数据通过JSP
脚本访问数据库表经统计查询后作动态更新。查询测试用例
表中用例总数、用例成功数、用例失败数,并更新概要区表格数
据。查询测试集表中所有测试集,以一个测试集为一行,在结
果汇总区表格中增加各测试集行,在测试用例表中根据测试用
例表与测试集表的关联字段testSuite_id以及result字段查询各
测试集下的用例总数、用例成功数、用例失败数,并更新结果汇
总区表格数据。
结果细节JSP文件主要包括结果细节区,在结果细节区以
表格形式显示某测试集下的所有测试用例细节信息。在主界
面结果汇总区点击某个测试集名超链接跳转到结果细节JSP文
件时,将测试集名在测试框架数据库测试集表中对应的id字段
值作参数传入。结果细节JSP文件根据传入的测试集id字段
值查询属于该测试集的所有测试用例,以一条用例为一行,在
结果细节区表格中增加各测试用例行,并将测试用例名、请求
串数据、响应串数据、用例执行结果更新到结果细节区表格。
3优化前后结果统计分析与展示模块页面效果对比
优化前,测试框架中结果展示主界面在Firefox67.0b9版浏
览器中正常加载后概要区和结果汇总区显示效果如图2所示。
图2旧版浏览器中页面正常显示效果
优化前,测试框架中结果展示主界面在Firefox78.0b6版浏
览器中无法正常加载时概要区和结果汇总区显示异常效果如
图3所示。
图3旧版浏览器中页面加载异常显示效果
优化后,在浏览器中访问测试框架中部署在远程Web服务
上的主界面
Firefox78.0b6
JSP
浏览器中可正常显示,
文件,主界面JSP概要区和结果汇总区在新版
显示效果与图2一致。点
214
计算机工程应用技术
第17卷第8期(2021年3月)
击某个测试集名后弹出的新页面中结果细节区显示效果如图4
所示。
图4某测试集对应的结果细节区示例
4结语
随着浏览器技术的迭代更新,文档对象技术不再受支持,
前期设计的接口自动化测试框架中部分功能使用受到影响。
为了解决该问题,本文对该自动化测试框架做了设计优化,将
用于数据存储的XML文件以MySQL数据库表代替,将测试执
行模块写XML文件改为写数据库表,将结果统计分析与展示
模块由前端JS读取XML文件数据改为后端JSP读取数据库表
数
据。
更好的实用性和浏览器版本兼容性。
Chrome
优化后
84.0.4147.105
的测试框架
和
能
Firefox
在Microsoft
78.0b6
Edge
等中正常使用,
84.0.522.52
有
、
参考文献:
[1]孙立哲
[2]
应用与软件
.轻量级接口自动化测试框架设计与实践[J].计算机
,2020,37(1):27-30,36.
ReferenceManual[EB/OL]..
[3]
com/doc/refman/5.6/en/.
[4]
唐汉明
Oracle.
.
JavaServer
深入浅出MySQL[M].
PagesTechnology
北京:人民邮电出版社
[EB/OL].⁃
,2014.
[5]
/java/technologies/.
陈丹丹.JSP项目开发全程实录[M].北京:清华大学出版社,
[6]
2013.
[7]
兴,
Baron
黄威
彭立勋,
S,Peter
,聂藩,丁建完
等译
Z,
.
Vadim
北京:
.关键字驱动的测试自动化框架模型与系
电子工业出版社,
T.高性能MySQL[M].
2013:
宁海元,
141-193.
周振
[8]
统实现
译
Cay
.北京
SHorstmann.
[J].计算机技术与发展
:机械工业出版社
Java核心技术
,2012,22(4):57-60,64.
,2019.
[M].11版.林琪,苏珏涵,等,
【通联编辑:梁书】
本栏目责任编辑:梁书
版权声明:本文标题:接口自动化测试框架设计优化与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713477250a636611.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论