使用代码创建jmx文件

时间:2014-03-05 04:35:48

标签: automation jmeter

我想在jmeter中进行分布式测试,我们需要一个jmx文件。我想编写一个代码,它将创建一个jmx文件而不使用jmeter库并填充值。有人能帮助我吗?

1 个答案:

答案 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#中部分实现您的想法。

祝你好运。