一、开发接口测试案例的整体方案:
  • 分析出测试需求,并拿到开发提供的接口说明文档;
  • 从接口说明文档中整理出接口测试案例(包括详细的入参和出参数据以及明确的格式和检查点)。
  • 和开发一起对评审接口测试案例
  • 结合开发库,准备接口测试案例中的入参数据和出参数据,并整理成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. javascript的getTime函数

    <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...

  2. match、vlookup、hlookup函数(结合index运用可以实现自动化填充)

    1.match返回查找值位置: match(lookup_value, lookup_array, match_type) Match(目标值,查找区域,0/1/-1) 使用注意:返回值是基于选择区域 ...

  3. Rsync+Sersync数据实时同步(双向)

    Rsync+Sersync数据实时同步(双向) 服务介绍 一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.se ...

  4. Spring:Spring-IOC三种注入方式、注入不同数据类型

    一.Spring IOC(依赖注入的三种方式): 1.Setter方法注入 package com.jpeony.spring.setter; import com.jpeony.spring.com ...

  5. Leetcode No.1 Two Sum(c++哈希表实现)

    1. 题目 1.1 英文题目 Given an array of integers nums and an integer target, return indices of the two numb ...

  6. MySQL | 使用Xtrabackup进行备份和备份恢复

    备份 进行备份前需要先创建备份用户,直接使用 root 用户进行备份也行,但是这样不太规范. create user backup@'localhost' identified by '123456' ...

  7. python使用笔记16--操作redis

    操作redis应先引入第三方模块 执行以下命令 pip install redis 1.redis常用方法 1 import redis 2 #decode_responses=True将bytes转 ...

  8. python numpy高效体现

    import numpy as np import time def python_sum(n): a=[i**2 for i in range(n)] b=[i**3 for i in range( ...

  9. [刘阳Java]_纯CSS代码实现内容过滤效果

    继续我们技术专题课,我们今天给大家带来的是一个比较酷炫的"纯CSS代码实现内容过滤效果",没有加入任何JS的效果.全部都是应用CSS3的新增选择器来实现的.先看效果截图 实现思路 ...

  10. Git初始化本地已有项目

    1.初始化仓库 git init 2.remote git remote add origin 仓库地址 3.从远程分支拉取master分支并与本地master分支合并 git pull origin ...