2.4 添加HTTP镜像服务器
  在运行测试之前,如何验证我们发送的信息是否有误?如何可以理直气壮的告诉别人自己发送的测试请求没有问题?这里推荐添加HTTP镜像服务器进行校验测试。
  HTTP镜像服务器并不是测试组件,而是用来用来校验的非测试组件,具体添加位置在工作台。
  添加后,默认端口为8081,如果和你电脑上的端口不冲突,直接开启即可。
  接着回到HTTP请求面板修改IP地址和端口。
  点击运行按钮进行测试。
  如果你之前没有保存过测试方案,会提示你保存,这里直接选择一个位置保存。
  在结果树面板可以查看镜像服务器返回的结果,该结果信息就是你发送的请求配置信息。
  因为该演示发送的参数比较简单,所以感觉该操作没有必要的样子,但对于复杂的测试来说,测试之前保证自身请求的正确性是很很必要的。
  2.5 开始测试
  接下来再将HTTP请求面板改回原来的样子。点击清除按钮,清除当前无用的测试结果,然后点击开始按钮进行新的测试。
  小技巧:这里请求面板改来改去感觉很麻烦,有一个简单的办法就是改之前将面板拷贝到工作台,测试后,再将其拷贝回去,这样就节省再次更改的时间了。当然复制/禁用的效果也是类似的。
  查看测试面板:
  结果有些和想象的不一样,我们非常确定请求发送的没有问题,原因可能是淘宝的服务端做了HTTP头判断,防止其他的应用程序进行滥用,一般公司内部测试不会遇见这种情况,大多数这种手段貌似都是防爬虫之类的。
  解决方法很简单,就是再披一层皮。增加HTTP信息头管理面板:
  这里添加User-Agent头部,让请求看起来是浏览器本身访问一样。
  
  再次测试,这回返回正常。
  接下来压力测试只需要修改线程组面板,就可以尝试大批量进行请求了。不过大批量测试还需要几个地方需要学习。
  3. 批量测试
  批量测试要想做好有三个最基本的问题。第一个如何做到批量输入,测试肯定越偏向于越真实越好,很多都是拿线上数据进行测试,在Jmeter中最简单的批量导入的手段就是使用CSV Data Set Config面板。第二个是如何校验返回结果,批量测试不像单个测试可以人眼扫描,大批量的数据返回肯定是看不过来的,在Jmeter中可以使用断言,类似于编程中的断言,可以校验返回结果是否正确。第三个是如何统计数据,这个最方便,因为基本的统计Jmeter有很多原生的模块。
  3.1 CSV Data Set Config
  该模块主要是从外部加载数据使用,可以按照规定的格式读取并将文本解析成对应的变量,可以供其它模块使用。
  这里拿IP地址为案例。首先准备一个文件,每行一个IP。
  然后,在CSV Data Set Config面板中如下配置:
  这里的配置很简单,Filename代表解析的文件,这里选择刚刚创建的Ip列表文件。File encoding 代表文件编码,使用默认配置。Variable Names 代表赋值的变量,这里可以填写多个变量,但是目前每行只有一个ip地址。Ignore first line 是否忽略首行,主要是对那些有标题头的文件格式,接下来Delimiter 代表每行的分隔符,这里每行一个变量,填什么都无所谓,保持默认即可。
  Recycle on EOF/Stop thread on EOF/Sharing mode 这三个设置一般用于测试文件数据的使用策略。如果你想只测试文件中的数据,测试完成后终止,那么需要将Recycle on EOF和 Stop thread on EOF 分别设置为false和true。Sharing mode这里保持默认即可。
  有了数据的输入,接下来修改HTTP请求,让每次请求的参数不同。
  将ip的值改为${ip},大括号包含的ip代表CSV Data Set Config中定义的变量,这样每次请求的ip参数将和文件中的顺序一一映射。
  提示:大家测试时候不要使用淘宝接口测试,该接口对批量请求做的限制。
  3.2 断言
  上面的结果好像全部没有问题,其实不然,查看第二个请求,你会发现,虽然请求本身没问题,但是数据返回的信息却表示输入的ip地址无效,我们却无法感知。
  如何校验返回结果?Jmeter支持添加断言模块。
  断言的种类非常丰富,这里使用最简单常用的响应断言。断言面板支持很多匹配规则,甚至支持正则表达式。这里只是简单的使用包括来进行校验。
  接着可以运行查看结果。
  3.3 聚合报告
  就剩下最后一个问题了,如何查看所有请求的综合情况。最常用的就是聚合报告模块。
  该模块可以详细的展示所有请求的综合水平。包括请求个数,平均响应时间,最大响应时间、吞吐量等等。
  下面是我测试四个请求的报告:
  4. 总结
  到这里基本的常用模块就介绍完了,通过本文可以掌握基本的测试组件,主要是对HTTP请求的相关测试,非常简单的过程,适合入门观看。

【调查报告】你以为的测试行业现状,其实是这样的!

22/2<12

原文地址:http://www.51testing.com/html/56/n-3723356-2.html

最新文章

  1. Java程序开发.邱加永2.1节
  2. SQL Server 2014 安装图解
  3. eclipse js 引用跳转
  4. PHP用mb_string函数库处理与windows相关中文字符
  5. sqlserver2008 R2 创建作业(定时任务)
  6. mongodb python image 图像存储读取
  7. js 页码分页的前端写法
  8. Maven学习总结(三)——使用Maven构建项目
  9. 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(五)Image View视图 学习笔记
  10. Android service ( 二) 远程服务
  11. Linux下生成动态链接库是否必须使用 -fPIC 的问题[转]
  12. (转载)1248 - Every derived table must have its own alias
  13. SQL Server 对表的 12 种一般性操作
  14. OpenCv的Java,C++开发环境配置
  15. Java Web使用Html5 FormData实现多文件上传
  16. hdu 5954 -- Do not pour out(积分+二分)
  17. 不想再被鄙视?那就看进来! 一文搞懂Python2字符编码
  18. Python练手例子(1)
  19. stm32库函数建工程和使用Keil自带库建工程有没有区别?发现了同样的程序在两种情况下keil自带库可以运行的情况,不知是什么原因
  20. 手绘raft算法

热门文章

  1. linux 下安装编译配置 QT
  2. Intellij IDEA通过tomcat部署web项目的机制
  3. oracle-12333错误
  4. Ubuntu官方源
  5. HTML之HTML标签
  6. Spring_MVC
  7. 洛谷 P2568 GCD(莫比乌斯反演)
  8. [转]The Curse of Dimensionality(维数灾难)
  9. HTML5入门指南
  10. Python类型模块:types