パフォーマンステストツール---jmeterの説明

1. jmeterのディレクトリ構造

bin 目录(常用文件介绍)
    jmeter.bat:windows下启动文件
    jmeter.sh:Linux下启动文件
    jmeter.log:Jmeter运行日志文件
    jmeter.properties:Jmeter配置文件
/docs目录——Jmeter帮助文档
/lib/ext目录——存放Jmeter依赖的jar包

2. 機能概要

2.1 中国化

2.2 テーマを変更する

3. jmeter コンポーネントとコンポーネント

3.1 コンポーネントの基本的な紹介

コンポーネント: 複数の同様の機能コンポーネントのコンテナー (クラスに類似)

3.2 コンポーネントの基本的な紹介

コンポーネント: 独立した関数を実装します (メソッドと同様)

 まとめ:

3.3 コンポーネントの範囲

コンポーネントのスコープ: テスト計画のツリー構造におけるコンポーネントの親子関係によって決まります。 

ヒント: すべてのコンポーネントはサンプラーのコア上で実行されます。コンポーネントの追加場所が異なり、有効なサンプラーページが異なります

 要素の実行順序:

(1) 同じ範囲内の異なるコンポーネント:

     構成要素、プリプロセッサ、タイマー、サンプラー、ポストプロセッサ、アサーション、リスナー

(2) 同じ範囲内の同じコンポーネント:

     上から下へ順番に実行

場合:

 実行順序:

タイマー 1 -- http リクエスト 1 -- タイマー 1 -- タイマー 2 -- http リクエスト 2 -- タイマー 1 --- タイマー 3 -- http リクエスト 3

4. jmeterの使用例

4.1 スレッドグループ

作用: 线程组就是控制jmeter用于执行测试的一组用户
位置: 右击"测试计划"-->添加-->线程(用户)-->线程组
特点: 
     模拟多人操作
     线程组可以添加多个,多个线程组可以并行或者串行
     取样器和逻辑控制器必须依赖线程组才能使用
     线程组可以添加其他元组下组件

4.1.1 スレッドグループの分類

普通线程组,常用的线程组,可以看做是一个虚拟用户组,线程组中的每一个线程都可以理解为一个虚拟用户
setup线程组:一种特殊类型的线程组,可用于执行预测试操作
teardown线程组:一种特殊类型的线程组,可用于执行测试后工作

4.2 HTTPリクエスト

作用: 向服务器发送http请求和https请求
位置: 进入线程组-->右击-->添加-->取样器-->HTTP请求

4.3 リスナー

作用: 监听器可以动态的监控jmeter测试执行的过程,实时查看测试结果
位置: 线程组-->添加-->监听器-->聚合报告/察看结果树

 (1) 結果ツリーの表示

(2) 集計レポート

 5. jmeter のパラメータ化

5.1 jmeter の概要

本质:使用参数的方式替代脚本中的固定的测试数据
实现方式:文件定义的方式/数据库的方式/定义变量

5.2 jmeterのパラメータ化

パラメーター化されたテスト: テスト データを整理し、異なるテスト データで同じテスト メソッドを呼び出します。

jmeter の一般的なパラメータ化メソッド:

用户定义的变量
用户参数
CSV Data Set Config
函数

5.2.1 ユーザー定義変数

作用: 定义全局变量

位置: 测试计划-->线程组-->配置元件-->用户定义的变量

 ${変数名}で参照する必要があります

5.2.2 ユーザーパラメータ

作用: 针对同一组参数,当不同的用户来访问时,可以获取到不同的值
位置: 测试计划-->线程组-->前置处理器-->用户参数

5.2.3 CSVデータファイルの設定

作用: 让不同的用户在多次循环时,可以取到不同的值
位置: 线程组-->配置元件-->csv数据文件设置

 

5.2.4 関数のパラメータ化

作用: 计数函数,一般做执行次数统计使用

方法 1: _counter 関数

場所: オプション --> 関数コメントダイアログ --> _counter

方法 2: CsvRead 関数

場所: [オプション] --> [関数コメント] ダイアログ --> [CsvRead]

 方法 3: RandomString 関数

場所: オプション --> 関数コメントダイアログ --> _RandomString

 6. jmeter アサーション

効果:

让程序判断预期结果和实际结果是否一致

 一般的な主張:

响应断言
json断言
xpath断言

6.1 応答アサーション

作用:对http请求的任意格式的响应结果进行判断
位置:测试计划-->线程组-->http请求-->(右键添加)断言-->响应断言

 6.2 JSONアサーション

作用:对http请求的json的响应结果进行判断
位置:测试计划-->线程组-->http请求-->(右键添加)断言-->json断言

 6.3 xpath アサーション

定义:xpath基于XML的树状结构,提供在数据结构树中寻找节点的能力
位置:测试计划-->线程组-->http请求-->(右键添加)断言-->xpath断言

区别:
    响应断言(适用任何的返回类型),
    json断言(只适用于json的返回类型),
    Xpath断言,针对返回信息为Xpath的数据类型进行断言

6.4 アサーション期間

作用:检查http请求的响应时间是否超出要求范围
位置:测试计划-->线程组-->http请求-->(右键添加)断言-->断言持续时间

7.jmeter協会

一般的な関連付け:

正则表达式提取器 --提取任意格式的数据
json提取器 --提取json格式的数据
xpath提取器 --提取html格式的数据

7.1 正規表現

作用:针对任意格式的响应数据进行提取
位置:线程组>>添加>>后置处理器>>正则表达式提取器
公式格式:左边界(匹配符号)有边界:可以提取出想要获取的数据内容
.:是通配符,可以代表任意字符(除换行回车)
*:代表前面的字符出现0或者多次
.*匹配规则:找到左边界值后,往右查找有边界,找到最后面的有边界,中间的所有的数据都被记录下来
?:代表非贪婪匹配,找到左边界后,往右查找匹配走边界,只要右匹配的右边界就停止继续查找;再次查找
左边界的右边界
公式格式:左边界(.*?)有边界
<title>(.*?)</title>
<title>百度一下,你就知道</title>

 詳細パラメータ

引用名称:存放提取出的值的参数名称
正则表达式:左边界(.*?)有边界
模板:用$$引用起来,表示解析出第几组()的值
匹配数字:1表示第一个值,-1表示所有的取值

  

  

  

7.2 json エクストラクター

json提取器 :就是json表达式提取数据,从返回格式是json中提取想要的数据内容
位置:线程组>>添加>>后置处理器>>json提取器

 場合:

ログインの実現 - 残高のクエリ

 json式を介してログイントークンデータを抽出します。

 バランスインターフェース

 7.3 xpath エクストラクター

xpath提取器 :针对于HTML格式的响应结果数据进行提取
位置:线程组>>添加>>后置处理器>>xpath提取器

 場合:

Baidu 検索でデータを抽出し、2 番目の Baidu 検索を渡して検索します

 確認

 2番目のインターフェースで使用する

注意:
    正则可以适用任何形式的返回格式类型,
    json可以适用于json格式的返回类型,
    xpath适用html格式的返回类型

おすすめ

転載: blog.csdn.net/qq_44954371/article/details/126858087
おすすめ