linvaux opened a new issue, #6034:
URL: https://github.com/apache/jmeter/issues/6034

   ### Expected behavior
   
   when jmeter start to run , it should not to read the file that in csvDataSet
   
   ### Actual behavior
   
   jmeter log print :
   14:45:34.429 [测试 csv 禁用问题 1-1] ERROR org.apache.jmeter.threads.JMeterThread 
- Test failed!
   java.lang.IllegalArgumentException: File baodu.txt must exist and be readable
        at 
org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:424) 
~[ApacheJMeter_core-5.4.1.jar:5.4.1]
        at org.apache.jmeter.services.FileServer.readLine(FileServer.java:340) 
~[ApacheJMeter_core-5.4.1.jar:5.4.1]
        at 
org.apache.jmeter.config.CSVDataSet.iterationStart(CSVDataSet.java:182) 
~[ApacheJMeter_components-5.4.1.jar:5.4.1]
        at 
org.apache.jmeter.control.GenericController.fireIterationStart(GenericController.java:399)
 ~[ApacheJMeter_core-5.4.1.jar:5.4.1]
        at 
org.apache.jmeter.control.GenericController.fireIterEvents(GenericController.java:391)
 ~[ApacheJMeter_core-5.4.1.jar:5.4.1]
        at 
org.apache.jmeter.control.GenericController.next(GenericController.java:160) 
~[ApacheJMeter_core-5.4.1.jar:5.4.1]
        at 
org.apache.jmeter.control.LoopController.next(LoopController.java:134) 
~[ApacheJMeter_core-5.4.1.jar:5.4.1]
        at 
org.apache.jmeter.threads.AbstractThreadGroup.next(AbstractThreadGroup.java:91) 
~[ApacheJMeter_core-5.4.1.jar:5.4.1]
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:254) 
~[ApacheJMeter_core-5.4.1.jar:5.4.1]
        at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_301]
   
   ### Steps to reproduce the problem
   
   ### 1.Build a jmx file in Jmeter whit gui mode
    - 1. Create a testPlan
    - 2. Create a ThreadGroup with default config
    - 3. Create a HttpSimpler in ThreadGroup and config something 
    - 4. Add a CsvDataSet element in Threadgroup, conifg filename, vars 
    - 5. Disable this CsvDataSet element, save jmx file
   ### 2.Create a java project with maven in idea
   ### 3.Add dependencies in pom.xml
   ```xml
   <properties>
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       <jmeter.version>5.4.1</jmeter.version>
       <hutool.version>5.8.18</hutool.version>
       <commons.compress.version>1.23.0</commons.compress.version>
     </properties>
   
     <dependencies>
       <dependency>
         <groupId>org.projectlombok</groupId>
         <artifactId>lombok</artifactId>
         <version>1.18.26</version>
       </dependency>
       <dependency>
         <groupId>cn.hutool</groupId>
         <artifactId>hutool-core</artifactId>
         <version>${hutool.version}</version>
       </dependency>
       <dependency>
         <groupId>cn.hutool</groupId>
         <artifactId>hutool-extra</artifactId>
         <version>${hutool.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-compress</artifactId>
         <version>${commons.compress.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.jmeter</groupId>
         <artifactId>ApacheJMeter_core</artifactId>
         <version>${jmeter.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.jmeter</groupId>
         <artifactId>ApacheJMeter_http</artifactId>
         <version>${jmeter.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.jmeter</groupId>
         <artifactId>ApacheJMeter_java</artifactId>
         <version>${jmeter.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.jmeter</groupId>
         <artifactId>ApacheJMeter_functions</artifactId>
         <version>${jmeter.version}</version>
       </dependency>
     </dependencies>
   ```
   ### 4. copy the jmeter.properties file to java project resources folder from 
jmeter installed dir
   ### 5. wirte code
   ```java
   @Slf4j
   public class App {
       public static void main(String[] args) throws Exception {
           App app = new App();
           app.initEnv();
           File jmxFile = new File("test.jmx");
           HashTree hashTree = SaveService.loadTree(jmxFile);
           StandardJMeterEngine engine = new StandardJMeterEngine();
           engine.configure(hashTree);
           engine.run();
       }
   
       public void initEnv() {
           String jmeterHome;
           String jmeterProperties;
           // 本地调试时,从resources下面加载
           jmeterHome = this.getClass().getResource("/").getPath() + "jmeter";
           jmeterProperties = jmeterHome + File.separator + "bin" + 
File.separator + "jmeter.properties";
           JMeterUtils.loadJMeterProperties(jmeterProperties);
           log.info("JMeterProperties 加载完成");
           JMeterUtils.setJMeterHome(jmeterHome);
           log.info("jmeter.home 设置完成");
           System.setProperty("jmeter.home", jmeterHome);
           JMeterUtils.setLocale(Locale.getDefault());
       }
   }
   ```
   
   ### JMeter Version
   
   5.4.1
   
   ### Java Version
   
   oracle jdk1.8.0_301
   
   ### OS Version
   
   macos 11.5.2


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@jmeter.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to