全栈性能测试修炼宝典JMeter实战---第四章学习笔记1

全栈性能测试修炼宝典JMeter实战-第四章

  • JMeter脚本开发
    • JMeter 工作区介绍
    • JMeter Http协议录制
      • Badboy进行录制
      • JMeter 配置代理进行录制

JMeter脚本开发

本章可以学到:
JMeter 工作区介绍
JMeter Http协议录制
JMeter 脚本测试与目录正文不同步
JMeter 关联
JMeter 参数化
JMeter 检查点
JMeter 事务
JMeter 集合点
JMeter 元件运行顺序

JMeter 工作区介绍

分为目录树,测试计划编辑区和菜单栏,如图所示。 全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第1张图片

JMeter Http协议录制

JMeter 的录制除了自身提供的HTTP代理方式进行录制,第三方工具Badboy也提供了录制支持。
Http 代理方式进行录制的原理是解析网络数据包,按Http协议包装成Http Request、Http Response等对象。

Badboy进行录制

Badboy是一个浏览器模拟工具,具有录制及回放功能,还可进行测试。
Badboy录制的脚本可导成.jmx格式,.jmx是JMeter脚本保存的格式。
Badboy的录制方式有两种,一种是Request方式,一种是Navigation方式。
两种方式的区别:

  1. request:模拟浏览器发送表单信息到服务器,每个资源都蒋作为请求发送。
  2. Navigation:记录用户鼠标动作,类似自动化测试工具QTP,回放时模拟一个点击。

基于JMeter脚本的要求,我们需要选用request方式来进行录制,这些请求将以.JMX格式保存下来,采耳可以导入JMeter进行复用。

下载安装Badboy:

  1. 下载并安装Badboy
  2. 打开Bayboy
    初始界面默认开启Request的录制模式。
    全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第2张图片
    Script目录树结构介绍:
    Test Suite 1:默认的脚本根节点,类似JMeter的测试计划根节点。
    Test1:测试活动根节点,可理解为一个业务功能脚本存放在此目录下。
    Step2:测试活动的步骤,如果一个业务过程比较长,可分为多个测试步骤。

开始录制:
Step1:进入网址。
打开录制按钮(默认打开),输入网址,点击 -> 或回车,即开始录制。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第3张图片
Step2:点击登录,输入用户名及密码,验证成功后进入微博首页。
1.点击点击新建一个Step2
2.再点击登录进行登录操作。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第4张图片
Step3:在微博首页,发布微博。
1.先点击新建一个Step3
2.在输入框内编辑微博内容,点击发布。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第5张图片
这样,我们已经录制完了登录及发微博的全过程。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第6张图片
录制完成后导出成JMeter脚本,路径:【File】-【Export to JMeter】-【选择保存路径】
在JMeter中打开已录制好的脚本。路径:【File】-【Open】-【打开保存路径】-【选择脚本文件】
JMeter以树形结构显示脚本,执行时原则上按节点先后顺序往下执行。
Test Plan: 测试计划,JMeter测试脚本根节点。每个测试脚本都是一个测试计划。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第7张图片

  1. User Defined Variables:设置用户全局变量。
  2. Run Thread Groups consecutively:独立运行每个线程组,不设置时多个线程组同时运行。
  3. Run tearDown Thread Groups after shundown of main threads:关闭主线程后运行treardown程序来正常关闭线程组。
  4. Function Test Mode:函数测试模式。
  5. Add Directory or jar to classpath:把测试需求依赖的jar包或包所在的目录加入类路径。
    全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第8张图片
    Thread Group:模拟虚拟用户的发起点,再次可以设置线程数及于运行次数或者运行时间,还可以定义调度时间与运行时长。
    全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第9张图片
    HTTP Cookie Manage:JMeter通过加入HTTP Cookie Manage来自记录Cookie信息,选择默认即可。
    全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第10张图片
    JMeter支持的Cookie标准有多种,JMeter同时也提供两组程序实现来支持这些Cookie标准,分别是HttpClient3与HttpClient4。
    HttpClient3.1可以支持一下Cookie标准:
    RFC2109,JMeter默认Cookie协议是RFC2109;
    RFC2965;
    Netscape标准;
    Browser Compatibility;
    Ignore Cookie,忽略所有Cookie;

User Defined Variables:用户定义的变量。
jsessionid一般为服务器返回的,每个用户返回的都不一样。但Badboy转换的脚本把jsessionid放在此元件中,所以我们要把它去掉。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第11张图片
Http Header Manage:管理Http头信息。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第12张图片
Step 2:一次登录可以多次发布微博,所以把登录的循环次数设置为1。其余的可设为永远。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第13张图片
https://weibo.com/:这是一个HTTP请求元件。
Web Server:指定Http请求的主机地址,不需要加上“http://”,JMeter会自动加上。普通Web服务器端口号默认为50,邮箱端口号一般为443,如果访问地址中带有其他端口号请在此填入。
全栈性能测试修炼宝典JMeter实战---第四章学习笔记1_第14张图片
Timeouts:指定超时时间,单位是毫秒;Connect指定连接超时时间,Response指定响应超时时间。
Implementation:
Httpclient是Apache Jakarta Common下的子项目,通过她可以高效地访问HTTP协议的资源,可看成是一个没有界面的浏览器;
HttpClient4,Httpclient3.1的扩展;
Java,使用JDK提供的net包中的工具类来访问。

Protocol(协议):录制的微博登录用的是https协议,https是SSL的链接,较http有较高的安全性。
Method(方法):常用Post和Get。Get提交请求时会把参数暴露再浏览器地址栏,且长度限制约为1M;Post提交请求对于表单理论上没有长度限制,用户一般也看不到提交的内容,较Get方式安全。

Content encoding:字符编码格式,默认iso8859
path:除主机地址部分的访问链接
Redirect Automatically(自动重定向):HttpClient接收到请求后,如果请求中包含重定向请求,HttpClient是可以自动跳转的,但是只针对Get和Post请求,勾选后“Follow Redirects(跟随重定向)”失效。但是JMeter是不记录重定向过程内容的,在查看结果树中无法找到重定向过程内容。
Follow Redirects(跟随重定向):Http Request取样器的默认选项,当响应Code为3××时(如301是重定向),自动跳转到目标地址。与自动重定向不同,JMeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容。

Use KeepAlive:Http响应头中的Connection:Keep-Alive,默认选中。
Use multipart/form-data for POST:当发送HTTP Post请求时,使用Use multipart/form-data方式发送。这个属性与Post 方法绑定。

Browser-compatible headers:浏览器兼容模式,使用Use multipart/form-data for POST建议勾选此项。

Send Parameters With the Request:同请求一起发送参数。

Proxy Server:配置代理服务器。
Embedded Resource from HTML:解析HTML文件和发送的HTTP/HTTPS请求资源。
Embedded URLs must match:检索所有嵌入资源。
Use concurrunt pool:并发检索资源,可设置并发大小。
URLs must match :使用正则表达式来指定检索的URL范围。

以上根据脚本介绍了各元件

JMeter 配置代理进行录制

  1. 浏览器配置代理
    设置代理服务器,把localhost改成127.0.0.1
  2. JMeter配置代理
    (1)在工作台中建立一个HTTP代理服务器节点

你可能感兴趣的:(jmeter)