@performance-agent/mcp-server 1.0.1 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @performance-agent/mcp-server might be problematic. Click here for more details.
- package/README.md +400 -25
- package/dist/index.d.ts +14 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +783 -47
- package/dist/index.js.map +1 -1
- package/dist/prompts/jmx_prompt.txt +262 -0
- package/dist/prompts/prompts/jmx_prompt.txt +262 -0
- package/dist/tools/azure-infra/config-parser.d.ts +14 -0
- package/dist/tools/azure-infra/config-parser.d.ts.map +1 -0
- package/dist/tools/azure-infra/config-parser.js +361 -0
- package/dist/tools/azure-infra/config-parser.js.map +1 -0
- package/dist/tools/azure-infra/index.d.ts +52 -0
- package/dist/tools/azure-infra/index.d.ts.map +1 -0
- package/dist/tools/azure-infra/index.js +448 -0
- package/dist/tools/azure-infra/index.js.map +1 -0
- package/dist/tools/azure-infra/terraform-generator.d.ts +19 -0
- package/dist/tools/azure-infra/terraform-generator.d.ts.map +1 -0
- package/dist/tools/azure-infra/terraform-generator.js +458 -0
- package/dist/tools/azure-infra/terraform-generator.js.map +1 -0
- package/dist/tools/azure-infra/types.d.ts +123 -0
- package/dist/tools/azure-infra/types.d.ts.map +1 -0
- package/dist/tools/azure-infra/types.js +95 -0
- package/dist/tools/azure-infra/types.js.map +1 -0
- package/dist/tools/cloud-executor/index.d.ts +78 -0
- package/dist/tools/cloud-executor/index.d.ts.map +1 -0
- package/dist/tools/cloud-executor/index.js +528 -0
- package/dist/tools/cloud-executor/index.js.map +1 -0
- package/dist/tools/cloud-executor/result-analyzer.d.ts +65 -0
- package/dist/tools/cloud-executor/result-analyzer.d.ts.map +1 -0
- package/dist/tools/cloud-executor/result-analyzer.js +367 -0
- package/dist/tools/cloud-executor/result-analyzer.js.map +1 -0
- package/dist/tools/cloud-executor/vm-metrics.d.ts +87 -0
- package/dist/tools/cloud-executor/vm-metrics.d.ts.map +1 -0
- package/dist/tools/cloud-executor/vm-metrics.js +506 -0
- package/dist/tools/cloud-executor/vm-metrics.js.map +1 -0
- package/dist/tools/jmx-generator/index.d.ts +20 -0
- package/dist/tools/jmx-generator/index.d.ts.map +1 -0
- package/dist/tools/jmx-generator/index.js +115 -0
- package/dist/tools/jmx-generator/index.js.map +1 -0
- package/dist/tools/jmx-generator/sanitizer.d.ts +19 -0
- package/dist/tools/jmx-generator/sanitizer.d.ts.map +1 -0
- package/dist/tools/jmx-generator/sanitizer.js +166 -0
- package/dist/tools/jmx-generator/sanitizer.js.map +1 -0
- package/package.json +5 -2
- package/scripts/copy-prompts.js +46 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"""
|
|
2
|
+
You are an expert in generating valid, loadable JMeter .jmx files from Swagger/OpenAPI specifications.
|
|
3
|
+
|
|
4
|
+
*** CRITICAL REQUIREMENTS ***
|
|
5
|
+
1. The ROOT element <jmeterTestPlan> has NO testclass/guiclass attributes - only version, properties, jmeter
|
|
6
|
+
2. EVERY test element INSIDE must have both 'testclass' and 'guiclass' attributes
|
|
7
|
+
3. NEVER use elementType="ArrayList" or elementType="StringParameter"
|
|
8
|
+
4. For TestPlan user variables: use elementType="Argument"
|
|
9
|
+
5. For HTTPSamplerProxy arguments: use elementType="HTTPArgument" (NOT Argument!)
|
|
10
|
+
6. Follow exact JMeter 5.6.3 XML structure with proper hashTree nesting
|
|
11
|
+
7. Assertions are placeholders for now (response code checks only)
|
|
12
|
+
|
|
13
|
+
*** ABSOLUTE XML RULES ***
|
|
14
|
+
- Start with: <?xml version="1.0" encoding="UTF-8"?>
|
|
15
|
+
- Root must be: <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.6.3"> (NO testclass/guiclass!)
|
|
16
|
+
- First child of jmeterTestPlan must be: <hashTree> containing TestPlan and its hashTree
|
|
17
|
+
- Property types: <stringProp>, <boolProp> (NOT booleanProp!), <intProp>, <longProp>
|
|
18
|
+
- NEVER use simple tags like <argument>, <name>, <value> - ONLY use proper JMeter elements
|
|
19
|
+
- For variables: ALWAYS use <elementProp name="varname" elementType="Argument"> with nested stringProp
|
|
20
|
+
- Allowed element types: jmeterTestPlan, TestPlan, hashTree, Arguments, elementProp, collectionProp, stringProp, boolProp, intProp, longProp, ThreadGroup, HTTPSamplerProxy, ResponseAssertion, ConfigTestElement, HeaderManager, CSVDataSet
|
|
21
|
+
- Forbidden: <argument>, <name>, <value>, booleanProp, elementType="ArrayList", elementType="StringParameter", unsupported element types, or missing <hashTree> after elements
|
|
22
|
+
- Every test element must be immediately followed by <hashTree> (empty or with children)
|
|
23
|
+
|
|
24
|
+
*** CRITICAL HASHTREE RULES ***
|
|
25
|
+
1. Every test element MUST be immediately followed by <hashTree>
|
|
26
|
+
2. If element has no children: use <hashTree/> (self-closing)
|
|
27
|
+
3. If element has children: <hashTree> contains child elements, each followed by their own <hashTree>
|
|
28
|
+
4. Pattern: <Element>...</Element><hashTree>child elements here</hashTree>
|
|
29
|
+
5. NEVER put <hashTree> inside another <hashTree> without a test element between them
|
|
30
|
+
|
|
31
|
+
*** REQUIRED ATTRIBUTES FOR EACH ELEMENT ***
|
|
32
|
+
- TestPlan: guiclass="TestPlanGui" testclass="TestPlan"
|
|
33
|
+
* MUST include this elementProp inside the TestPlan element:
|
|
34
|
+
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiClass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables"><collectionProp name="Arguments.arguments"/></elementProp>
|
|
35
|
+
- ThreadGroup: guiclass="ThreadGroupGui" testclass="ThreadGroup"
|
|
36
|
+
- HTTPSamplerProxy: guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy"
|
|
37
|
+
- Arguments: guiclass="ArgumentsPanel" testclass="Arguments"
|
|
38
|
+
- ResponseAssertion: guiclass="AssertionGui" testclass="ResponseAssertion"
|
|
39
|
+
- HeaderManager: guiclass="HeaderPanel" testclass="HeaderManager"
|
|
40
|
+
|
|
41
|
+
MANDATORY ADDITIONS:
|
|
42
|
+
- Always create a separate User Defined Variables config element (Arguments) as the FIRST child under TestPlan's hashTree
|
|
43
|
+
- NEVER embed variables directly in TestPlan.user_defined_variables property
|
|
44
|
+
- Structure for User Defined Variables:
|
|
45
|
+
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
|
46
|
+
<collectionProp name="Arguments.arguments">
|
|
47
|
+
<elementProp name="Host" elementType="Argument">
|
|
48
|
+
<stringProp name="Argument.name">Host</stringProp>
|
|
49
|
+
<stringProp name="Argument.value">petstore.swagger.io</stringProp>
|
|
50
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
51
|
+
</elementProp>
|
|
52
|
+
<elementProp name="Basepath" elementType="Argument">
|
|
53
|
+
<stringProp name="Argument.name">Basepath</stringProp>
|
|
54
|
+
<stringProp name="Argument.value">/v2</stringProp>
|
|
55
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
56
|
+
</elementProp>
|
|
57
|
+
<elementProp name="AppUrl" elementType="Argument">
|
|
58
|
+
<stringProp name="Argument.name">AppUrl</stringProp>
|
|
59
|
+
<stringProp name="Argument.value">${Host}${Basepath}</stringProp>
|
|
60
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
61
|
+
</elementProp>
|
|
62
|
+
<elementProp name="ThreadCount_<tag>" elementType="Argument">
|
|
63
|
+
<stringProp name="Argument.name">ThreadCount_<tag></stringProp>
|
|
64
|
+
<stringProp name="Argument.value">1</stringProp>
|
|
65
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
66
|
+
</elementProp>
|
|
67
|
+
<elementProp name="RampUpPeriod_<tag>" elementType="Argument">
|
|
68
|
+
<stringProp name="Argument.name">RampUpPeriod_<tag></stringProp>
|
|
69
|
+
<stringProp name="Argument.value">1</stringProp>
|
|
70
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
71
|
+
</elementProp>
|
|
72
|
+
<elementProp name="LoopCount_<tag>" elementType="Argument">
|
|
73
|
+
<stringProp name="Argument.name">LoopCount_<tag></stringProp>
|
|
74
|
+
<stringProp name="Argument.value">1</stringProp>
|
|
75
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
76
|
+
</elementProp>
|
|
77
|
+
</collectionProp>
|
|
78
|
+
</Arguments>
|
|
79
|
+
<hashTree/>
|
|
80
|
+
- Always add a CSV Data Set Config element as the SECOND child under TestPlan's hashTree:
|
|
81
|
+
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Data Set Config" enabled="true">
|
|
82
|
+
<stringProp name="delimiter">,</stringProp>
|
|
83
|
+
<stringProp name="filename">testdata.csv</stringProp>
|
|
84
|
+
<boolProp name="ignoreFirstLine">false</boolProp>
|
|
85
|
+
<boolProp name="quotedData">false</boolProp>
|
|
86
|
+
<boolProp name="recycle">true</boolProp>
|
|
87
|
+
<stringProp name="shareMode">shareMode.all</stringProp>
|
|
88
|
+
<boolProp name="stopThread">false</boolProp>
|
|
89
|
+
<stringProp name="variableNames"></stringProp>
|
|
90
|
+
</CSVDataSet>
|
|
91
|
+
<hashTree/>
|
|
92
|
+
- Always add "View Results Tree" listener as the SECOND LAST child under TestPlan's hashTree (after all ThreadGroups):
|
|
93
|
+
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree">
|
|
94
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
95
|
+
<objProp>
|
|
96
|
+
<name>saveConfig</name>
|
|
97
|
+
<value class="SampleSaveConfiguration">
|
|
98
|
+
<time>true</time>
|
|
99
|
+
<latency>true</latency>
|
|
100
|
+
<timestamp>true</timestamp>
|
|
101
|
+
<success>true</success>
|
|
102
|
+
<label>true</label>
|
|
103
|
+
<code>true</code>
|
|
104
|
+
<message>true</message>
|
|
105
|
+
<threadName>true</threadName>
|
|
106
|
+
<dataType>true</dataType>
|
|
107
|
+
<encoding>false</encoding>
|
|
108
|
+
<assertions>true</assertions>
|
|
109
|
+
<subresults>true</subresults>
|
|
110
|
+
<responseData>false</responseData>
|
|
111
|
+
<samplerData>false</samplerData>
|
|
112
|
+
<xml>false</xml>
|
|
113
|
+
<fieldNames>true</fieldNames>
|
|
114
|
+
<responseHeaders>false</responseHeaders>
|
|
115
|
+
<requestHeaders>false</requestHeaders>
|
|
116
|
+
<responseDataOnError>false</responseDataOnError>
|
|
117
|
+
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
|
|
118
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
119
|
+
<bytes>true</bytes>
|
|
120
|
+
<sentBytes>true</sentBytes>
|
|
121
|
+
<url>true</url>
|
|
122
|
+
<threadCounts>true</threadCounts>
|
|
123
|
+
<idleTime>true</idleTime>
|
|
124
|
+
<connectTime>true</connectTime>
|
|
125
|
+
</value>
|
|
126
|
+
</objProp>
|
|
127
|
+
<stringProp name="filename"></stringProp>
|
|
128
|
+
</ResultCollector>
|
|
129
|
+
<hashTree/>
|
|
130
|
+
- Always add "Summary Report" listener as the LAST child under TestPlan's hashTree (after View Results Tree):
|
|
131
|
+
<ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report">
|
|
132
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
133
|
+
<objProp>
|
|
134
|
+
<name>saveConfig</name>
|
|
135
|
+
<value class="SampleSaveConfiguration">
|
|
136
|
+
<time>true</time>
|
|
137
|
+
<latency>true</latency>
|
|
138
|
+
<timestamp>true</timestamp>
|
|
139
|
+
<success>true</success>
|
|
140
|
+
<label>true</label>
|
|
141
|
+
<code>true</code>
|
|
142
|
+
<message>true</message>
|
|
143
|
+
<threadName>true</threadName>
|
|
144
|
+
<dataType>true</dataType>
|
|
145
|
+
<encoding>false</encoding>
|
|
146
|
+
<assertions>true</assertions>
|
|
147
|
+
<subresults>true</subresults>
|
|
148
|
+
<responseData>false</responseData>
|
|
149
|
+
<samplerData>false</samplerData>
|
|
150
|
+
<xml>false</xml>
|
|
151
|
+
<fieldNames>true</fieldNames>
|
|
152
|
+
<responseHeaders>false</responseHeaders>
|
|
153
|
+
<requestHeaders>false</requestHeaders>
|
|
154
|
+
<responseDataOnError>false</responseDataOnError>
|
|
155
|
+
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
|
|
156
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
157
|
+
<bytes>true</bytes>
|
|
158
|
+
<sentBytes>true</sentBytes>
|
|
159
|
+
<url>true</url>
|
|
160
|
+
<threadCounts>true</threadCounts>
|
|
161
|
+
<idleTime>true</idleTime>
|
|
162
|
+
<connectTime>true</connectTime>
|
|
163
|
+
</value>
|
|
164
|
+
</objProp>
|
|
165
|
+
<stringProp name="filename"></stringProp>
|
|
166
|
+
</ResultCollector>
|
|
167
|
+
<hashTree/>
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
*** TEST PLAN STRUCTURE ***
|
|
171
|
+
Hierarchy (CRITICAL ORDER):
|
|
172
|
+
1. <TestPlan> (NO user_defined_variables property!)
|
|
173
|
+
<hashTree>
|
|
174
|
+
2. <Arguments testname="User Defined Variables"> (separate config element)
|
|
175
|
+
- Host, Basepath, AppUrl (Host+Basepath concatenation)
|
|
176
|
+
- ThreadCount_<tag>, RampUpPeriod_<tag>, LoopCount_<tag>
|
|
177
|
+
<hashTree/>
|
|
178
|
+
3. <CSVDataSet testname="CSV Data Set Config">
|
|
179
|
+
<hashTree/>
|
|
180
|
+
4. <ThreadGroup testname="TG_<tagname>"> (one per Swagger tag)
|
|
181
|
+
<hashTree>
|
|
182
|
+
... HTTP samplers here ...
|
|
183
|
+
</hashTree>
|
|
184
|
+
... (additional ThreadGroups if multiple tags) ...
|
|
185
|
+
N-1. <ResultCollector testname="View Results Tree"> (listener - second last)
|
|
186
|
+
<hashTree/>
|
|
187
|
+
N. <ResultCollector testname="Summary Report"> (listener - last)
|
|
188
|
+
<hashTree/>
|
|
189
|
+
</hashTree>
|
|
190
|
+
|
|
191
|
+
- TestPlan element structure:
|
|
192
|
+
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
|
|
193
|
+
<stringProp name="TestPlan.comments"></stringProp>
|
|
194
|
+
<boolProp name="TestPlan.functional_mode">false</boolProp>
|
|
195
|
+
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
|
|
196
|
+
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiClass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables">
|
|
197
|
+
<collectionProp name="Arguments.arguments"/>
|
|
198
|
+
</elementProp>
|
|
199
|
+
<stringProp name="TestPlan.user_define_classpath"></stringProp>
|
|
200
|
+
</TestPlan>
|
|
201
|
+
<hashTree> ... children go here ... </hashTree>
|
|
202
|
+
- Create ONE ThreadGroup per Swagger tag, named TG_<tagname>
|
|
203
|
+
- ThreadGroup structure:
|
|
204
|
+
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG_<tagname>" enabled="true">
|
|
205
|
+
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
|
206
|
+
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
|
207
|
+
<boolProp name="LoopController.continue_forever">false</boolProp>
|
|
208
|
+
<stringProp name="LoopController.loops">${LoopCount_<tag>}</stringProp>
|
|
209
|
+
</elementProp>
|
|
210
|
+
<stringProp name="ThreadGroup.num_threads">${ThreadCount_<tag>}</stringProp>
|
|
211
|
+
<stringProp name="ThreadGroup.ramp_time">${RampUpPeriod_<tag>}</stringProp>
|
|
212
|
+
</ThreadGroup>
|
|
213
|
+
<hashTree> ... </hashTree>
|
|
214
|
+
|
|
215
|
+
*** HTTP SAMPLER STRUCTURE ***
|
|
216
|
+
- Name samplers: <METHOD> - <PATH>
|
|
217
|
+
- Order samplers inside ThreadGroup: POST → GET → PUT → DELETE
|
|
218
|
+
- Use ${AppUrl} for HTTPSampler.domain
|
|
219
|
+
- For POST/PUT with request body:
|
|
220
|
+
- Add JSON body in boolProp "HTTPSampler.postBodyRaw" section
|
|
221
|
+
- Add HeaderManager with Content-Type: application/json
|
|
222
|
+
- For GET/DELETE:
|
|
223
|
+
- Add query/path parameters as HTTPArgument
|
|
224
|
+
- Always include:
|
|
225
|
+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
226
|
+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
|
|
227
|
+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
228
|
+
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
229
|
+
- If no file uploads needed, omit HTTPsampler.Files entirely
|
|
230
|
+
|
|
231
|
+
*** HEADERS & AUTHENTICATION ***
|
|
232
|
+
- Add HeaderManager for each sampler
|
|
233
|
+
- Include Content-Type: application/json for POST/PUT
|
|
234
|
+
- If Swagger defines securitySchemes, add Authorization header (e.g., Bearer ${token})
|
|
235
|
+
|
|
236
|
+
*** ASSERTIONS ***
|
|
237
|
+
- Add ResponseAssertion for each sampler
|
|
238
|
+
- Structure:
|
|
239
|
+
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
|
|
240
|
+
<collectionProp name="Asserion.test_strings">
|
|
241
|
+
<stringProp name="49586">200</stringProp>
|
|
242
|
+
</collectionProp>
|
|
243
|
+
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
|
244
|
+
</ResponseAssertion>
|
|
245
|
+
- CRITICAL: Test strings are DIRECT <stringProp> children, NOT wrapped in <elementProp>
|
|
246
|
+
- NEVER use elementType="Assertion"
|
|
247
|
+
- Placeholder: check response code (200, 201, etc.)
|
|
248
|
+
- Future enhancement: JSONPath/Regex assertions if response examples exist
|
|
249
|
+
|
|
250
|
+
*** DYNAMIC DATA HANDLING ***
|
|
251
|
+
- If Swagger defines path/query parameters, substitute with JMeter variables (e.g., ${petId})
|
|
252
|
+
- If multiple dynamic values are needed, generate a CSVDataSetConfig with variable names matching parameters
|
|
253
|
+
- If POST creates resources, prepare JSON Extractor to capture IDs for reuse in subsequent GET/DELETE samplers (optional future enhancement)
|
|
254
|
+
|
|
255
|
+
*** OUTPUT REQUIREMENTS ***
|
|
256
|
+
- ONLY raw XML, NO markdown blocks, NO comments, NO explanations
|
|
257
|
+
- Must be loadable in JMeter 5.6.3 without ANY errors
|
|
258
|
+
- Every element with testclass MUST have guiclass attribute
|
|
259
|
+
|
|
260
|
+
SWAGGER JSON:
|
|
261
|
+
{swagger_text}
|
|
262
|
+
"""
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"""
|
|
2
|
+
You are an expert in generating valid, loadable JMeter .jmx files from Swagger/OpenAPI specifications.
|
|
3
|
+
|
|
4
|
+
*** CRITICAL REQUIREMENTS ***
|
|
5
|
+
1. The ROOT element <jmeterTestPlan> has NO testclass/guiclass attributes - only version, properties, jmeter
|
|
6
|
+
2. EVERY test element INSIDE must have both 'testclass' and 'guiclass' attributes
|
|
7
|
+
3. NEVER use elementType="ArrayList" or elementType="StringParameter"
|
|
8
|
+
4. For TestPlan user variables: use elementType="Argument"
|
|
9
|
+
5. For HTTPSamplerProxy arguments: use elementType="HTTPArgument" (NOT Argument!)
|
|
10
|
+
6. Follow exact JMeter 5.6.3 XML structure with proper hashTree nesting
|
|
11
|
+
7. Assertions are placeholders for now (response code checks only)
|
|
12
|
+
|
|
13
|
+
*** ABSOLUTE XML RULES ***
|
|
14
|
+
- Start with: <?xml version="1.0" encoding="UTF-8"?>
|
|
15
|
+
- Root must be: <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.6.3"> (NO testclass/guiclass!)
|
|
16
|
+
- First child of jmeterTestPlan must be: <hashTree> containing TestPlan and its hashTree
|
|
17
|
+
- Property types: <stringProp>, <boolProp> (NOT booleanProp!), <intProp>, <longProp>
|
|
18
|
+
- NEVER use simple tags like <argument>, <name>, <value> - ONLY use proper JMeter elements
|
|
19
|
+
- For variables: ALWAYS use <elementProp name="varname" elementType="Argument"> with nested stringProp
|
|
20
|
+
- Allowed element types: jmeterTestPlan, TestPlan, hashTree, Arguments, elementProp, collectionProp, stringProp, boolProp, intProp, longProp, ThreadGroup, HTTPSamplerProxy, ResponseAssertion, ConfigTestElement, HeaderManager, CSVDataSet
|
|
21
|
+
- Forbidden: <argument>, <name>, <value>, booleanProp, elementType="ArrayList", elementType="StringParameter", unsupported element types, or missing <hashTree> after elements
|
|
22
|
+
- Every test element must be immediately followed by <hashTree> (empty or with children)
|
|
23
|
+
|
|
24
|
+
*** CRITICAL HASHTREE RULES ***
|
|
25
|
+
1. Every test element MUST be immediately followed by <hashTree>
|
|
26
|
+
2. If element has no children: use <hashTree/> (self-closing)
|
|
27
|
+
3. If element has children: <hashTree> contains child elements, each followed by their own <hashTree>
|
|
28
|
+
4. Pattern: <Element>...</Element><hashTree>child elements here</hashTree>
|
|
29
|
+
5. NEVER put <hashTree> inside another <hashTree> without a test element between them
|
|
30
|
+
|
|
31
|
+
*** REQUIRED ATTRIBUTES FOR EACH ELEMENT ***
|
|
32
|
+
- TestPlan: guiclass="TestPlanGui" testclass="TestPlan"
|
|
33
|
+
* MUST include this elementProp inside the TestPlan element:
|
|
34
|
+
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiClass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables"><collectionProp name="Arguments.arguments"/></elementProp>
|
|
35
|
+
- ThreadGroup: guiclass="ThreadGroupGui" testclass="ThreadGroup"
|
|
36
|
+
- HTTPSamplerProxy: guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy"
|
|
37
|
+
- Arguments: guiclass="ArgumentsPanel" testclass="Arguments"
|
|
38
|
+
- ResponseAssertion: guiclass="AssertionGui" testclass="ResponseAssertion"
|
|
39
|
+
- HeaderManager: guiclass="HeaderPanel" testclass="HeaderManager"
|
|
40
|
+
|
|
41
|
+
MANDATORY ADDITIONS:
|
|
42
|
+
- Always create a separate User Defined Variables config element (Arguments) as the FIRST child under TestPlan's hashTree
|
|
43
|
+
- NEVER embed variables directly in TestPlan.user_defined_variables property
|
|
44
|
+
- Structure for User Defined Variables:
|
|
45
|
+
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
|
|
46
|
+
<collectionProp name="Arguments.arguments">
|
|
47
|
+
<elementProp name="Host" elementType="Argument">
|
|
48
|
+
<stringProp name="Argument.name">Host</stringProp>
|
|
49
|
+
<stringProp name="Argument.value">petstore.swagger.io</stringProp>
|
|
50
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
51
|
+
</elementProp>
|
|
52
|
+
<elementProp name="Basepath" elementType="Argument">
|
|
53
|
+
<stringProp name="Argument.name">Basepath</stringProp>
|
|
54
|
+
<stringProp name="Argument.value">/v2</stringProp>
|
|
55
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
56
|
+
</elementProp>
|
|
57
|
+
<elementProp name="AppUrl" elementType="Argument">
|
|
58
|
+
<stringProp name="Argument.name">AppUrl</stringProp>
|
|
59
|
+
<stringProp name="Argument.value">${Host}${Basepath}</stringProp>
|
|
60
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
61
|
+
</elementProp>
|
|
62
|
+
<elementProp name="ThreadCount_<tag>" elementType="Argument">
|
|
63
|
+
<stringProp name="Argument.name">ThreadCount_<tag></stringProp>
|
|
64
|
+
<stringProp name="Argument.value">1</stringProp>
|
|
65
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
66
|
+
</elementProp>
|
|
67
|
+
<elementProp name="RampUpPeriod_<tag>" elementType="Argument">
|
|
68
|
+
<stringProp name="Argument.name">RampUpPeriod_<tag></stringProp>
|
|
69
|
+
<stringProp name="Argument.value">1</stringProp>
|
|
70
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
71
|
+
</elementProp>
|
|
72
|
+
<elementProp name="LoopCount_<tag>" elementType="Argument">
|
|
73
|
+
<stringProp name="Argument.name">LoopCount_<tag></stringProp>
|
|
74
|
+
<stringProp name="Argument.value">1</stringProp>
|
|
75
|
+
<stringProp name="Argument.metadata">=</stringProp>
|
|
76
|
+
</elementProp>
|
|
77
|
+
</collectionProp>
|
|
78
|
+
</Arguments>
|
|
79
|
+
<hashTree/>
|
|
80
|
+
- Always add a CSV Data Set Config element as the SECOND child under TestPlan's hashTree:
|
|
81
|
+
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Data Set Config" enabled="true">
|
|
82
|
+
<stringProp name="delimiter">,</stringProp>
|
|
83
|
+
<stringProp name="filename">testdata.csv</stringProp>
|
|
84
|
+
<boolProp name="ignoreFirstLine">false</boolProp>
|
|
85
|
+
<boolProp name="quotedData">false</boolProp>
|
|
86
|
+
<boolProp name="recycle">true</boolProp>
|
|
87
|
+
<stringProp name="shareMode">shareMode.all</stringProp>
|
|
88
|
+
<boolProp name="stopThread">false</boolProp>
|
|
89
|
+
<stringProp name="variableNames"></stringProp>
|
|
90
|
+
</CSVDataSet>
|
|
91
|
+
<hashTree/>
|
|
92
|
+
- Always add "View Results Tree" listener as the SECOND LAST child under TestPlan's hashTree (after all ThreadGroups):
|
|
93
|
+
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree">
|
|
94
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
95
|
+
<objProp>
|
|
96
|
+
<name>saveConfig</name>
|
|
97
|
+
<value class="SampleSaveConfiguration">
|
|
98
|
+
<time>true</time>
|
|
99
|
+
<latency>true</latency>
|
|
100
|
+
<timestamp>true</timestamp>
|
|
101
|
+
<success>true</success>
|
|
102
|
+
<label>true</label>
|
|
103
|
+
<code>true</code>
|
|
104
|
+
<message>true</message>
|
|
105
|
+
<threadName>true</threadName>
|
|
106
|
+
<dataType>true</dataType>
|
|
107
|
+
<encoding>false</encoding>
|
|
108
|
+
<assertions>true</assertions>
|
|
109
|
+
<subresults>true</subresults>
|
|
110
|
+
<responseData>false</responseData>
|
|
111
|
+
<samplerData>false</samplerData>
|
|
112
|
+
<xml>false</xml>
|
|
113
|
+
<fieldNames>true</fieldNames>
|
|
114
|
+
<responseHeaders>false</responseHeaders>
|
|
115
|
+
<requestHeaders>false</requestHeaders>
|
|
116
|
+
<responseDataOnError>false</responseDataOnError>
|
|
117
|
+
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
|
|
118
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
119
|
+
<bytes>true</bytes>
|
|
120
|
+
<sentBytes>true</sentBytes>
|
|
121
|
+
<url>true</url>
|
|
122
|
+
<threadCounts>true</threadCounts>
|
|
123
|
+
<idleTime>true</idleTime>
|
|
124
|
+
<connectTime>true</connectTime>
|
|
125
|
+
</value>
|
|
126
|
+
</objProp>
|
|
127
|
+
<stringProp name="filename"></stringProp>
|
|
128
|
+
</ResultCollector>
|
|
129
|
+
<hashTree/>
|
|
130
|
+
- Always add "Summary Report" listener as the LAST child under TestPlan's hashTree (after View Results Tree):
|
|
131
|
+
<ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report">
|
|
132
|
+
<boolProp name="ResultCollector.error_logging">false</boolProp>
|
|
133
|
+
<objProp>
|
|
134
|
+
<name>saveConfig</name>
|
|
135
|
+
<value class="SampleSaveConfiguration">
|
|
136
|
+
<time>true</time>
|
|
137
|
+
<latency>true</latency>
|
|
138
|
+
<timestamp>true</timestamp>
|
|
139
|
+
<success>true</success>
|
|
140
|
+
<label>true</label>
|
|
141
|
+
<code>true</code>
|
|
142
|
+
<message>true</message>
|
|
143
|
+
<threadName>true</threadName>
|
|
144
|
+
<dataType>true</dataType>
|
|
145
|
+
<encoding>false</encoding>
|
|
146
|
+
<assertions>true</assertions>
|
|
147
|
+
<subresults>true</subresults>
|
|
148
|
+
<responseData>false</responseData>
|
|
149
|
+
<samplerData>false</samplerData>
|
|
150
|
+
<xml>false</xml>
|
|
151
|
+
<fieldNames>true</fieldNames>
|
|
152
|
+
<responseHeaders>false</responseHeaders>
|
|
153
|
+
<requestHeaders>false</requestHeaders>
|
|
154
|
+
<responseDataOnError>false</responseDataOnError>
|
|
155
|
+
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
|
|
156
|
+
<assertionsResultsToSave>0</assertionsResultsToSave>
|
|
157
|
+
<bytes>true</bytes>
|
|
158
|
+
<sentBytes>true</sentBytes>
|
|
159
|
+
<url>true</url>
|
|
160
|
+
<threadCounts>true</threadCounts>
|
|
161
|
+
<idleTime>true</idleTime>
|
|
162
|
+
<connectTime>true</connectTime>
|
|
163
|
+
</value>
|
|
164
|
+
</objProp>
|
|
165
|
+
<stringProp name="filename"></stringProp>
|
|
166
|
+
</ResultCollector>
|
|
167
|
+
<hashTree/>
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
*** TEST PLAN STRUCTURE ***
|
|
171
|
+
Hierarchy (CRITICAL ORDER):
|
|
172
|
+
1. <TestPlan> (NO user_defined_variables property!)
|
|
173
|
+
<hashTree>
|
|
174
|
+
2. <Arguments testname="User Defined Variables"> (separate config element)
|
|
175
|
+
- Host, Basepath, AppUrl (Host+Basepath concatenation)
|
|
176
|
+
- ThreadCount_<tag>, RampUpPeriod_<tag>, LoopCount_<tag>
|
|
177
|
+
<hashTree/>
|
|
178
|
+
3. <CSVDataSet testname="CSV Data Set Config">
|
|
179
|
+
<hashTree/>
|
|
180
|
+
4. <ThreadGroup testname="TG_<tagname>"> (one per Swagger tag)
|
|
181
|
+
<hashTree>
|
|
182
|
+
... HTTP samplers here ...
|
|
183
|
+
</hashTree>
|
|
184
|
+
... (additional ThreadGroups if multiple tags) ...
|
|
185
|
+
N-1. <ResultCollector testname="View Results Tree"> (listener - second last)
|
|
186
|
+
<hashTree/>
|
|
187
|
+
N. <ResultCollector testname="Summary Report"> (listener - last)
|
|
188
|
+
<hashTree/>
|
|
189
|
+
</hashTree>
|
|
190
|
+
|
|
191
|
+
- TestPlan element structure:
|
|
192
|
+
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
|
|
193
|
+
<stringProp name="TestPlan.comments"></stringProp>
|
|
194
|
+
<boolProp name="TestPlan.functional_mode">false</boolProp>
|
|
195
|
+
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
|
|
196
|
+
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiClass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables">
|
|
197
|
+
<collectionProp name="Arguments.arguments"/>
|
|
198
|
+
</elementProp>
|
|
199
|
+
<stringProp name="TestPlan.user_define_classpath"></stringProp>
|
|
200
|
+
</TestPlan>
|
|
201
|
+
<hashTree> ... children go here ... </hashTree>
|
|
202
|
+
- Create ONE ThreadGroup per Swagger tag, named TG_<tagname>
|
|
203
|
+
- ThreadGroup structure:
|
|
204
|
+
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG_<tagname>" enabled="true">
|
|
205
|
+
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
|
206
|
+
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
|
207
|
+
<boolProp name="LoopController.continue_forever">false</boolProp>
|
|
208
|
+
<stringProp name="LoopController.loops">${LoopCount_<tag>}</stringProp>
|
|
209
|
+
</elementProp>
|
|
210
|
+
<stringProp name="ThreadGroup.num_threads">${ThreadCount_<tag>}</stringProp>
|
|
211
|
+
<stringProp name="ThreadGroup.ramp_time">${RampUpPeriod_<tag>}</stringProp>
|
|
212
|
+
</ThreadGroup>
|
|
213
|
+
<hashTree> ... </hashTree>
|
|
214
|
+
|
|
215
|
+
*** HTTP SAMPLER STRUCTURE ***
|
|
216
|
+
- Name samplers: <METHOD> - <PATH>
|
|
217
|
+
- Order samplers inside ThreadGroup: POST → GET → PUT → DELETE
|
|
218
|
+
- Use ${AppUrl} for HTTPSampler.domain
|
|
219
|
+
- For POST/PUT with request body:
|
|
220
|
+
- Add JSON body in boolProp "HTTPSampler.postBodyRaw" section
|
|
221
|
+
- Add HeaderManager with Content-Type: application/json
|
|
222
|
+
- For GET/DELETE:
|
|
223
|
+
- Add query/path parameters as HTTPArgument
|
|
224
|
+
- Always include:
|
|
225
|
+
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
|
|
226
|
+
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
|
|
227
|
+
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
|
|
228
|
+
<stringProp name="HTTPSampler.protocol">https</stringProp>
|
|
229
|
+
- If no file uploads needed, omit HTTPsampler.Files entirely
|
|
230
|
+
|
|
231
|
+
*** HEADERS & AUTHENTICATION ***
|
|
232
|
+
- Add HeaderManager for each sampler
|
|
233
|
+
- Include Content-Type: application/json for POST/PUT
|
|
234
|
+
- If Swagger defines securitySchemes, add Authorization header (e.g., Bearer ${token})
|
|
235
|
+
|
|
236
|
+
*** ASSERTIONS ***
|
|
237
|
+
- Add ResponseAssertion for each sampler
|
|
238
|
+
- Structure:
|
|
239
|
+
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
|
|
240
|
+
<collectionProp name="Asserion.test_strings">
|
|
241
|
+
<stringProp name="49586">200</stringProp>
|
|
242
|
+
</collectionProp>
|
|
243
|
+
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
|
|
244
|
+
</ResponseAssertion>
|
|
245
|
+
- CRITICAL: Test strings are DIRECT <stringProp> children, NOT wrapped in <elementProp>
|
|
246
|
+
- NEVER use elementType="Assertion"
|
|
247
|
+
- Placeholder: check response code (200, 201, etc.)
|
|
248
|
+
- Future enhancement: JSONPath/Regex assertions if response examples exist
|
|
249
|
+
|
|
250
|
+
*** DYNAMIC DATA HANDLING ***
|
|
251
|
+
- If Swagger defines path/query parameters, substitute with JMeter variables (e.g., ${petId})
|
|
252
|
+
- If multiple dynamic values are needed, generate a CSVDataSetConfig with variable names matching parameters
|
|
253
|
+
- If POST creates resources, prepare JSON Extractor to capture IDs for reuse in subsequent GET/DELETE samplers (optional future enhancement)
|
|
254
|
+
|
|
255
|
+
*** OUTPUT REQUIREMENTS ***
|
|
256
|
+
- ONLY raw XML, NO markdown blocks, NO comments, NO explanations
|
|
257
|
+
- Must be loadable in JMeter 5.6.3 without ANY errors
|
|
258
|
+
- Every element with testclass MUST have guiclass attribute
|
|
259
|
+
|
|
260
|
+
SWAGGER JSON:
|
|
261
|
+
{swagger_text}
|
|
262
|
+
"""
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Infrastructure Configuration Parser
|
|
3
|
+
* Parses natural language descriptions into VM configurations
|
|
4
|
+
*/
|
|
5
|
+
import { VMConfigInput, VMConfig } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Parse natural language VM description into structured config
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseVMDescription(description: string): VMConfigInput;
|
|
10
|
+
/**
|
|
11
|
+
* Resolve VM configuration with all defaults
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveVMConfig(input: VMConfigInput): VMConfig;
|
|
14
|
+
//# sourceMappingURL=config-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-parser.d.ts","sourceRoot":"","sources":["../../../src/tools/azure-infra/config-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,aAAa,EACb,QAAQ,EAOT,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAkErE;AA2ND;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,CAoD9D"}
|