一、开发接口测试案例的整体方案:
  • 分析出测试需求,并拿到开发提供的接口说明文档;
  • 从接口说明文档中整理出接口测试案例(包括详细的入参和出参数据以及明确的格式和检查点)。
  • 和开发一起对评审接口测试案例
  • 结合开发库,准备接口测试案例中的入参数据和出参数据,并整理成csv格式的文件。
  • 结合接口测试案例文档和csv格式的数据文档,做接口测试案例的自动化案例开发。

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

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

  1. 测试前置、开发自测:一个新的自动化接口测试案例开发完成后,直接发给接口对应的开发,安排在开发本地环境执行,一旦开发确认完成接口开发,就开始执行接口测试案例,基本上可以实时拿到测试结果,方便开发快速做出判断。【开发本地运行的方式就是打开JMeter工具,导入JMX文件,开始执行可。】
  2. 回归测试:开发本地测试通过后,或整个需求手工测试通过后,把自动化的接口测试案例做分类整理,挑选出需要纳入到回归测试中的案例,在持续集成环境重新准备测试数据,并把案例纳入到持续集成的job中来,这些用于回归的接口测试案例需要配置到持续集成平台自动运行。
  3. JMeter用途
    负载测试:模拟多用户并发
    压力测试:测试max负载能力

