多平台统一管理软件接口,如何实现多平台统一管理软件接口
317
2023-04-19
本文目录一览:
Spring ioc容器作为管理bean的工具,springMVC框架处理前端发来的请求;
MySQL保存项目、接口、测试用例、定时任务、测试报告等数据;MongoDB用来存储一些测试文档,例如接口文档、测试报告等。
Docker 技术的引入主要是为了构建测试运行环境,和做测试数据隔离。
定时任务调度使用目前广泛使用的Quartz库,可以灵活的定义各种定时规则。
持久层选用Mybatis主要是熟悉这个框架,可以灵活的写SQL,并且有强大的SQL生成工具。(其实Hibernate也不错,不过对Mybatis更熟悉一点)
测试运行器这里之前有考虑过自己实现一套基于http协议的测试工具,后来发现业内有很多优秀的轮子,自己实现浪费精力而且不一定有别人的好,于是就采用了一套第三方的测试框架( HttpRunner ),感兴趣的可以去了解一下这个接口测试框架。
前端使用 JQuery+Bootstrap 的经典组合,优点就是用户多第三方资源多,网上大把的模板可以套用。
上面的项目结构图看起来是不是一目了然。
如图自动化接口设计平台:
附件内容包括
(1)测试用例执行摘要:
(2)测试用例详细信息:
如果http请求是post
获取post请求数据
断言内容解析:
int errcount = Integer.parseInt(vars.get("errcount").trim());
int allcount = Integer.parseInt(vars.get("respcount").trim());
int equalscount=0;
int equalsokcount=0;
if("${HttpStatus}"!=""){
// log.info("==========================${HttpStatus}");
if(SampleResult.getResponseCode().equals("${HttpStatus}".trim())) {
equalscount++;
equalsokcount++;
// log.info("================equalscount: " + equalscount);
// log.info("================equalsokcount: " + equalsokcount);
}else {
String code = SampleResult.getResponseCode();
vars.put("respcode",code);
vars.put("AssertionNoOk","断言失败内容为:HttpStatus自动化接口设计平台,实际请求返回的HttpStatus为: "+code+",断言内容的HttpStatus为: "+"${HttpStatus}");
equalscount++;
// log.info("================ERRORequalscount: " + equalscount);
// log.info("================ERRORequalsokcount: " + equalsokcount);
// log.info("====================ErrorHttpStatus is: " + code);
}
}
if("${ResponseMessage}"!=""){
if(SampleResult.getResponseMessage().equalsIgnoreCase("${ResponseMessage}".trim())) {
equalscount++;
equalsokcount++;
}else {
equalscount++;
String msg = SampleResult.getResponseMessage();
vars.put("respmsg",msg);
vars.put("AssertionNoOk","断言失败内容为:ResponseMessage自动化接口设计平台,实际请求返回的ResponseMessage为: "+msg+",断言内容的ResponseMessage为: "+"${ResponseMessage}");
}
}
if("${ResponseData1}"!=""){
if(SampleResult.getResponseDataAsString().contains("${ResponseData1}".trim())) {
equalscount++;
equalsokcount++;
}else {
equalscount++;
String data = SampleResult.getResponseDataAsString();
vars.put("respdata",data);
vars.put("AssertionNoOk","断言失败内容为:ResponseData1自动化接口设计平台,实际请求返回的ResponseData1为: "+data+",断言内容的ResponseData1为: "+"${ResponseData1}");
}
}
//log.info("===================================ResponseData2=" + "${ResponseData2}".trim());
if("${ResponseData2}"!=""){
if(SampleResult.getResponseDataAsString().contains("${ResponseData2}".trim())) {
equalscount++;
equalsokcount++;
}else {
equalscount++;
String data = SampleResult.getResponseDataAsString();
vars.put("respdata",data);
vars.put("AssertionNoOk","断言失败内容为:ResponseData2,实际请求返回的ResponseData2为: "+data+",断言内容的ResponseData2为: "+"${ResponseData2}");
}
}
if("${ResponseData3}"!=""){
if(SampleResult.getResponseDataAsString().contains("${ResponseData3}".trim())) {
equalscount++;
equalsokcount++;
}else {
equalscount++;
String data = SampleResult.getResponseDataAsString();
vars.put("respdata",data);
vars.put("AssertionNoOk","断言失败内容为:ResponseData3,实际请求返回的ResponseData3为: "+data+",\n断言内容的ResponseData3为: "+"${ResponseData3}");
}
}
if(equalscount==equalsokcount) {
SampleResult.setSuccessful(true);
vars.put("sendemail","no");
allcount++;
vars.put("respcount",allcount.toString());
}else {
errcount++;
allcount++;
SampleResult.setSuccessful(false);
vars.put("errcount",errcount.toString());
vars.put("respcount",allcount.toString());
vars.put("sendemail","yes");
}
利用SMTP Sampler发送邮件
邮件内容如下:
至此,Jmeter HTTP接口自动化引擎搭建完毕
还可以利用jenkins定时执行Jmeter引擎,从而实现对线上接口的监控
资料参考:
(1)Jmeter build.xml文件: http://pan.baidu.com/s/1i46tMlR
(2)Jmeter生成报告格式(参考heman贺满博客 http://www.cnblogs.com/puresoul/http://pan.baidu.com/s/1kVssMzl ):
(3)jmeter.properties(修改jmeter生成.jtl文件内容配置): http://pan.baidu.com/s/1cyaNlc
(4)测试用例模版:http://pan.baidu.com/s/1kVegq6j
(5)Jmeter接口自动化引擎内容:http://pan.baidu.com/s/1kVop9n5
接口自动化工具有以下:
1、QTP。是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。
2、WinRunner。是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。
3、AdventNetQEngine。是一个应用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java应用功能测试、Java API测试、SOAP测试、回归测试和Java应用性能测试。
自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程。
自动化技术广泛用于工业、农业、军事、科学研究、交通运输、商业、医疗、服务和家庭等方面。采用自动化技术不仅可以把人从繁重的体力劳动、部分脑力劳动以及恶劣、危险的工作环境中解放出来,而且能扩展人的器官功能,极大地提高劳动生产率,增强人类认识世界和改造世界的能力。
关于自动化接口设计平台和接口自动化设计模式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 自动化接口设计平台的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口自动化设计模式、自动化接口设计平台的信息别忘了在本站进行查找喔。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~