• 13
  • 14
分享

针对http接口进行测试,使用Jmeter工具实现。

Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此本次直接使用Jmeter工具来完成对Http接口的测试。

一、开发接口测试案例的整体方案:

第一步:我们要分析出测试需求,并拿到开发提供的接口说明文档;

第二步:从接口说明文档中整理出接口测试案例,里面要包括详细的入参和出参数据以及明确的格式和检查点;

第三步:和开发一起对接口测试案例进行评审;

第四步:结合开发库,准备接口测试案例中的入参数据和出参数据,并整理成csv格式的文件;

第五步:结合接口测试案例文档和csv格式的数据文档,做接口测试案例的自动化案例开发。

二、接口自动化适用场景:

目前设计的自动化接口测试案例有两个运行场景:

1. 测试前置、开发自测:一个新的自动化接口测试案例开发完成后,直接发给接口对应的开发,安排在开发本地环境执行,一旦开发确认完成接口开发,就开始执行接口测试案例,基本上可以实时拿到测试结果,方便开发快速做出判断。【开发本地运行的方式就是打开JMeter工具,导入JMX文件,开始执行可。】

2. 回归测试:开发本地测试通过后,或整个需求手工测试通过后,把自动化的接口测试案例做分类整理,挑选出需要纳入到回归测试中的案例,在持续集成环境重新准备测试数据,并把案例纳入到持续集成的job中来,这些用于回归的接口测试案例需要配置到持续集成平台自动运行。

三、接口测试环境准备

Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html

Jmeter,下载址址:http://jmeter.apache.org/download_jmeter.cgi

插件的下载安装地址:http://www.jmeter-plugins.org/

四、创建工程:

1、打开Jmeter:下载好Jmeter后,双击bin目录下的jmeter.bat文件:

1.jpg

2、添加线程组:在“测试计划”上点击鼠标右键–>添加–>threads(Users)–>线程组,添加测试场景设置组件,接口测试中一般设置为1个“线程数”,根据测试数据的个数设定“循环次数”。

2.jpg

3、添加“HTTP Cookie管理器”:

3.jpg

4、添加“Http请求默认值”组件,当被测系统有唯一的访问域名和端口时,这个组件很好用:

4.jpg

5、在“HTTP 请求默认值”组件配置页面,填写被测系统的域名和端口,http请求的实现包版本以及具体协议类型,线程组里的所有“HTTP Sampler”可默认使用此设置。

5.jpg

6、在“线程组”里添加“HTTP 请求”的Sampler

6.jpg

7、在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一起发送的参数列表:

7.jpg

8、设置检查点:在被测接口对应的“HTTP 请求”上,添加“响应断言”

8.jpg

9、在设置页面上添加对相应结果的正则表达式存在性判断即可:

9.jpg

10、添加监听器:方便查看运行后的结果

10.jpg

运行结果:

11.jpg

上述步骤完成了一个简单测试案例的创建,复杂测试案例均在此基础上扩展完成。使用Jmeter工具开发的接口测试案例,一个子系统建议放在同一个 “测试计划”中,流程测试可以通过“线程组”来区分,这样也便于设定不同的测试数据个数。比较独立的接口,可以统一放在一个线程组内,顺序完成测试。

流程性接口的测试:如果要测试的接口可以组成一个流程,只需要顺序添加多个“HTTP 请求”的Sampler,各请求之间可以提取需要在
上下文传递的数据作为参数,以保证流程中数据的一致性。


作者:沿途有你

原文链接:https://blog.csdn.net/weixin_42267578/article/details/84876882

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   年少不懂面试经,读懂已是测试人。  大家好,我叫阿文,一名历经沧桑,看透互联网行业百态的测试从业者,经过数年的勤学苦练,精钻深研究,终于从初出茅庐的职场新手成长为现在的测试老鸟,早已看透了面试官的种种套路,更是看尽了求职者的措手不及,既有尔虞我诈又有惺惺相惜……  蓦然回首,许多年前,我也是另一个求职者。故将我的面试经验分享给你们,希望每一个看过这篇文章的朋友都可以过五关斩六将,镇定自若,信心满满地应对面试!  面试软件测试你需要知道哪些?  常言道:知彼知己,百战不殆。那么对于面试软件测试中,我们需要知道哪些方面,才是我们制胜的法宝。  1、简历的重要性  首先,对于简历上提到的任何技术...
            0 0 845
            分享
          • 1、引言因为小鱼在上一章节写了 多台appium的启动,然后就联想到 能不能搞一个多进程启动appium服务。于是乎~~那就搞起来~ ~关于并发的问题,小鱼写过专题文章《常见并发问题》《多线程并发》《多线程并发框架》但是呢,今天小鱼不写多线程并发,写个多进程并发在上代码之前,咱先弄清楚,多进程与多线程,到底有何区别:2、代码示例知道了多进程与多线程的区别, 我们就来写代码代码示例:# -*- coding: utf-8 -*- #@ auth : Carl_DJ #@ time : 2022-6...
            0 0 1365
            分享
          • 经过艰苦的3技术+1HR面,终于告别0offer了,这是面试测试之前整理的牛友们的面经,答案来着互联网,有不合适的地方请大家指出。技术面中除了问项目,其余80%的问题来自牛友们提供的面经,祝大家找到合适的offer。http和https的区别https协议需要到CA(CertificateAuthority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的。Https协议是...
            4 5 3436
            分享
          •   性能测试框架搭建+接口测试+渗透测试+测试开发+测试面试指南,点击下方链接填写测试行业调查问卷,任选两个带回家。链接:http://vote.51testing.com/  Jenkins作为目前持续集成中使用较为广泛的工具,在实际生产过程中通过结合众多的插件,从而实现工程的持续构建、持续部署。  而传统构建的应用场景大多数运行在虚拟机或者独立的服务器上,在资源开销和管理维护较为复杂。相比于独立的服务器/虚拟机而言,容器不仅部署方便,且占用资源较少。  Docker作为目前作为业内最火的一个容器解决方案之一,通过将两者结合,从而实现服务的轻量化,并通过Docker管理Jenkins的资源。...
            1 1 1674
            分享
      • 51testing软件测试圈微信