性能测试(8)——Jmeter基础入门

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: Get、Post请求(以个人学生管理系统为例)在线程组中右键新建“用户定义的变量”,添加键值对,如果在请求中需要使用到该变量,则在“值”这一栏下,填写${该变量名称},来引用该变量的值。

Get、Post请求(以个人学生管理系统为例)
在线程组中右键新建“用户定义的变量”,添加键值对,如果在请求中需要使用到该变量,则在“值”这一栏下,填写${该变量名称},来引用该变量的值。
image.png

用户自定义的变量
在一个线程组中添加HTTP请求默认值,使此线程组里面的每一个请求都默认使用这个请求值,不需要再次填写请求基本信息
image.png

HTTP默认请求值
(一)以下为请求路径,以及请求参数示例:
(二)在Jmeter中,新建线程组,在线程组中新建HTTP请求,以下为填写要求
(三)演示Get请求
image.png
(四)演示Post请求
这里引用HTTP请求默认值,以及用户自定义变量,则不再描述
image.png

Get请求
学生管理系统后台接口 localhost:8080
登陆页面请求接口 localhost:8080/Login/check
账号 admin
密码 123
  • 至此Jmeter的GET、POST请求已经完成了,这里需要提醒以下,GET请求和POST请求的差别:
    GET请求会把用户输入的参数显示在地址栏中,则存在安全隐患
  • 另外请求显示成功并且状态码为200时,不代表这个接口是测试通过并且返回数据的,仅仅代表这个接口能够接收到请求,测试是否返回数据需要查看“响应数据”一栏的数值与预期是否一致。
  • 在输入所有请求路径、请求值等时,不要输入空格,否则运行时就弹出URL语法错误

Jmeter基础知识—请求参数化

  1. 添加配置元件中的CSV数据文件设置,在文件中填入相关参数,如下:
    image.png
  2. 添加http请求,在请求中把参数和配置文件关联起来
    image.png
  3. 在线程组中设置循环次数,一般配置文件中有多少条数据,我们就设置为循环多少次
  4. 运行,查看结果树,如果参数比较多,可以勾选上“仅错误日志”

Jmeter基础知识—查看结果

断言种类繁多,如以下,本章主要讲解响应断言,Json断言,Xpath断言,其余自行了解
image.png
image.png
添加完断言后,运行http请求,如果添加的断言在响应结果中,那么这个http请求则显示为绿色标记通过,如果响应结果中没有自行添加的断言,那么这个请求则不通过标红

响应断言
  • 通过表达式获取json返回值中的数据,通过判断是否包含有指定的数据来进行结果判断处理,非常适合返回值为json类型的接口
    image.png

    Json断言
  • 通过控制台中复制Xpath进行筛选,查看结果
    image.png

    Xpath断言
  • 1.打开jmeter请求中的高级选项,输入项目地址,以及Fiddler的端口号,默认为8888
    image.png
    2.运行后,打开Fiddler即可抓到这条请求的包,里面有这条请求的所有详细数据
    image.png
    结合Fiddler抓包可以精准的获得这条数据的一切信息。

    Jmeter结合Fiddler查看结果

    1.打开jmeter请求中的高级选项,输入项目地址,以及Fiddler的端口号,默认为8888
    image.png
    2.运行后,打开Fiddler即可抓到这条请求的包,里面有这条请求的所有详细数据
    image.png
    结合Fiddler抓包可以精准的获得这条数据的一切信息。

    Jmeter基础知识—察看结果树

  • 在察看结果树中,选中CSS选择器测试

    察看结果树之CSS_jQuery_Tester(CSS选择器测试)使用

    选择器和属性:这里填写你需要过滤的CSS样式组件以及样式参数,例如
    当需要拿到name属性的值时,我们只需要在选择器输入“a[class=text]”,在属性中输入"name"
    即可拿到name属性的值,这里的结果为hello,这个选择器的使用适合熟悉前端的测试人员,可以拿到筛选后组件中需要所有的属性的值
    image.png

    察看结果树之HTML和HTML Source Formatted

    (一)HTML:Jmeter加载网页的样式,展现出网页的效果
    image.png
    (二)HTML Source Formatted:将网页的代码全部格式化,展现代码
    image.png

    察看结果树之Json和Json Path Tester

    (一)Json:将接口返回的响应数据进行json数据的格式化展示
    image.png

(二)Json Path Tester:返回json数据,通过json表达式对json数据进行筛选提取
image.png

察看结果树之Xpath Tester

1.在网页中按F12打开控制命令台,选择需要的图标样式,右键copy它的Xpath
image.png
2.在jmeter的结果树中选择查看Xpath tester,将xpath复制进去,即可得到筛选后的前端组件位置
image.png

察看结果树之正则表达式(RegExp Tester)

通过正则表达式筛选组件,可以单独学习正则表达式,然后再学习本章,通过左边界和右边界对结果进行限制,在中间放置正则表达式进行筛选,正则表达式(.*)表示匹配所有符合条件的
image.png

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
1月前
|
测试技术 持续交付 开发者
探索自动化测试的无限可能:从入门到精通
在软件开发领域,确保产品质量是至关重要的。自动化测试作为一种高效、可靠的测试方法,正逐渐成为行业标准。本文将带你深入了解自动化测试的世界,从基础概念到实践技巧,帮助你掌握这一强大的工具。无论你是初学者还是有经验的开发者,都能从中获得宝贵的知识和启发。
|
1月前
|
Java 测试技术 开发者
初学者入门:掌握单元测试的基础与实践
【10月更文挑战第14天】单元测试是一种软件测试方法,它验证软件中的最小可测试单元——通常是单独的函数或类——是否按预期工作。单元测试的目标是确保每个模块在其自身范围内正确无误地运行。这些测试应该独立于其他模块,并且应该能够反复执行而不受外部环境的影响。
52 2
|
1月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
131 3
|
13天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
51 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
9天前
|
Java 测试技术 Android开发
探索自动化测试的奥秘:从入门到精通
【10月更文挑战第37天】本文将带你进入自动化测试的世界,从基础知识到实战案例,逐步揭示自动化测试的神秘面纱。我们将一起探讨如何利用代码来简化测试过程,提高效率,并确保软件质量。无论你是初学者还是有经验的开发者,这篇文章都能为你提供有价值的见解和技巧。让我们一起踏上这段探索之旅吧!
|
14天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
16天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
42 3
|
15天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
32 1
|
1月前
|
测试技术 网络安全
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
184 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
|
2月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存