我想在jmeter中进行分布式测试,我们需要一个jmx文件。我想编写一个代码,它将创建一个jmx文件而不使用jmeter库并填充值。有人能帮助我吗?
答案 0 :(得分:3)
您可能知道jmx文件是xml类型文件,其结构为逐节点。可以通过编程方式创建任何XML apis jmx文件。我的建议是尝试使用所有基本测试元素(如采样器,监听器,前置和后置处理器)创建一个完整的测试计划,并保存jmx文件,然后根据该jmx结构构建新的xml文件,如下所示
<jmeterTestPlan version="1.2" properties="2.4" jmeter="2.9">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="TestPlan.user_define_classpath"></stringProp>
</TestPlan>
<hashTree>
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
<stringProp name="RegexExtractor.refname">REF</stringProp>
<stringProp name="RegexExtractor.regex">(.*)</stringProp>
<stringProp name="RegexExtractor.template">$1$</stringProp>
</RegexExtractor>
</hashTree>
</hashTree>
</jmeterTestPlan>
您可以使用 javax.xml
API创建上述XML文件(refer this)。最初,您可以添加基本的采样器,列表器,前置和放大器。后处理器然后尝试高级。 Check this在C#中部分实现您的想法。