使用代码创建一个JMX文件

man*_*pak 5 automation jmeter

我想在jmeter中进行分布式测试,为此我们需要一个jmx文件。我想编写一个无需使用jmeter库即可创建jmx文件并填充值的代码。有人可以帮我吗?

小智 4

您可能知道jmx文件是一个xml类型文件,其结构为逐个节点。使用任何 XML api 都可以通过编程方式创建 jmx 文件。我的建议是尝试在 jmeter 中创建一个完整的测试计划,其中包含所有基本测试元素,如采样器、侦听器、前置和后置处理器,并保存 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>
Run Code Online (Sandbox Code Playgroud)

您可以像上面一样使用javax.xmlAPI 创建 XML 文件(请参阅此文件)。最初,您可以添加基本采样器、监听器、预处理器和后处理器,然后尝试高级。检查此内容以了解您的想法在 C# 中的部分实现。

祝你好运。