本篇文章给大家谈谈api接口自动化测试代码框架,以及api接口自动化测试代码框架图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享api接口自动化测试代码框架的知识,其中也会对api接口自动化测试代码框架图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
怎么搭建 python 的接口自动化测试框架?
1.框架搭建
1.1 将struts2中的jar文件导入到项目中
commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,freemarker-2.3.15.jar,ognl-2.7.3.jar
struts2-core-2.1.8.1.jar,xwork-core-2.1.6.jar
1.2 将struts.xml文件拷贝到项目的src目录下
1.3 修改web.xml文件
添加:
<filter
<filter-namestruts2</filter-name
<filter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class
</filter
<filter-mapping
<filter-namestruts2</filter-name
<url-pattern/*</url-pattern
</filter-mapping
2.action中方法的调用方式
2.1 自动方法调用(只能调用execute)
2.2 指定方法调用(通过设置action标签中的method属性)
2.3 动态方法调用(在调用时,在action后加!方法名称,如:login!deletUser)
注意:<constant name="struts.enable.DynamicMethodInvocation" value="true" /
2.4 通配符调用
3. action接收客户端参数的方式
3.1 直接在action中定义参数变量,并生成set和get方法
3.2 定义接收参数的类
注意:都要为action的成员变量提供get和set方法
3.3 让action实现ModelDriven接口,并实现里面的getModel方法
4.获取request,session,application的方式
4.1 用ActionContext获取,实际上获取到的都是Map对象
4.2 用ServletActionContext获取,获取到的是基于Servlet API的对象
汽车之家接口自动化框架有哪些
汽车之家接口自动化框架的回答有很多,主要可以分为四大类:1、基于测试管理的框架:主要用于管理接口测试用例、生成报告、发送邮件、执行持续测试任务等;2、基于单元测试的框架:主要用于分层测试接口、检测输出结果的格式和内容、记录测试结果等。3、基于性能测试的框架:主要用于检测接口的吞吐量、延迟等指标;4、基于数据驱动测试的框架:主要用于提供测试环境、构建测试数据、加载测试用例等功能。此外还有一些开源框架,例如Katalon、Selenium等,用于支持Web应用自动化测试。汽车之家接口自动化框架也将逐步支持这些开源框架,以满足不同场景下的接口自动化测试需求。
接口自动化测试框架?
关于自动化测试项目中会分成许多的不同的测试模块,而今天我们就一起来了解一下,关于接口的自动化测试框架都有哪些比较常见的类型。下面昌平java课程就开始今天的主要内容吧。
需求:
1、接口编写方便。
2、方便调试接口。
3、支持数据初始化。
4、生成测试报告。
5、支持参数化。
robotframework
优点
关键字驱动,自定义用户关键字。
支持测试日志和报告生成。
支持系统关键字开发,可扩展性好。
支持数据库操作。
缺点
接口测试用例写起来不简洁。
需要掌握特定语法。
结果:不考虑,没人愿意这么写接口用例。
JMeter
优点
支持参数化
不需要写代码
缺点
创建接口用例效率不高。
不能生成查看每一个接口执行情况的测试报告。
总结:不考虑,接口编写不方便,主要是不能生成测试报告,如果做接口性能的话可以考虑。
HttpRunner
优点:
基于YAML/JSON格式,专注于接口本身的编写。
接口编写简单
生成测试报告
接口录制功能。
缺点:
没有编辑器插件对语法校验,容易出错。
官方文档没有详细的说明。
扩展不方便。
使用配置表+Mocha动态生成用例的JSAPI自动化测试
一、版本发布前,接口测试之痛
App版本发布前,我们都要手工做接口测试,目的是保证App内部H5页面所使用的JSAPI的功能正常,而对所有H5页面进行的P0级功能测试。为什么要做接口测试呢?因为JSAPI无法抓包,测试难度比较大,所以只能通过对H5页面的功能进行校验。但是手工测试,场景覆盖不全面,且耗时耗力。
二、JSAPI自动化测试方案
首先思考几个问题:一个APP有多少个JSAPI?它的用例场景有多少?如何能做到对用例的高效管理?
答案:对于我们app,有22条JSAPI,每条JSAPI多的话可能有几十个场景。传统的自动化方案,通常是一个场景需要手工编写一条用例,这种自动化的方案成本可以说也是非常高的,好在JSAPI并不常变动。但是,我们想实现一种更高效的自动化方式,不需要编写和管理那么多条用例,提升执行效率,同时降低学习成本。
2.1先来看看JSAPI是什么?
Html通过Jsapi,与app收发数据,形如:WebViewJavascriptBridge.callHandler
("API名称", {调用参数}, <回调函数); js调用app的指定api,该方法由页面主动触发举个例子:
如上,getMainInfo是html中一个button的响应函数。我们在js中,通过JSBridge实现对相应JSAPI的调用,如下:实现H5页面可以直接获取到APP的maininfo数据。
2.2方案与原理
1、首先要解决用例管理的问题,我们实现了一种基于配置表的自动化测试方案,不需要编写脚本,只需把所有用例(含请求参数及返回参数的预期值),放到excel配置表中,通过解析器把所有的参数读出来,再通过模版字符串自动生成用例集。
2、jsapi不能脱离app执行,因此在app增加彩蛋入口,连接到一个网页,打开网页时,由js文件自动加载用例集去调用相关的jsapi接口,并用chai断言库对结果进行校验。
3、jsapi有两种,一种是有参数返回的,一种是会引发UI变更的,下图分别是两种jsapi的自动化校验方案。第一种在下文进行了详尽的描述,第二种需要基于UI的自动化去实现,解决了h5页面的控件在app中无法识别的问题。采用js定时传参给html,配合前端自动化去触发调用的方式实现。
2.3用例管理
如下图:第一行是参数名,蓝色是请求参数,绿色是所有返回参数,用‘/’分隔。返回参数的预期值,用正则表达式来表达。
2.4用例解析器
将上述表格解析为如下格式,params和result是两个数组,每个sheet有几行,数组就有几个值,表格中每行代表一个场景。解析器基于Node.js,在服务端运行。
2.5使用Node.js+模版字符串动态生成api.js
在解析得到的所有JSAPI名称后,将调用方法以字符串的方式写入文件中,动态生成我们要调用的所有JSAPI的调用方法,再被html所引用即可:
动态生成的api.js文件是下图这样的:
我们的用例配置表中有n个sheet,即有n个JSAPI的用例,我们这里就自动生成这几个JSAPI的调用方法,传入的req就是我们在配置表中读到的每一行用例中的请求参数。拿到回包的res,再去校验是否与解析配置表得到的所有返回参数一致。
2.6使用Node.js+模版字符串动态生成测试用例
Mocha是JavaScript的自动化测试框架,既可以运行在nodejs环境中,也可以运行在浏览器环境中。如下图,通过调用mocha.setup(‘bdd’),开启 Mocha 的测试功能(testing helpers)。然后,加载需要的测试项和相应测试的文件。最后,调用了 mocha.run() 执行相应测试。
下图所示部分,自动生成测试用例,也是采用解析JSAPIList的同时写test.js文件的形式。
Ps:describe:称为"测试套件"(test suite),表示一组相关的测试。它是一个函数,第一个参数是测试套件的名称,第二个参数是一个实际执行的函数。
it:称为"测试用例"(test case),表示一个单独的测试,是测试的最小单位。
所有测试用例均为动态生成,如下图:
2.7Mocha框架自动化执行测试用例集
JSAPI的测试页面已经完成了,我们需要把它放到app中才能执行。在app的彩蛋页面放一个入口,加载这个html,当打开这个html的时候,服务自动的去执行并展示结果。如图,执行12条用例,只用了0.14s。
2.8自动化效果
目前,jsapi覆盖率已达70%,用例场景171个,执行耗时1.98s,Android和iPhone两个平台发现bug16个,涉及场景共35个,必现crash2个。
三、效果分析
在h5高产的今天,JSAPI的接口自动化测试解决了手工测试低效且覆盖不完全的苦恼,该方案在复用程度上也是非常友好的高度可复用的。只需创建自己的用例配置表,修改html中JSAPI的连接方式即可。
关于api接口自动化测试代码框架和api接口自动化测试代码框架图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
api接口自动化测试代码框架的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于api接口自动化测试代码框架图、api接口自动化测试代码框架的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~