Jmeter核心-hc课堂笔记
自动化测试平台-Httprunner-接口、UI、协议。
平台语言-JAVA-UI-Selenium(java版的)、Appium(java版的)、接口-Httpclient、Jmeter。(Jmeter性能测试工具,可以做接口自动化,java写的。)
平台语言-Python-locust(接口、性能)。
linux下载tgz格式的,windows下载gpg格式的。
source是源码。
Jmeter:
整体结构:Java(可扩展)、脚本开发(录制、手写-Http协议:"get、post"、自定义)、场景设计、测试结果。
Get-请求url、参数、请求头。
Post-请求url、参数、请求头、数据。数据有3种:表单(name=value)、不规范的自定义数据(json、xml、随便的数据)(使用消息体数据)、附件(使用文件上传)
排查问题是就看上面标红的是否有问题。看这个请求特有的头信息。
请求头:html/xml:text json:application/json
进程是管理单元、线程是操作单元。操作都是通过线程完成的。
用户其实指的就是线程(lr jmeter ab)或协程(locust)。
用户-真实用户(实际中)、线程(压测时)。1万个用户达到的同一时刻的并发可能只有50个。
cookie和session都是服务器产生的,存在客户端叫cookie,存在服务器端叫session.
服务器返回set-cookie.
cookie和session都是保存服务器和客户端状态的,因为http协议是一个无状态的协议。cookie和session是共存的,核心内容在session里面,id号存在cookie里面。
Jmeter:
HTTP请求默认值
HTTP Cookie管理器
HTTP信息头管理器
创建HTML数据(CSV数据文件设置) 将请求中的数据,替换成${变量名}
登录业务控制器(仅一次控制器):
首页(GET)
登录(Post)
响应断言
断言持续时间
登录后页面
高斯随机定时器 (首页、登录、登录后页面执行后都会停留思考时间,如果放在首页下面,则只有首页会停留)
创建HTML(简单控制器):
点击创建HTML
获取token(边界提取器)
创建HTML(POST)
newtoken 前置处理器(Bean Shell PreProcessor) import com.huicewang.*;
String token = vars.get("token);
String newtoken = Tools.decode(token);
vars.put("newtoken",newtoken);
HTTP信息头管理器 (${newtoken})
Debug Sampler
察看结果树
fiddler抓到的请求:
业务相关请求。
样式表、图片、js相关请求。(一般没用)
请求头中的keep-alive代表客户端支持长连接,但是实际是不是长连接要看服务器的返回头中。
Token:令牌。从下往上找。
关联:保存服务器返回的数据,再做一些特殊的处理,后续的请求会用。
jmeter支持Xpath 函数助手
URL编码、解码
将开发导出的Jar包拷到jemeter-lib-ext文件夹下,重启jmeter
csv文件,Subline工具打开,另存为时Save with Encoding选择 UTF-8
按照时间运行,跑多长时间,不知道会跑多少次。 循环次数选择永远,勾选调度器,持续时间xxx
跑多少次,但是不知道会跑多久。 线程数10 循环次数1000 10个用户登录 跑10000万次创建html
Jmeter官网插件库。
性能测试中最关心的,响应时间、吞吐量(每秒钟事务数TPS)。
好的性能要够快、够多,要响应时间、吞吐量、用户同时考虑。
用jmeter测试websoket协议。
分布式压测:
Controller机器上,配置Jmeter.properties文件,remote_hosts配置压力机:将ip填写上,用逗号隔开,(压力机的端口默认是1099,如果压力机的机器上将把Jmeter.properties文件的port打开了,则在控制机上也需要将对应的端口号打开,并且:后是该压力机对应端口号。)
在控制机上运行-远程启动/远程启动全部,则启动了压力机。(前提:压力机上的jmeter都已经启动,启动方法,在压力机上,命令窗口输入jmeter-server.bat即启动了压力机。)
先配置好jmeter环境变量。
命令窗口,到脚本目录下,jemeter -n -t Alfresco.jmx -l log /1.log -r -e -o reports/
非图形化,分布式压测。
如果(if)控制器。
同一级别下:
配置元件会先执行,其次取样器(参数化、关联、断言、前置处理器、后置处理器),最后监控。
取样器的执行基于线程组,基于时间、基于次数。
Jmeter核心-hc课堂笔记的更多相关文章
- Linux核心-hc课堂笔记
windows系统:分区 linux系统:树形结构 <鸟哥的私房菜>关于分区.linux命令.基础篇 服务器篇 关于文件夹: /boot 引导分区,操作系统启动时要到该目录下 ...
- Lr场景设计-hc课堂笔记
性能测试最基本也是最难的部分:场景设计.瓶颈分析和定位 10个业务10个脚本,每个脚本单独执行:单独场景.10个脚本一起执行:混合场景.10个业务1个脚本:可以设计不同用户登录,分别做不同的操作等场景 ...
- Locust环境搭建及应用-hc课堂笔记
Locust环境搭建: 1,在命令窗口中,进入到python项目路径,如:d:\Pycharmproject\venv\Scripts 2,执行Scripts下的active.bat,进入到虚拟环境 ...
- Lr原理初识-hc课堂笔记
showslow web服务器-apache.ngix devops 需求调研-占1/3的时间. 架构拓扑图 APP端测试工具:JT.Vtest 进程是管理单元.线程是执行单元. 虚拟用户和真实用户是 ...
- 静态性能测试-hc课堂笔记
UI自动化,需要掌握html相关知识 w3c网站. 会了性能测试就会了接口自动化. 静态扫描:降低40-50% findbugs,隐含的bug checkstyle,风格规范 域名解析: 输入网址-D ...
- Docker介绍-hc课堂笔记
1,传统模式-多个服务器:申请.安装jdk等.部署环境. 容器-整包,把有东西打包到一起,把这个包放在服务器上. linux中装了docker,起100个服务,改个数字就可以,5分钟左右. 2,虚拟化 ...
- 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记
前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...
- 九章算法系列(#2 Binary Search)-课堂笔记
前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一 ...
- ocp11g培训内部教材_052课堂笔记(042)_体系架构
OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...
随机推荐
- git从入门到放弃
到你想进行版本控制的文件所在的目录下(该目录即是工作区) 查看状态 git status 初始化 git init 添加到暂存区 git add 提交到版本库 git commit -m " ...
- 盒子模型的margin负数用法
盒子的margin用法大家都应该很清楚,在实际中一般使用margin来水平居中或者让自己移动相应的位置,但是margin给负数在实际中也是有用的. 如图为两个浮动的盒子. 给左边的盒子margin-l ...
- EF数据库优先模式(三)
今天2018年4月1日,呼叫王伟,81192,收到请返航! 接上次说,本节将LINQ以及lambda表达式 LINQ是C#里面针对SQL Server特有的数据访问操作方法,通俗一点说就是类似于写SQ ...
- Hibernate中的三种数据状态
Hibernate中的三种数据状态(临时.持久.游离) 1.临时态(瞬时态) 不存在于session中,也不存在于数据库中的数据,被称为临时态. 比如:刚刚使用new关键字创建出的对象. 2.持久态 ...
- JavaOne 2016主旨演讲畅谈Java近期及远期规划
在 JavaOne 2016 主题演讲开场,来自 Oracle 的 Java 产品管理负责人 Sharat Chander 指出 Java 盛行于个人和工作的日常生活各个领域,无论是大数据.物联网甚至 ...
- HDU3534(SummerTrainingDay13-C tree dp)
Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 记一款bug管理系统(bugdone.cn)的开发过程(1) -- 为什么要开发一款bug开发系统
对于从事软件研发行业的同学来说bug管理系统肯定不陌生.本人03年左右开始正式成为一名码农,工作期间接触过若干bug管理系统,如JIRA等,不过都是自行部署在公司内网的. 几年过去了,现在已经是互联网 ...
- Visual Studio Code配置Python环境
安装环境python环境变量,这个就不写了,这类文章一抓一大把,这类就省略了······· 在Visal Studil Code中配置python环境,其实跟我的上一篇文章一样,如图: 这里有两个选择 ...
- centOS7中Mariadb数据库安装与基本管理
一.Mariadb数据库安装 1. 直接yum源安装 yum -y install mariadb mariadb-serversystemctl start mariadb /启动Mariadb服务 ...
- Python pip 安装与使用
pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具. Python 2 ...