簡體   English   中英

JSON位於HTML內時的JMeter JSON路徑提取器

[英]JMeter JSON Path Extractor when a JSON is inside a HTML

我想從響應中獲取的json中提取所有“ tcversion_id”值,但棘手的部分是json位於html響應中的javascript標簽內。 這是響應的json部分:

<script type="text/javascript">
treeCfg.root_name='Test Project / First Plan (4)(<span  

class=\"light_not_run\"   title=\"Not Run\">0,
<\/span><span  class=\"light_passed\"   title=\"Passed\">4,
<\/span><span  class=\"light_failed\"   title=\"Failed\">0,
<\/span><span  class=\"light_blocked\"   title=\"Blocked\">0<\/span>)';
    treeCfg.root_id=6;
    treeCfg.root_href='javascript:SP(6,
0)';
    treeCfg.children=
[
:   {
:   :   "spec_order":"1",
:   :   "node_order":"1",
:   :   "id":"8",
:   :   "parent_id":"6",
:   :   "name":"First Suite",
:   :   "node_type_id":"2",
:   :   "tcversion_id":"0",
:   :   "node_type":"testsuite",
:   :   "node_table":"testsuites",
:   :   "children":
:   :   [
:   :   :   {
:   :   :   :   "spec_order":"100",
:   :   :   :   "node_order":"1",
:   :   :   :   "id":"9",
:   :   :   :   "parent_id":"8",
:   :   :   :   "name":"First Case",
:   :   :   :   "node_type_id":"3",
:   :   :   :   "tcversion_id":"10",
:   :   :   :   "node_type":"testcase",
:   :   :   :   "node_table":"testcases",
:   :   :   :   "leaf":true,
:   :   :   :   "external_id":"1",
:   :   :   :   "version":"1",
:   :   :   :   "testlink_node_name":"First Case",
:   :   :   :   "testlink_node_type":"testcase",
:   :   :   :   "text":"<span class=\"light_passed\"   title=\"Passed\" alt=\"Passed\"><b>JM2-1<\/b>:First Case<\/span>",
:   :   :   :   "position":"1",
:   :   :   :   "href":"javascript:ST(9,10)"
:   :   :   },
:   :   :   {
:   :   :   :   "spec_order":"101",
:   :   :   :   "node_order":"1",
:   :   :   :   "id":"11",
:   :   :   :   "parent_id":"8",
:   :   :   :   "name":"Second Case",
:   :   :   :   "node_type_id":"3",
:   :   :   :   "tcversion_id":"12",
:   :   :   :   "node_type":"testcase",
:   :   :   :   "node_table":"testcases",
:   :   :   :   "leaf":true,
:   :   :   :   "external_id":"2",
:   :   :   :   "version":"1",
:   :   :   :   "testlink_node_name":"Second Case",
:   :   :   :   "testlink_node_type":"testcase",
:   :   :   :   "text":"<span class=\"light_passed\"   title=\"Passed\" alt=\"Passed\"><b>JM2-2<\/b>:Second Case<\/span>",
:   :   :   :   "position":"1",
:   :   :   :   "href":"javascript:ST(11,12)"
:   :   :   },
:   :   :   {
:   :   :   :   "spec_order":"102",
:   :   :   :   "node_order":"1",
:   :   :   :   "id":"17",
:   :   :   :   "parent_id":"8",
:   :   :   :   "name":"Third Case",
:   :   :   :   "node_type_id":"3",
:   :   :   :   "tcversion_id":"18",
:   :   :   :   "node_type":"testcase",
:   :   :   :   "node_table":"testcases",
:   :   :   :   "leaf":true,
:   :   :   :   "external_id":"3",
:   :   :   :   "version":"1",
:   :   :   :   "testlink_node_name":"Third Case",
:   :   :   :   "testlink_node_type":"testcase",
:   :   :   :   "text":"<span class=\"light_passed\"   title=\"Passed\" alt=\"Passed\"><b>JM2-3<\/b>:Third Case<\/span>",
:   :   :   :   "position":"1",
:   :   :   :   "href":"javascript:ST(17,18)"
:   :   :   },
:   :   :   {
:   :   :   :   "spec_order":"103",
:   :   :   :   "node_order":"1",
:   :   :   :   "id":"21",
:   :   :   :   "parent_id":"8",
:   :   :   :   "name":"Fourth",
:   :   :   :   "node_type_id":"3",
:   :   :   :   "tcversion_id":"22",
:   :   :   :   "node_type":"testcase",
:   :   :   :   "node_table":"testcases",
:   :   :   :   "leaf":true,
:   :   :   :   "external_id":"4",
:   :   :   :   "version":"1",
:   :   :   :   "testlink_node_name":"Fourth",
:   :   :   :   "testlink_node_type":"testcase",
:   :   :   :   "text":"<span class=\"light_passed\"   title=\"Passed\" alt=\"Passed\"><b>JM2-4<\/b>:Fourth<\/span>",
:   :   :   :   "position":"1",
:   :   :   :   "href":"javascript:ST(21,22)"
:   :   :   }
:   :   ],
:   :   "failed":0,
:   :   "blocked":0,
:   :   "passed":4,
:   :   "not_run":0,
:   :   "not_available":0,
:   :   "unknown":0,
:   :   "all":0,
:   :   "testcase_count":4,
:   :   "testlink_node_name":"First Suite",
:   :   "testlink_node_type":"testsuite",
:   :   "leaf":false,
:   :   "text":"First Suite (4)(<span  class=\"light_not_run\"   title=\"Not Run\">0,<\/span><span  class=\"light_passed\"   title=\"Passed\">4,<\/span><span  class=\"light_failed\"   title=\"Failed\">0,<\/span><span  class=\"light_blocked\"   title=\"Blocked\">0<\/span>)",
:   :   "position":"1",
:   :   "href":""
:   }
]
;
    treeCfg.cookiePrefix='test_exec_build_id_2_';
</script>

我可以實際使用JSON Path Extractor來獲取這些值嗎?

我認為您無法應用JSONPATHExtractor。 將正則表達式提取器與regex一起使用,如下所示:

"tcversion_id""(.*?)",

在此處輸入圖片說明

它產生5個值。 您可以通過如下索引索引來訪問特定值:

ID是在正則表達式提取器中指定的Reference Name

Reference Name - value 
ID_1 - 0 (first value) 
ID_2 - 10 (second value)
ID_3 - 12 (third value)
... continue till ID_5 (matches are 5)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM