从http响应体中获取字符串到Jmeter中的数组

Fetch string from http response body to array in Jmeter

**大家好 我想从 HTTP 响应正文中获取 ID 并将其存储在数组中,以便在另一个 HTTP 请求中再次使用它。

我想这样存储{961418ee-9660-4a00-a3b9-10af37e53f02,70287416-26ab-4782-9cef-73c40f17ab7e,a44cc59d-1930-4db5-9898-039bddb9e182,...}

ID 的数量每天都会变化,所以我想要一种动态的方式来获取 ID,无论 ID 的数量是多少。 这是我得到的响应正文:

        <select multiple="multiple" id='SMSFarmerlstBox1' class="form-control" style="overflow: auto;">
                <option value="961418ee-9660-4a00-a3b9-10af37e53f02">هديل  ربيحات </option>
                <option value="55c07514-7e09-4acf-9ee1-a27670230887">منى مفلح الخليفات </option>
                <option value="f5675c08-d636-4e8f-b582-6314f7edbc26">جهاد  النادي </option>
                <option value="bd379320-8dd4-4b64-8f30-c7c9675f924e">سيرين  العدوان </option>
                <option value="7230434f-08bb-44e5-99d1-a792d446cac6">sofian test sofianTest1 </option>
                <option value="eadd3b5b-439c-486b-bb9d-ef93cdf6b97d">احمد حسني العوامرة </option>
                <option value="d810916e-042d-463d-b306-a15b08bfe908">سالم علي الرواجفة </option>
                <option value="8bffd494-d2ab-49e6-af4d-845a0a40ee32">يحيى عطا الله السعيدات </option>
                <option value="00bc8098-18a5-4843-99ae-c6c0e41a5985">جميل علي البلاونة </option>
                <option value="6ecd3bd9-db71-47ac-8511-e6b535250bf4">sameer sameer sameer </option>
                <option value="4d3a277e-ea52-4b02-a4c6-2f779bff338a">شاكر محمود عطيه </option>
                <option value="59efb63c-7678-4f71-a83b-9dfaf322f09b">احمد سليمان السعيدات </option>
                <option value="86e826b6-90e8-453a-920e-1588e6b294b1">محمود ابراهيم الحميدات </option>
                <option value="6496ab11-9d09-4e9f-bbd5-24b725f09550">زيدان ارشيد مصطفى </option>
                <option value="50c085d9-de73-4822-bcc9-0641f407c700">زياد محمد العمرات </option>
                <option value="a44cc59d-1930-4db5-9898-039bddb9e182">مطالب اسماعيل السعيدات </option>
                <option value="922fdfd4-85a7-4e70-998a-342956e36313">موسى احمد خليل </option>
                <option value="69ef5a87-50eb-4b83-8eb4-ee8a80f77a0c">احمد مذيب الحوراني </option>
                <option value="81858d1d-5f47-48de-af49-55deffa6dd5d">هلا - هلا٢ </option>
                <option value="5b39e72e-af6c-4d63-a516-00e798370d73">محمد سليم الياصجين </option>
                <option value="d3ac5f58-3cab-421b-81f0-5781d47a4666">يحيى اسماعيل الرواضية </option>
                <option value="f749d825-33e8-440c-b69b-a57b1db61d3b">طارق عطا الله الرواجفة </option>
                <option value="9d2232a1-a6de-49dd-9458-ca2f42199970">بسام سعدو الدسوقي </option>
                <option value="ff5654d8-3e29-4084-b25e-8525c349a360">محمد علي الرواضية </option>
                <option value="8c773f6a-82be-4773-b2d5-fc63fa6eab86">abed  arab </option>
                <option value="965d8e80-5e41-4139-8178-0140f02ee07d">2 3 2 </option>
                <option value="a5144925-42b4-4a09-8d68-6b7d30ad8a9e">NSQAC SESD RSS </option>
                <option value="59b52222-c609-4ae4-8cf3-07c508bdce08">راشد محمد علاونة </option>
                <option value="d8890289-d04d-4e59-9649-c54c37e9a57e">1234 1234 1234 </option>
                <option value="c53d5d8d-c85d-42fc-b52c-b01171cdf5bd">حمد محمد الوارسنة </option>
                <option value="70287416-26ab-4782-9cef-73c40f17ab7e">أمين عبد الرحمن الحسين </option>
                <option value="303dbf57-8042-4e08-9aac-6a45a7c2f531">عطا خضر بركة </option>
                <option value="919caf07-0b6d-481b-a40e-638ef5efbe02">ه  ه </option>
                <option value="02582111-905c-48f2-b22b-03b9f90f2aeb">3 2 3 </option>
                <option value="cc21678d-808f-4ee8-8aa2-91d32c787e88">samer samer samer </option>
                <option value="7c4e43df-2a8a-4dfd-8866-fb3fcef6fabb">هديل  ربيحات </option>
                <option value="eaf9ba4f-64c8-4426-9015-cb48bd85b596">حسين عطية الخلايفة </option>
                <option value="ec27b4da-d75d-4718-8097-1085bda248a5">معروف نافع الطالب </option>
                <option value="eeaf651d-7c6e-4885-ad25-4b8c98813902">هلا111 هلا هلا11 </option>
                <option value="d61660d9-0997-4f66-8fe2-bf42c770ec1e">ssss  sssssss </option>
                <option value="cc9a243d-d283-47c3-9b8c-20caed54c6bd">طارق ذياب الحسين </option>
                <option value="21173029-9e4e-4108-a422-da25cecb677a">عادل حسن اسعد </option>
                <option value="a8401fb4-c7cc-424c-afb4-72016f5b041d">أحمد حافظ  الشوبكي </option>
                <option value="29ca1d99-d2d2-4c30-a885-8f57d81104b6">ناصر سعدو الدسوقي </option>
                <option value="19783201-1889-453f-92ad-e34393af9439">كمال سليمان عميد </option>
                <option value="7342e0c0-5723-4a3e-823f-61b6ebcee14a">هرون موسى الفرجات </option>
                <option value="a2cfabfe-8ce0-45c7-a459-bc2212620049">هديل تحديث هديل ربيحات </option>
                <option value="a9c8b51f-3075-495e-9f73-57c1a8669a7b">سفيان - - </option>
                <option value="2332de19-866e-4bd9-ad03-bdd4726146f7">محمود محمد الذخران </option>
                <option value="82bd9b33-2d2e-480c-b4f6-dbc52af54742">sofian test test </option>
                <option value="45d4fa08-bc58-4bf5-8971-a7b63b6384ac">سفيان فحص1 2 </option>
                <option value="1355aeb9-c6b5-4008-af3b-12fad154d076">هلا  الدبوش </option>
                <option value="2800d8d0-e0da-4131-bca8-cc2078e1844c">أحمد سليمان الشوبكي </option>
                <option value="6f4a9f46-6316-45ee-8c0a-6d004ad44a4d">احمد احمد احمد </option>
                <option value="1d0cc550-41c1-481a-b22b-4414524975bc">محجم مخلد الفقيد </option>
                <option value="e5619869-3432-467e-9117-8f3fa13b3827">اكرم محمد عويفة </option>
                <option value="4eed3d5d-0584-49d7-bf19-029d4a8533c8">اسماعيل عبد الرحمن عليم </option>
                <option value="380a7cd0-c884-42c5-b298-8994f5075541">1 1 1 </option>
                <option value="c0067d59-750e-4c44-b1b4-93a0c774b2e9">علي محمد الشطي </option>
                <option value="12830601-d218-43ae-8060-3bbd0e060eb9">سلمان مطلق العمدات </option>
                <option value="44d5d431-c5aa-4db9-a225-f2a0cc88dc81">وصفي عبد الكريم حسن </option>
                <option value="c00e00a4-4be0-45d2-b6d9-e11d138383c7">عبد الله خليل خليفات </option>
                <option value="a14cd05a-de76-4b5a-8cb7-310a57b578db">ابراهيم علي السلاين </option>
                <option value="8deafaad-997f-4a55-86ce-508664e5034d">1234  1234 </option>
                <option value="ad4dac2d-3a70-45c1-bdda-bae751f5362c">وليد عمر الفقيد </option>
                <option value="57c30ec9-f4b3-4307-b500-3ff563669373">رائد ذياب الحسين </option>
                <option value="8c4934c5-41f3-4732-bf87-2166806bbf52">huawi  10 </option>
                <option value="f9a6bbcf-a6e1-4530-bec8-34eee8b9fbd6">test  huawi </option>
                <option value="f4450dcd-6010-4e9c-a756-26d5f80464e7">اسماعيل  سلمان السعيدات </option>
                <option value="5b7cc3a5-d6fa-45c6-83cc-e5acc98d0b57">aa aa aa </option>
                <option value="ccd767d2-63fa-4756-8ce0-389ae181e0d7">أحمد عاطف مشرقي </option>
                <option value="38e8936a-0036-4043-bd90-46b39dab2bf6">صلاح سليمان الجلابنة </option>
                <option value="7c581aba-6671-4767-86c9-f8ee1dbccf0d">احمد علي الجنيدات </option>
                <option value="b452e183-b55a-4eb4-9007-d99fcae8a368">5 5 5 </option>
                <option value="89c96fad-80d0-40f1-8648-d87f452ea638">سلام احمد الفقيد </option>
                <option value="1a9ccf3f-e613-46b0-b72d-fb756ee80ecb">نوال سالم احمد </option>
                <option value="43b54a56-5e8c-4904-9d15-dfa72728445e">أحمد  عبد الفتاح </option>
                <option value="2ddb6666-684b-41ac-903f-dd0ea86db22e">1 1 1 </option>
                <option value="51672174-59bd-4a56-9681-5ff4ac944ecf">هلا علي &lt;&gt; </option>
                <option value="231d10a5-b959-4156-a6bb-b703b73cbb76">سفيان - - </option>
                <option value="14cc8f4b-1279-4ca8-8fcf-1dcd00e6612c">Mohammad  Saleem </option>
                <option value="510fae2b-4678-446c-a715-232bdc4d74a6">محمد متعب العمارين </option>
                <option value="403b7d7b-aaf2-4143-99bc-21ff664ea582">aa aa aa </option>
                <option value="29c12e1f-104e-4334-9370-d2ee61121215">سمير سلمان فريج </option>
                <option value="dee212a4-d3b3-4b6d-bfde-29c2996fd29d">فاطمة محمد جبارات </option>
                <option value="298aeb06-3fad-4e7d-91ce-0fdb468b5f48">Basima Ehsan Jaarah </option>
                <option value="94333b41-1493-43ad-a93e-e78e494631e4">NSQAC SESD RSS </option>
                <option value="53fdd6bd-a418-44fa-ac5c-013b2c39723b">1 22 1 </option>
                <option value="e3d358fd-2749-4e1c-b893-6695487a6524">zuhair - - </option>
                <option value="f18477f1-009e-40df-96ae-ff0a05dd91de">١ تحديث هديل ١ </option>
                <option value="5d7f85d5-496c-494b-b39c-f5f237839d91">اسماعيل حمودة السلامين </option>
                <option value="359857c6-9d7d-4da2-9d29-a197ebc006f8">سهام  احمد السيد </option>
                <option value="05e63a59-7999-473c-a09c-0c918beb4a22">موسى حميد الخلايفة </option>
                <option value="a907d000-8f04-451b-8b13-8502f5b5e472">شجاع محمد مناور </option>
                <option value="a54f46d5-0b02-4160-a8a5-4dbab999d8ff">Mohammad   Elayyan </option>
                <option value="13a7ea60-451a-4f8e-8a1b-e213481ef249">خلدون رشيد شواهين </option>
                <option value="a945a360-eb24-477e-bacd-37f6869818ad">علي سليم الحسين </option>
                <option value="3a327459-9917-40fa-917d-4ae5aadccff0">هديل  ربيحات </option>
                <option value="411d06c0-5298-4f94-98f9-266d53343277">ابراهيم محمد العموش </option>
                <option value="0464f0b1-d36c-42d4-abff-9cea4dfaf5c8">خير توفيق حمادة </option>
                <option value="8a108741-d090-4820-80fa-238a5362c1db">يوسف عبد الرحمن الحسين </option>
                <option value="02b15d9c-9ac3-44db-98a8-c7969f1bcc26">ثامر  طلال </option>
                <option value="b934da7e-fb3a-45b5-8494-5b39a3bc3e72">خالد رشيد عطيه </option>
                <option value="38d52718-7c1d-4c17-bba1-228fae2be549">حسن موسى حسين </option>
                <option value="a8987b25-d975-4c46-951d-92839f6c4f26">aaa aaa aaa </option>
                <option value="79a15961-eead-4d21-b416-a5aef55f4592">يوسف  موسى ابو عيادة </option>
                <option value="93a17c97-a25d-4b27-800b-13473e84acf3">عبد الله فايق الفلحات </option>
                <option value="450fae33-9d80-4d55-963b-a3a2d5948d6f">deema deema deema </option>
                <option value="8478525b-f161-4ced-93e2-237b7ef3e39e">e  e </option>
                <option value="d94d6d31-9102-4652-a411-9ad73dc0c469">aa aa a </option>
                <option value="66f81d48-8926-46ab-94fb-2cd28f6ff777">12345 1 1 </option>
                <option value="e8dccb35-ada0-4086-b8ac-54bd243bbedc">أنور فتحي الشوبكي </option>
                <option value="16c5fa9c-60ed-4505-b356-7b9044a90635">احمد محمد الحوارات </option>
                <option value="131360dc-24db-4239-ae12-0a3a09f87423">عبد الله ابراهيم عباس </option>
                <option value="c2db54a7-334b-4252-9770-ab9455ebec9a">هديل  ربيحات </option>
                <option value="d419347f-e47a-4d5a-af57-a932b6882464">نواف كريم العبدالله </option>
                <option value="c742d1f6-09a1-4e51-b256-b04f69b14cc6">فؤاد عبد العزيز الجبارات </option>
                <option value="70e06e00-c6d2-45e0-a63b-abe2597ddf36">Sultan Ali AlZoubi </option>
                <option value="f2896bab-26dc-44bf-b4dc-d5642b1ac11c">Sultan  Al-Zoubi </option>
                <option value="543a6a9a-edf9-4465-a266-7d3e8bdb158f">Muath Ahmad Abu Khurma </option>
                <option value="aaec7488-0a70-48ea-bd4f-a9b473e7062c">3 3 3 </option>
                <option value="bae5dda1-73dd-4da8-9c97-ea6c484bbb16">فتحي محمد الشوبكي </option>
                <option value="610c52a8-83ca-443f-9559-fc71f9ef6aa4">بكر ابراهيم الربيع </option>
                <option value="8ed3725f-117c-4854-a162-57b3514b1b19">1234  1234 </option>
                <option value="cfc85544-f1ad-45c4-9faf-68e471646fb0">مي حسن أبو سبيت </option>
                <option value="22fc77e8-a108-467f-854c-10fe4d1895e2">هبة جهاد الشواهين </option>
                <option value="0b941bc9-d771-43c4-9a25-b1976da26a4f">بسام عايش سليمان </option>
    </select>
</div>

谁能拯救我的一天?

这是我在 Whosebug 上的第一个回答,如果您发现任何错误,请原谅我。

我们在这里可以做的是使用正则表达式的捕获组功能,您可以从这里参考https://regexone.com/lesson/capturing_groups。 我正在使用 javascript,但基本功能在每种语言中都是相同的。

const str = `
<select multiple="multiple" id='SMSFarmerlstBox1' class="form-control" style="overflow: auto;">
<option value="70e06e00-c6d2-45e0-a63b-abe2597ddf36">Sultan Ali AlZoubi </option>
<option value="f2896bab-26dc-44bf-b4dc-d5642b1ac11c">Sultan  Al-Zoubi </option>
<option value="543a6a9a-edf9-4465-a266-7d3e8bdb158f">Muath Ahmad Abu Khurma </option>
<option value="aaec7488-0a70-48ea-bd4f-a9b473e7062c">3 3 3 </option>
<option value="bae5dda1-73dd-4da8-9c97-ea6c484bbb16">فتحي محمد الشوبكي </option>
<option value="610c52a8-83ca-443f-9559-fc71f9ef6aa4">بكر ابراهيم الربيع </option>
<option value="8ed3725f-117c-4854-a162-57b3514b1b19">1234  1234 </option>
<option value="cfc85544-f1ad-45c4-9faf-68e471646fb0">مي حسن أبو سبيت </option>
<option value="22fc77e8-a108-467f-854c-10fe4d1895e2">هبة جهاد الشواهين </option>
<option value="0b941bc9-d771-43c4-9a25-b1976da26a4f">بسام عايش سليمان </option>
</select>
</div>`;


const regexExp = /.*value="(.*)"/g;

let matches = str.matchAll(regexExp);
   
const arr_of_ids = [];

for (const match of matches) {
    arr_of_ids.push(match[1]);
}

console.log(arr_of_ids)

我用过这个正则表达式

/.*value="(.*)"/

它的作用是,它捕获 value=" " 中的任何字符,在我们的例子中是 id。您还可以 运行 上面的代码片段来查看输出。

谢谢

一个 groovy 无脑日节省程序看起来像:

String input = '''<select multiple="multiple" id='SMSFarmerlstBox1' class="form-control" style="overflow: auto;">
                <option value="961418ee-9660-4a00-a3b9-10af37e53f02">هديل  ربيحات </option>
                <option value="bd379320-8dd4-4b64-8f30-c7c9675f924e">سيرين  العدوان </option>
                <option value="7230434f-08bb-44e5-99d1-a792d446cac6">sofian test sofianTest1 </option>
</whatever>
'''

def list = []
input.eachMatch( /<option value="([^"]+)">/ ){ list << it[ 1 ] }
assert 3 == list.size()
  1. 使用 CSS Selector Extractor 将所有 ID 提取到 JMeter 变量中,配置如下:

    • 创建变量的名称:id

    • CSS 选择器表达式:select[id=SMSFarmerlstBox1] > option

    • 属性:value

  2. 在CSS Selector Extractor 之后添加JSR223 PostProcessor 并将以下代码放入“脚本”区域:

    def myData = new StringBuilder()
    myData.append('{')
    1.upto(vars.get('id_matchNr') as int, { index ->
        myData.append(vars.get('id_' + index))
        if (index < (vars.get('id_matchNr') as int)) {
            myData.append(',')
        }
    })
    myData.append('}')
    vars.put('myData', myData.toString())
    

  3. 就是这样,现在您应该可以在需要的地方使用 ${myData} 变量引用来引用值

更多信息: