2016-03-29 6 views
3

enter image description here私はJmeterを初めて使用しており、太字の "id"( "id": "56fa091ae4b081fb934b083a")をキャプチャする方法を探しています。メタデータセクションの動的値でもある "parentEventId"に基づいたデータです(私はすでに以前のスレッドグループから取得した "parentEventId"値を持っています)。異なる "parentEventId"を持つ複数のレコードが存在する可能性があり、選択した "parentEventId"の前述の "id"データを取得する必要があります。他の動的値に依存する正規表現の動的値を取得する方法

これは簡単な答えかもしれませんが、If Controllerで使用する式が見つかりませんでした。いくつかのRegEx抽出器を試しましたが、どれも正常に動作しませんでした。 これについてのお手伝いをさせていただきます。ありがとうございます。ありがとうございます。

以下は私の体のデータです。

[{"ID": "56fa091ae4b081fb934b083a"、 "eventCalendar":{ "ID": "53757a6c156695a10bcefd57"、 "タイプ": "人物"、 "のdisplayName": "テスト名"}、 "organizerEvent" :true、 "start":1459486061505、 "end":1459489661505、 "allDay":false、 "title": "テストタイトル"、 "説明": "テストの説明"、 "場所": "テスト場所"、 "className ":" CS-12" 、 "タイプ": "CALENDAR"、 "visibleToPublic":偽、 "メタデータ":{ "parentEventId": "56fa091ae4b081fb934b0839"}、

+1

お試しください。 – CinCout

+0

スクリーンショットを添付しました。私が試したことはとてもシンプルでした。 – Thimz

答えて

2

あなたparentEventIdidが等しい場合 - なぜちょうどparentEventIdを使用しないでください。そうでない場合は、完全な回答と関係を表示して質問を更新してください。

ちなみに、JSON Path ExtractorJMeter Plugins JSON Dataのプロジェクトで利用できます。正規表現よりもはるかに便利です。私が正しく理解していれば

2

$..parentEventId[0] 

参考文献:たとえば、あなたが何かのようにparentEventIdを抽出することができますあなたは動的なparentEventIdの情報を提供されていますそれに応じてJSONデータから子IDを抽出したいと考えています。この場合、次のような解決策があります。

var parentEventId = "56fa091ae4b081fb934b0839", 
      data = '[{"id":"56fa091ae4b081fb934b083a","eventCalendar":{"id":"53757a6c156695a10bcefd57","type":"PERSON","displayName":"Test Name"},"organizerEvent":true,"start":1459486061505,"end":1459489661505,"allDay":false,"title":"test title","description":"test 56fa091ae4b081fb934b083adescription","location":"test location","className":"cs-12","type":"CALENDAR","visibleToPublic":false,"metadata":{"parentEventId":"56fa091ae4b081fb934b0839"},', 
       rex = new RegExp('\\[{"id":"([a-f0-9]{24})"(?=.*{"parentEventId":"' + parentEventId + '"})',"g"), 
       res = rex.exec(data); 
console.log(res[1]); // 56fa091ae4b081fb934b083a 
+0

はい@Reduあなたは私の質問を正しく持っています、本当に申し訳ありません。私はこのソリューションをどこで使うべきか分かりません。だからこれはBeanshell PostProcessorまたは何かとして入力する必要がありますか? – Thimz

+0

申し訳ありません@Thimz私はJmeterで全く経験していません。しかし、Jmeter正規表現のこのブログ記事があなたを助けることができるかもしれません:https://blog.flood.io/guide-to-jmeter-regular-expressions/ – Redu

+0

ええ@Redu私はすでにそのブログ記事をチェックしましたが、それは助けにならなかった私はいくつかの正規表現を試して、私の問題の答えを得ました。 * "parentEventId": "56fe3409e4b01e5b9661d878" 私が以前に取得した 'parentEventID'は別のスレッドグループ変数にあり、その変数に上記の値を与えるのに苦労しています。あなたがこの上で役立つことができれば非常に感謝:) BeanshellPostProcessorが として {__setProperty(parentEventID、$ {parentEventID})} 編集正規表現を使用し、{ "ID": "([^"] +) "(?: )* "parentEventId": "{__ Property(parentEventID)}" しかし、それはうまくいかなかった – Thimz

関連する問題