背景

整理jmeter脚本编写流程,注意事项,常用组件,常见问题。

参看链接:https://www.cnblogs.com/pwj2lgx/p/10282422.html

参看:processOn思维导图

一、介绍

1、是什么

Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。

Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl 脚本,java 对象,数据库和查询,FTP 服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

2、自己理解

与postman简比较。涵盖的测试场景写起来更清晰,有条理。还可以直接预期与比对返回结果是否正确。
与程序中写的全流程测试有异曲同工之妙。
但是使用的场景时不同的,postman只是用作请求。
而jmeter确实对程序的并发、压力及场景进行了全方位的全流程测试。

二、使用场景

参看链接:https://www.cnblogs.com/pwj2lgx/p/10282422.html

三、常用组件

参看processOn思维导图。

四、安装及使用

1、安装

安装包

2、启动

3、路径问题

jmeter参数化----绝对路径&相对路径
(1) 绝对路径:就是文件存在的路径(通过浏览选择文件)
(2)相对路径:指数据文件(bat/txt/csv)相对于当前执行的.jmx脚本文件的路径
./ 代表当前所在的目录。
../ 代表上一层目录。
/ 代表根目录。(jmeter安装路径bin所在盘的根路径)。

4、使用

jmeter测试流程:下述功能均通过jmeter的不同的组件实现。
1、配置请求参数:IP,请求头信息,数据库地址
2、请求参数:组织请求参数:从数据库查询,自己组织,赋值请求参数给vars。
3、组织测试场景:
【1】赋值入参
【2】预期返回结果,设置响应断言:用来判断是否请求成功。
【3】提取返回的数据信息
【4】比对返回结果是否与数据库一致(这里需要编写脚本,很多时候并不是简单的查询返回,不能将返回结果直接与数据库的查询结果比较,这里就需要写脚本了)。
4、可以参看processOn中的测试流程整理,并参看以前的脚本,通用工具类中有对jmeter脚本的测试代码。

五、常见问题

1、出现问题的解决思路

查看问题节点,锁定问题位置;

锁定问题是否是程序bug;如果是程序问题,调整程序,否则调整jmeter脚本;

查看是否导入了所有需要的jar包;

查看路径是否正确;

查看参数组织时的数据格式是否正确;

取数的jmeter语言格式不对;

脚本中的错误,可以通过打印log日志或者赋值公共变量vars进行锁定问题位置。

2、配合postman一起使用锁定问题

3、中文乱码

解决:打开jmeter.properties:放开 jsyntaxtextarea.font.family=Hack
 
 
 
 
 
 
 
 

最新文章

  1. C# 实现 Excel文件的数据导入
  2. SharePoint 2016 Beta 2 使用体验
  3. 在linux和windows下自动备份数据库
  4. 自制Console线(已测试CISCO3560可用)
  5. URAL 1076 Trash Trash(最大权匹配)
  6. hbase操作的问题
  7. CodeIgniter框架介绍
  8. XML and JSON 验证
  9. javaWeb防止恶意登陆或防盗链的使用
  10. error: ‘for’ loop initial declarations are only allowed in
  11. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)
  12. hdu_5876_Sparse Graph(补图BFS)
  13. 基于Flash与window平台本地程序通信实现媒体流发布
  14. javascript bom 编程
  15. 用js提取字符串中的某一段字符
  16. PCIE4.0 简单介绍
  17. 2.8 定位一组元素elements
  18. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(四):集成 MyBatis 框架
  19. Shell编程(脚本)的经常使用命令和语句
  20. hdu-2837 Calculation---指数循环节

热门文章

  1. 深入理解java虚拟机笔记补充-JVM常见参数设置
  2. mybatis学习——使用注解开发
  3. 【NX二次开发】根据部件名返回部件tag,UF_PART_ask_part_tag
  4. 【SQLite】教程04-SQLite数据类型
  5. 【题解】P2854 [USACO06DEC]牛的过山车Cow Roller Coaster
  6. NOIP模拟测试2「排列 (搜索)·APIO划艇」
  7. Golang学习(用代码来学习) - 第一篇
  8. Netty 框架学习 —— 基于 Netty 的 HTTP/HTTPS 应用程序
  9. 怎么停掉或关闭运行的npm run dev
  10. js笔记14