Selenium webdriver 从JMeter日志查看器捕获特定信息级别的数据,并显示在JMeter侦听器或CSV或HTML报告中

Selenium webdriver 从JMeter日志查看器捕获特定信息级别的数据,并显示在JMeter侦听器或CSV或HTML报告中,selenium-webdriver,logging,junit,jmeter,webdriver,Selenium Webdriver,Logging,Junit,Jmeter,Webdriver,我正在执行一个脚本,该脚本使用Chrome Webdriver(最新版本)捕获Salesforce QA沙箱中的订单搜索活动。步骤用Selenium JUnit代码编写,Selenium项目导出为JAR,JAR在JMeter 5.4.1中使用JUnit请求采样器执行(JUnit版本4.13.2)。在测试运行期间,chrome窗口执行的每个步骤都会在JMeter的日志查看器中捕获(作为信息) selenium代码中声明了一个特定变量[long ElapsedTime],用于捕获输入的搜索ID和找到

我正在执行一个脚本,该脚本使用Chrome Webdriver(最新版本)捕获Salesforce QA沙箱中的订单搜索活动。步骤用Selenium JUnit代码编写,Selenium项目导出为JAR,JAR在JMeter 5.4.1中使用JUnit请求采样器执行(JUnit版本4.13.2)。在测试运行期间,chrome窗口执行的每个步骤都会在JMeter的日志查看器中捕获(作为信息)

selenium代码中声明了一个特定变量[long ElapsedTime],用于捕获输入的搜索ID和找到的ID记录之间经过的时间:

*log.info(threadName + "::  limsId value is: " + limsId);
long endTime = System.currentTimeMillis();
**long timeElapsed = endTime - startTime;
log.info(threadName + "::  Execution time in milliseconds: " + timeElapsed);**
driver.close();*
并显示在日志查看器中,如下所示:

*2021-05-31 10:47:39,139 INFO s.QATest: Thread Group 1-1::  Waiting over.....
2021-05-31 10:47:39,184 INFO s.QATest: Thread Group 1-1::  limsId value is: ADM3064A2
**2021-05-31 10:47:39,185 INFO s.QATest: Thread Group 1-1::  Execution time in milliseconds: 20068***
此值仅在日志中捕获,而不在JMeter中的任何侦听器中捕获。与Webscript不同,我不确定是否可以为每个流添加事务控制器

如何使该值以独占方式显示在侦听器/或CSV文件或JTL文件中,从中我可以创建一个HTML报告,该报告还显示此中间结果

  • 将下一行添加到user.properties文件(位于JMeter安装的“bin”文件夹中)

  • 将下一行添加到JUnit测试:

    org.apache.jmeter.threads.JMeterContextService.getContext().getVariables().put("timeElapsed", String.valueOf(timeElapsed));
    
  • 这样,下次您将看到一个名为
    timeappeased
    的额外列,其中包含每个示例结果的
    timeappeased
    变量的值

    更多信息:


    您应该能够将该值绘制为

    谢谢。这就解决了,我能够在.jtl中捕获变量,并通过Jmeter生成的HTML报告根据自定义图形绘制它。
    org.apache.jmeter.threads.JMeterContextService.getContext().getVariables().put("timeElapsed", String.valueOf(timeElapsed));