关于众所postman,jmeter,做自动化测试的我想对这两个词并不陌生。大家都知道postman用来做接口测试很方便,下面我们就用一些例子来演示一下它该如何进行接口测试:
首先我们来介绍一下接口测试的概念:
1、什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
2、接口组成
接口都有那些部分组成呢? 首先,接口文档应该包含以下内容: 1、接口说明 2、调用url 3、请求方法(get\post) 4、请求参数、参数类型、请求参数说明 5、返回参数说明
由接口文档可知,接口至少应有请求地址、请求方法、请求参数(入参和出参)组成,部分接口有请求头header。 标头 (header):是服务器以HTTP协议传HTML资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔,一般存放cookie、token等信息 有同学问我header和入参有什么关系?它们不都是发送到服务器的参数吗? OK,首先,它们确实都是发送到服务器里的参数,但它们是有区别的,header里存放的参数一般存放的是一些校验信息,比如cookie,它是为了校验这个请求是否有权限请求服务器,如果有,它才能请求服务器,然后把请求地址连同入参一起发送到服务器,然后服务器会根据地址和入参来返回出参。也就是说,服务器是先接受header信息进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参的。
3、为什么要做接口测试?
a) 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。 b) 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。 c) 现在很多系统前后端架构是分离的,从安全层面来说: 1)只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。 2)前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
4、接口测试工具
接口测试的工具很多,比如 postman、RESTClient、jmeter、loadrunner、SoapUI等,本人首推的测试工具是postman和jmeter,接下来就简单介绍下如何使用这两款工具进行接口测试,其他工具本次暂不介绍。 1)、Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get、post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入。 jmeter是一款100%纯Java编写的免费开源的工具,它主要用来做性能测试,相比loadrunner来说,它内存占用小,免费开源,轻巧方便、无需安装,越来越被大众所喜爱。 注:以下用例中所用地址皆为本人在本地所搭的环境,外网无法访问,见谅。 ①、获取用户信息:该接口用于通过userid获取用户信息 请求地址:http://192.168.1.102:8081/getuser 请求方式:POST/GET 入参:
出参:
postman中请求如下 jmeter中请求如下: ②、获取用户信息:需要添加header,Content-Type application/json 1.1 请求地址 http://192.168.1.102:8081/getuser2 1.2 请求方式 get/post 1.3 入参
1.4 出参
postman测试如下,本次入参为json类型,当然文档中没说非要用json,用其他方式也是可以的 jmeter测试如下 ③、修改用户余额2 1.1 功能描述 功能描述:需要添加cookie,token token是写死的token12345 1.2 请求地址 http://192.168.1.102:8081/setmoney2 1.3 请求方式 Post 1.4 入参
1.5 出参
postman测试如下: jmeter测试如下: ④文件上传 postman: jmeter: ⑤、请求webService接口 请求webService接口需要用到的工具是SoapUI。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!