2017-04-25 58 views
0

我现在正在使用Jmeter脚本,因此需要保护Jmeter脚本,并且主要使外部利益相关者无法阅读它。我的期望是混淆或交付脚本作为某种JAR或可执行文件。我需要一些想法或解决方法来开始。混淆或安全Jmeter脚本

感谢

Senz79

回答

1

它可以从Java代码中纯粹的Java使用JMeter API运行现有的JMeter脚本或创建一个JMeter测试,所以它不是建立一个可执行的二进制文件,将运行一个问题,你的测试并混淆它。

示例Java代码来运行JMeter测试:

import org.apache.jmeter.engine.StandardJMeterEngine; 
import org.apache.jmeter.reporters.ResultCollector; 
import org.apache.jmeter.reporters.Summariser; 
import org.apache.jmeter.save.SaveService; 
import org.apache.jmeter.util.JMeterUtils; 
import org.apache.jorphan.collections.HashTree; 

import java.io.File; 

public class JMeterFromCode { 

    public static void main(String[] argv) throws Exception { 

     // JMeter Engine 
     StandardJMeterEngine jmeter = new StandardJMeterEngine(); 

     // Initialize Properties, logging, locale, etc. 
     JMeterUtils.loadJMeterProperties("/tmp/jmeter/bin/jmeter.properties"); 
     JMeterUtils.setJMeterHome("/tmp/jmeter"); 
     JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level 
     JMeterUtils.initLocale(); 


     // Initialize JMeter SaveService 
     SaveService.loadProperties(); 

     // Load existing .jmx Test Plan  
     HashTree testPlanTree = SaveService.loadTree(new File("/tmp/jmeter/test.jmx")); 

     Summariser summer = null; 
     String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary"); 
     if (summariserName.length() > 0) { 
      summer = new Summariser(summariserName); 
     } 

     ResultCollector logger = new ResultCollector(summer); 
     logger.setFilename("/tmp/jmeter/test.jtl"); 
     testPlanTree.add(testPlanTree.getArray()[0], logger); 


     // Run JMeter Test 
     jmeter.configure(testPlanTree); 
     jmeter.run(); 
    } 
} 

请参阅下面的参考资料上手:

+0

谢谢,能从java代码执行JMX。接下来,我想将此代码转换为可分发的可执行文件 –