2017-04-25 60 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。接下來,我想將此代碼轉換爲可分發的可執行文件 –