• 14
  • 15
分享
  • 使用Jmeter进行http接口测试——软件测试圈
  • TIMI 2021-08-31 14:25:37 字数 1525 阅读 2175 收藏 15

前言:

本文主要针对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.png

  3. 添加“HTTPCookie管理器”;

    3.png

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

    4.png

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

    5.jpg

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

    6.png

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

    7.jpg

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

    8.png

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

    9.jpg

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

    10.png

运行结果:

11.jpg

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

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


作者:贺满

原文链接:https://www.cnblogs.com/puresoul/p/4740436.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 【摘要】软件测试从哪里开始到哪里结束?中间要经过哪些环节以及各环节要注意哪些事项。本文就有关问题结合个人实际工作经验进行阐述,鉴于每个环节都可以做为一个专题来进行探讨,所以受篇幅和时间限制,本文对有关问题未做深入剖析,只做一个宏观上的介绍。【关键词】测试流程、需求分析、测试用例、测试计划、缺陷管理一、概述一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节:需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.在进行有关问题阐述前,我们先明确下分工,一般而言,需求分析、测试用例编写、测试环境搭建、测试执行等属于测试开发人员工作范畴,而测试执行...
            8 8 1521
            分享
          • 前言首先,请不要奢望有多么简单的办法,学习没有捷径,这里只是让你明白这一点,顺便根据个人经验帮你理一下学习的过程。其实有文章是说怎么学习以及学习什么的,但是可能还是有些抽象,或者内容有点多、有点杂,以至于不少朋友仍然觉得不知道如何下手。大家可以去打听打听,现在软件测试培训要多久,脱产学习也要三四个月,还不能保证熟练。所以说要学的东西确实很多,你如果想十天半个月就想学完找工作,那几乎不可能,所以先想想要不要干这行。当然也不是说你一定要学习三四个月甚至更长时间,毕竟培训时是让你尽可能多的掌握一些知识,以适应不同公司的要求,但是往往很多公司并不是有那么多要求的,比如培训会讲开发知识,数据库,测试工具...
            0 0 921
            分享
          • 在我们日常测试app或者小程序的时候,经常要遇到抓包的情况,我们常用的抓包工具是fiddler或者charles,这两个工具抓http类型的包还好,但是抓https类型的日志是需要root手机的,现在的真机不是开发者是不好root的,那么这个时候模拟器就可以上场啦。做模拟器的有很多品牌,我最习惯也最常用的是夜神模拟器(雷电模拟器不太好用)首先,模拟器可以设置手机。型号,可以设置性能,屏幕尺寸等基本参数,方便页面展示,这个对于ui方面的测试有一定的帮助,可以看下页面有没有明显的拉伸或者重叠等。也可以在模拟器上面跑关于app的页面自动化这些,也是非常方便调试的,跑不通或者有报错的地方可以直接修改。...
            1 1 11032
            分享
          •   25岁一般来说也就是本科或专科毕业3年左右,有过一定的工作经验和阅历,同时还保留一部分棱角。25岁只能说是你人生刚起步,之所以会有这个年龄层面的顾虑就是因为各种互联网报道到处鼓吹35岁危机,其实在哪一行都会有危机,如何平稳度过这些所谓的危机,关键点在于你是否具有相关的核心竞争力。  这些报道数不胜数,比如某某高速路收费工作人员,当信息化时代来临被迫下岗时,只能无言的对着镜头说我今年36岁了,除了收费啥也不会,而且也学不会了!,这就属于典型的没有核心竞争力,正如央视主持人张泉灵所说:安逸的生活已经不再适合这个高速进步的时代,当时代抛弃你时,连一声再见都不会说的!  在25岁的年龄,能意识到行...
            0 0 104
            分享
          • 简介在开发前后台分离项目并且通过不同团队来实现的时候,如何将后台设计的 API 准确的传达到前台,是一个非常重要的工作。为了简化这个过程,开源社区做了很多努力,比如 protobuf技术,swagger 的诞生, 以及后面 openapi 的演化,都在试图解决 API 描述和文档的问题。这些标准某些程度上大大简化了 API 文档的撰写和维护,但是API设计往往比较复杂,所以另外还有一些痛点没有解决:若干 API 的调用顺序是有要求的若干 API 的输入和输出是相互关联的若干 API 需要重复调用达到不同的效果举了具体的例子, 某后端小伙伴X和前端小伙伴Y合作开发一款游戏, X 设计好 API ...
            0 0 2248
            分享
      • 51testing软件测试圈微信