LoginSignup
1
0

[jMeter]ListとかJSONとかをvarsに入れるやつ

Posted at

IT屋や工作屋って面倒くさがりの究極系

そろばんが電卓になり、手紙がメールやアプリのDMになり、紙での申請がワークフローシステムでスマホからも出来るようになり、色鉛筆や絵の具でのお絵描きもデジタル・CGに置き換わりつつあり。。。

と、手作業でチマチマ行ってきたものがITの発展してきたお陰でササッと出来るようになって、さらに近年はAIも出てくるようになりとうとう人は考えることすら辞めてしまうのかという不安すら感じる今日此の頃、みなさんいかがお過ごしでしょうか。
※AIやGoogle先生に聞けばいいやと言う、何も考えられないバカだらけの世の中は嫌だなぁ。。。

なんでこんなに発展したのか、根本にあるのは作業効率化という建前の 「ちょっとでも楽をしたい」 という、お気持ちからなんだろうと思ってます。

IT屋なんかは特にその「楽をしたい」と言う気持ちが強いようで、各工程(設計・開発・テスト・リリースなど)の割とありとあらゆる作業を楽に終わらせようというぜということで、自動化ツールが腐る程あるわけですよ。
※ツールを使うまでもないようなものは基本的に即席で自作

そんなこんなで、タイトルのjMeterってなに?

超ざっくりいうと、
WebサイトやAPIのテスト(主に負荷テスト)を、いちいちブラウザ開いてポチポチしなくても、
ツールがリクエスト送ってくれて戻りの結果とかをいい感じに見せてくれるツールです。
※500人同時アクセスとか、APIの戻り合ってるよね?テストをする時に使うアレ

まぁここにたどり着いたということは。。。

既にjMeterの知識があるとか、実装に悩んでとりあえず来ちゃったみたいな人が大半だと思うので、とりあえずコードだけ先に。。。

JSR223 Listener
// サンプラーの HTTPリクエスト にぶら下げる JSR223 Listener
// リクエストの結果を格納するよってコード(groovyじゃなくてJavascriptで書いてます)

// とりあえず、戻ってきた結果をJSONにパース
var body = JSON.parse(sampleResult.getResponseDataAsString());

// 最終的に保存するList(配列)
var responseList = [];
// bodyの中にlistっていうKeyの配列がある体で、中身のlistをループして変数にPush
for(var i = 0;i < body.list.length; i++){
	responseList.push({
		'appId': body.list[i].appId,
		'appName': body.list[i].appName
	});
}

// varsに入れるよ
vars.putObject('responseList', responseList);

通常の vars.put だとStringしか格納できないため、
vars.putObject(key名, 入れたいもの) を使うと良いらしいです。

ちなみに値をゲットするときは vars.getObject(key名) を使う。
Getした値は変換をかけずにそのまま使えるので便利だねぇ。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0