为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Java 代码在 Jmeter .jmx 文件中添加正则表达式提取器和 cookie

如何使用 Java 代码在 Jmeter .jmx 文件中添加正则表达式提取器和 cookie

波斯汪 2023-03-02 15:12:02
我正在使用 Java 代码为 Jmeter GUI 编写一个 .jmx 文件。我想从用于“登录”的 HTTP 代理采样器中提取 GET 响应,该响应用作识别用户的会话 ID。此外,我需要下一个采样器来使用正在提取的变量。此外,我还需要为每个线程组配备一个 cookie 管理器。我应该调用哪个 API 来将提取器添加到 http 代理采样器并将 cookie 管理器添加到线程组?我已经创建了 http 采样器,设置了路径并设置了参数。我现在需要的只是一个提取器来帮助我获取变量和一个 cookie 管理器下面是我创建线程组并将 http 采样器添加到线程组的代码HashTree testPlanTree = new ListedHashTree();        TestPlan testPlan = new TestPlan("Create JMeter Script From Java Code");        testPlanTree.add(testPlan);        HTTPSamplerProxy newSampler = null;        LoopController loopController;        ThreadGroup threadGroup = null;        HashTree threadGroupHashTree = null;        int i = 1; // exclude the first empty call        for (ArrayList<String> elementList : calls) {            if (elementList.size() == 3) {                System.out.println(elementList);                loopController = new LoopController();                loopController.setLoops(1);                loopController.setFirst(true);                loopController.setProperty(TestElement.TEST_CLASS, LoopController.class.getName());                loopController.setProperty(TestElement.GUI_CLASS, LoopControlPanel.class.getName());                loopController.initialize();            }
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

  1. HTTP Cookie 管理器

    CookieManager cookieManager = new CookieManager();
    cookieManager.setName("HTTP Cookie Manager");
    cookieManager.setProperty(TestElement.TEST_CLASS, CookieManager.class.getName());
    cookieManager.setProperty(TestElement.GUI_CLASS, CookiePanel.class.getName());
  2. 正则表达式提取器

    RegexExtractor regexExtractor = new RegexExtractor();
    regexExtractor.setName("Regular Expression Extractor");
    regexExtractor.setProperty("RegexExtractor.useHeaders", "false");
    regexExtractor.setProperty("RegexExtractor.refname", "yourVariable");
    regexExtractor.setProperty("RegexExtractor.regex", "yourRegex");
    regexExtractor.setProperty("RegexExtractor.template", "yourTemplate");
    regexExtractor.setProperty("RegexExtractor.match_number", "yourMatchNumber");
    regexExtractor.setProperty("RegexExtractor.default", "yourDefaultValue");
    regexExtractor.setProperty(TestElement.TEST_CLASS, RegexExtractor.class.getName());
    regexExtractor.setProperty(TestElement.GUI_CLASS, RegexExtractorGui.class.getName());

查看在不使用 JMeter GUI 的情况下启动 JMeter 测试的五种方法,以了解有关运行 JMeter 测试的不同选项的更多信息,包括以编程方式创建测试计划。


查看完整回答
反对 回复 2023-03-02
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信