工具:使用JMeter实现Agileone的接口测试
作者:reader1   类别:Web前端    日期:2018-02-02 15:34:06    阅读:920 次   消耗积分:0 分



实验简介


Apache JMeter是一款100%纯Java应用程序,设计用于接口测试和性能测试。它最初是为测试Web应用程序而设计的,但是经过各类插件的扩展,目前针对常见的各类协议接口都有良好的支持。JMeter简化了协议级接口的发送和对响应的断言,同时对多线程的支持及各类并发场景的设计,和统计数据的处理都变得非常简单。本实验将为大家详细讲解如何利用JMeter完成基于HTTP协议的接口测试。



实验目的


(1) 熟练运用JMeter的常见组件的功能及用法。

(2) 熟练使用JMeter完成基于协议的接口测试。

 


实验流程


1. JMeter的功能介绍


目前JMeter的最新版本是3.2,我们可以直接在其官方网站“http://jmeter.apache.org/”下载最新版本,并在一台安装了Java的环境中直接运行其“bin”目录下的“ApacheJMeter.jar”文件即可。启动后主界面如下图所示:


 图片1.png

 

目前JMeter能够支持和测试许多不同的应用程序/服务器/协议类型:


(1) Web的HTTP,HTTPS协议。

(2) SOAP / REST Webservices。

(3) FTP 文件传输协议。

(4) 基于JDBC协议的数据库测试,当然,也可以用该方法生成大量数据。

(5) LDAP协议。

(6) JMS协议。

(7) 邮件传输协议:SMTP, POP3和IMAP。

(8) 本地命令或Shell 脚本。

(9) TCP/UDP。

(10) 直接通过其内置的BeanShell脚本语言调用Java程序,也可以被Java程序调用。

 

除此之外,JMeter还具备如下一些功能:


(1) 基于Java开发的全功能测试IDE,支持直接录制协议请求。

(2) 基于Java开发,支持Linux、Windows、MAC OS等各类平台。

(3) 可以生成完整的动态HTML报告。

(4) 可以从各类响应格式、HTML、JSON、XML或任何文本格式提取数据并进行断言。

(5) 多线程框架允许多线程并发采样,同时通过不同的线程组进行不同功能的同时采样。

(6) 支持远程多机协同测试。

(7) 支持直接通过命令行运行测试计划,为持续集成提供了快速运行入口。

(8) 支持利用Java和BeanShell进行编程处理,提升测试脚本的灵活性和可扩展性。

(9) 通过JMeter的插件管理器,可以扩展更多的应用。

(10) 支持多语言,包括英文,简体和繁体等。

 

2. 常用组件介绍


(1) 测试计划(Test Plan):用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说JMeter创建的所有内容是于基于一个测试计划的。

(2) 线程组(Thread Group):线程组可以看做是一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。如果进行接口测试,我们可以设置线程数量为1即可。

(3) 配置元件(Config Element):用于提供对静态数据配置的支持。针对HTTP协议,通常我们需要为某个线程组创建HTTP Cookie管理器。

(4) 定时器(Timer):用于为请求之间设置等待时间,等待时间是性能测试中常用的控制客户端请求发送速度的重要手段,也便于模拟真实的使用场景。

(5) 前置处理器(Per Processors):用于在实际的请求发出之前对即将发出的请求进行特殊处理。

(6) 取样器(Sampler):用于处理协议交互的核心组件,所有跟协议交互的参数均在此设置。

(7) 后置处理器(Post Processors):用于对发出请求后得到的服务器响应进行处理。

(8) 断言(Assertions):用于检查测试中得到的相应数据等是否符合预期。

(9) 监听器(Listener):用来对测试结果数据进行处理和可视化展示的一系列元件。 图行结果、查看结果树、聚合报告等都是我们经常用到的元件。

(10) 逻辑控制器(Logic Controller):包括两类无件,一类是用于控制测试计划中各Sampler节点发送请求的逻辑顺序的控制器,常用的有“如果(If)控制器 、Switch Controller 、Runtime Controller、循环控制器”等。另一类是用来组织可控制Sampler节点的,如“事务控制器、吞吐量控制器”。

 

3. 测试Agileone的登录接口


(1) 在“测试计划”中创建一个新的“线程组”(位于Threads(Users)的子菜单中),保持默认设置即可。

(2) 为该线程组添加一个“HTTP请求”的Sampler。并将该请求命名为“登录接口”。

(3) 为该HTTP请求设置请求地址,Post请求正文,关键参数等,如下图所示:


版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/38
上一篇:实验:基于Web前端的性能测试分析
下一篇:工具:使用JMeter实现Phpwind的性能测试
${comment['nickname']}   ${comment['createtime']}
  
       
${comment.content}
${reply.nickname} 回复 ${comment.nickname}    ${reply.createtime}
     
  
回复内容:${reply.content}