• 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 在编写 Junit 测试时,我采用了同一套格式。如此,对于测试用例我就可以遵循这套格式进行编写和阅读,使所有的测试都整体划一。这种格式模板可以帮助我更快的编写测试,提高工作效率。今天我就与大家分享我的这套格式模板。(译者评:与我在测试建设原则中提出的继承原则相同,都是在进行一项测试工作之前,将公共的进行提取,统一格式模板,然后在以后的测试活动中都继承这套模板开展。)文件格式首先,在项目的测试包下新建一个测试文件/测试类,并且创建测试方法。在编写测试文件/测试类时,所有的测试文件/测试类都以 Test 结束,这样会容易理解其是一个测试文件/测试类,也方便后期维护时查看,编辑。例如一个名字为&nb...
            14 14 1909
            分享
          • 在以往的面试记录里,我又看到了一个多次被问到的知识点,那就是 cookie、session、token 的区别有哪些?如果现在来问你,不知道你能否说清楚呢?今天不仅仅是整理出这三者的区别,更重要的是能够真正去理解这三者之间的作用和联系。cookie、session、token三者联系在互联网里,一样事物的诞生往往是为了解决某种问题,这句话同样适用于此。其实说到底,cookie、session、token 都围绕了一个点:身份认证。为什么要认证很简单,比如电商购物网站需要登录。在输入账号密码点击登录之后,对服务器就产生了一次会话 session,就像你我之...
            0 1 556
            分享
          •   首先作为一个初级测试人,我对初级的定义一般是在 0 到 5 年,或者 0 到 3 年。要回答这个问题,先明确的一点是,前面我们讲到测试已经不是以前传统的测试,是一个大的测试,是一个广义的测试,那么在这种情况下,测试分为三类人:一类是做业务功能的测试;一类就是做自动化测试,把这些业务功能的测试转换成自动化的脚本;那么第三类人就是做测试平台、测试工具、测试服务开发的。  你首先需要明确的是,你想在这三块当中所做的是哪一块?明确了这个之后,我们再来看每一块怎么去做发展。  第一类,你想做一个业务的专家, 也就是说你怎么来把业务做得非常的精通。这类人在将来应该还是比较吃香的,但是,这类人的数量应该...
            0 0 882
            分享
          •   与其他设备相比,iPhone 和其他苹果产品的利润相当可观,因为随着时间的推移,它们的残值保持得相当好。特别是 iPhone,过去一直是各种骗局的受害者,而现在我们似乎又遇到了一起持续了作案大约十年的案件,当局指控五人参与了一起欺诈骗局,他们将假冒的 iPhone 型号退还给苹果专卖店,然后换取新机。  这些人将假冒的 iPhone 和其他苹果产品带到苹果专卖店,声称它们有故障或出现了问题,并要求更换设备。苹果专卖店的人会保留假冒的苹果手机,然后换上原装设备。然后,原装产品就会在市场上高价出售。据熟悉此事的消息人士称,多年来,更换过程重复了 16000 次。  这种欺诈行为并不是突然出现的...
            0 0 399
            分享
          • Python3.7+RIDE+Robot Framework环境搭建过程中,安装完robotframework-httplibrary后,加载HttpLibrary.HTTP报错Importing test library "HttpLibrary.HTTP" failed经过网上查询分析,发现HttpLibrary是基于python2.0开发的,高版本的python中可能会存在一些兼容性问题,所以我们就围绕兼容问题进行处理。Ride在应用过程中,遇到的兼容问题还是蛮多的,只能多多记录,以便后用。 一、检查HttpLibra...
            0 0 2647
            分享
      • 51testing软件测试圈微信