如何在JMeter中对JUnit采样器的构造函数字符串标签进行参数化?

时间:2015-07-09 07:18:15

标签: junit jmeter

有谁能告诉我如何参数化JUnit采样器的构造函数字符串标签?我尝试使用CSV data set config进行操作,但它只是采用变量名而不是实际的value.${Data}

2 个答案:

答案 0 :(得分:0)

在JMeter 2.13中,我的工作正常。

你确定你的变量真的有价值吗?在它之前使用DebugSampler来检查它。

答案 1 :(得分:0)

使用Create a new instance per sample采样器中的复选框JUnit Request

  1. 使用变量名称添加CSV Data Set ConfigData
  2. 添加JUnit Request
    • Classname使用字符串构造函数,例如woolfel.SubDummyTest;
    • 带有CSV变量的
    • Constructor String Label,例如${Data};
    • [v] Create a new instance per sample - 使用复选框。
  3. 运行测试(并参阅控制台了解woolfel.SubDummyTest)。
  4. 有效。

    如果第一行CSV为StackOverflow。您将在控制台中看到文本StackOverflow

    protected DummyTestCase(StackOverflow)
    public SubDummyTest(StackOverflow)
    DummyTestCase#setup(): oneTimeSetUp
    SubDummyTest#oneTimeSetUp(): oneTimeSetUp
    DummyTestCase#tearDown(): oneTimeSetUp
    

    apache-jmeter-2.13\lib\junit\test.jar中使用字符串构造函数查看SubDummyTest

    package woolfel;
    
    public class SubDummyTest extends DummyTestCase {
    
        public SubDummyTest() {
            super();
            System.out.println("public SubDummyTest()");
        }
    
        public SubDummyTest(String arg0) {
            super(arg0);
            System.out.println("public SubDummyTest("+arg0+")");
        }
    
        public void oneTimeSetUp() {
            System.out.println("SubDummyTest#oneTimeSetUp(): "+getName());
        }
    
        public void oneTimeTearDown() {
            System.out.println("SubDummyTest#oneTimeTearDown(): "+getName());
        }
    }