三、安装JMeter

  1. Jdk1.6或以上:
    [http://www.oracle.com/technetwork/java/javase/downloads/index.html]
  2. Jmeter,下载址址:[http://jmeter.apache.org/download_jmeter.cgi]
  3. 插件的下载安装地址:http://www.jmeter-plugins.org/
  4. 打开解压目录下的bin文件,运行ApacheJMeter,即可看到运行界面

四、使用

1、添加线程组,设置

Test->Add -> Threads (Users) -> Thread Group

a. Number of Threads: 100 (连接目标网站的用户数量)
b. Loop Count: 10 (执行测试的次数)
c. Ramp-Up Period: 100(告诉 JMeter 延迟多少秒才开始下一个user,设置为0的话意味着同时并发请求)

2. 添加HTTP request Default

    填写主机名或者IP地址,端口号
> protocal:发送测试请求时使用的协议

> server name or ip:被测试服务器的ip地址或者名字

> path: 默认的起始位置。比如将path设置为/jmeter,那么所有的http请求的url中都将增加/jmeter路径。
> port number: 服务器提供服务的端口号
3、添加 HTTP Request
      Add ->Sampler->HTTP Request.
      
4、添加信息头
       
5、监听器Listener
      为了记录测试信息并且可以使用Jmeter提供的可视化界面查看测试结果
6、Run->测试报表参数
>Aggregate Report聚合报告
 - Latency:系统响应单个任务所需要的时间,即平均响应时间。
 - Label :各个模拟测试的名称
 - Samples :各个测试的样本总数
 - Average :每个请求的平均响应时间
 - Median :中值,即50%请求的平均响应时间
 - 90%Line :90%请求的响应时间
 - Min :最小响应时间
 - Max :最大的响应时间Error% :错误响应的概率。即无法响应的概率。
 - ThroughPut :吞吐量 -- 默认情况下表示每秒完成的请求数(Request per Second)。
 - KB/Sec :每秒从服务器端接收到的数据量。
> View Results Tree
查看每个请求的详细内容,可选中error只记录报错的信息
7、加载已存在的元素
TestPlan->Merge,选中已存在的XX.jmx,导入即可。节省时间

8、关于保存

保存element:只保存一个
保存test plan:会保存所有的组件
9、合并多个测试计划
已建测试计划的条件下,marge另一个计划会变成多测试计划

五、Timer定时器

设置1个user,重复100次,constantTimer里线程延迟5000ms,运行,观察表格结果

sample1 的开始时间:18:38:55.276

sampleTime:175ms

延迟时间:5000ms,

以上相加=18:39:45,所以sample2的开始时间是18:39:46

六、Assertion断言

1、 Response Assertion:响应断言

(1)ApplyTo适应范围:一般选“main sample only”

只当请求触发多个服务器的时候,有main sample和sub sample之分

(2)响应文本:

(3) 响应header:

(4)响应代码:

当http相应代码.!当要验证404、501等http相应代码,需勾选“ignore status”

2、Duration Assertion:相应持续时间断言(断言响应时间不大于XX)

3、Size Assertion:比较响应的字节大小

4、XML Assertion:

七、Controller

1、 Recording Controller
录制测试步骤???
2、Simple Controller
user请求的容器
3、Loop Controller
控制循环次数
4、random Controller
随机发送请求,假设线程组(user1,LoopCount1),循环控制器(LoopCount50)-->结果发送请求数=100
7、Module Controller
多个功能存储在一个模块里面,模块选择器选择特定模块进行运行


八、处理器

1、 前置处理器:在sample请求之前执行
2、后置处理器:在请求之后执行
设置线程10,重复10次,后置处理器->Result Status Action Handler->取样器错误之后“立即停止”->运行
请求( “www.google/abc”  ),结果表格查看- > 只发送了10个请求

~~之后再补充吧












JMeter(1)-介绍+环境+安装+使用的更多相关文章

  1. 【NO.2】Jmeter-安装Jmeter - 在Linux环境安装Jmeter - 在Windows环境安装Jmeter

    当配置完Jmeter运行的环境之后,就可以开始安装Jmeter了. 为什么既要告诉各位"在Linux系统内安装Jmeter",又要告诉各位"在Windows系统内安装Jmeter"?因为当我们在构建1 ...

  2. Jmeter在windows上安装和环境配置

    一.Jmeter简单介绍 Apache JMeter是Apache组织开发的基于Java的压力测试工具.它可以用于测试静态和动态资源,例如静态文件.Java小服务程序.CGI 脚本.Java 对象.数 ...

  3. Jmeter系列(2)- Jmeter工具介绍、Jmeter安装目录介绍、Jmeter面板介绍

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter支持哪些测试场景? Jme ...

  4. 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装

    三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308   开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1. ...

  5. 挨批记后记--Jmeter环境安装

    挨批之后的艰难挣扎: 首先说所要造的数据是性能测试任务的创建,而创建任务还需要先创建场景,场景则又牵涉到jmx文件... 经过搜索后发现jmx文件通过jmeter生成,所以软件的安装就开始了.. jm ...

  6. GO介绍,环境的配置和安装 简单使用

    1. 介绍与安装 Golang 是什么 Go 亦称为 Golang(按照 Rob Pike 说法,语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言. Gol ...

  7. 基准测试-jmeter压力测试activeMQ之一环境安装配置

    jmeter压力测试activeMQ 摘要:linux(CentOS)单机activeMQ安装.window(2008Server)Jmeter配置activeMQ包.Jmeter配置linux监控 ...

  8. RabbitMQ简单介绍+Windows环境安装

    文章目录 1.RabbitMQ简介2.RabbitMQ与其他MQ有什么不同3.RabbitMQ环境安装3.1 安装erlang3.2 安装rabbitmq-server4. RabbitMQ管理平台介 ...

  9. 【ubantu 安装Jmeter和Jdk环境】

    Linux环境安装Java(含安装包下载地址) 一定要使用有权限的用户 1.下载JDK压缩包,下载地址:https://blog.csdn.net/duketyson2009/article/deta ...

随机推荐

  1. centos8添加中文语言包

    centos8添加中文语言包 系统:centos8 查看: [root@centos8]# locale -a 不支持中文包,按照centos7的方式安装:yum install kde-l10n-C ...

  2. explicit 关键字 禁止隐式转换

    explicit可以抑制内置类型隐式转换,所以在类的构造函数中,使用explicit关键字,防止不必要的隐式转换

  3. 9.5、zabbix高级操作(1)

    在zabbix-web中删除之前所有监控的主机: 1.zabbix自动发现配置: zabbix-server通过扫描指定范围的ip地址发现zabbix-agent并自动添加监控主机,适用于zabbix ...

  4. 40、mysql数据库(触发器)

    1.触发器说明: 使用触发器可以定制用户对表进行[增.删.改]操作时前后的行为,注意:没有查询. 2.创建触发器语法: (1)插入前: CREATE TRIGGER tri_before_insert ...

  5. 面试系列——Mysql索引

    1.索引分类 Hash索引Hash 索引查询效率很高,时间复杂度O(1).Mysql Innodb引擎不支持hash索引的.Hash索引适合精确查找,不适合范围查找. 平衡二叉树时间复杂度为 O(n) ...

  6. yum安装GitLab-v11.11.8(git私服)

    GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.(跟github.gitee类似) 1. 安装依赖软件 $ yum -y install ...

  7. 免费版:Xshell和Xftp下载路径

    家庭版Xshell和Xftp下载地址: 下载地址:https://www.netsarang.com/zh/free-for-home-school/

  8. 淘宝的sign参数js逆向

    前言:现在网站都有很强的反爬机制,都是非常常见的是用js前端加密参数,所以不得不去分析和逆向js混淆后的代码 一. 打开天猫或淘宝,shift+ctrl+F12全局搜索sign参数. 这里发现很多地方 ...

  9. STM32中的通信协议

    按照数据传送方式分: 串行通信(一条数据线.适合远距离传输)并行通信(多条数据线.成本高.抗干扰性差) 按照通信的数据同步方式分: 异步通信(以1个字符为1帧.发送与接收时钟不一致)同步通信(位同步. ...

  10. Docker实现退出container后保持继续运行的解决办法

    现象: 运行一个image,例如ubuntu14.04: 1 docker run -it --rm ubuntu:14.04 bash 退出时: 执行Ctrl+D或者执行exit 查看线程: 1 d ...