您的位置:首页 > 运维架构 > Shell

jmeter,beanshell中常用的一些java代码处理[持续更新]。

2018-06-03 15:24 351 查看
import java.text.*;
import java.util.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;

import java.io.InputStreamReader;


import java.security.MessageDigest;
import java.util.Date;
import org.apache.commons.codec.binary.Hex;


//url编码、解码引入的包

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

public class JmeterUtils {

//获取两个不同的随机数
public static int[] getTwoRandNo(int min,int max){

int rand1 = new Random().nextInt(10)%(10) + 1;  //取1 到 matchNo 的随机数
int rand2 = 0;


while(true){
rand2 = new Random().nextInt(10)%(10) + 1;
if(rand2 != rand1){
break;
}
}

int a[] = {rand1,rand2};
return a;

}

//取num个不同的随机数
public static int[] getRands(int num,int min,int max){

List<Integer> list = new ArrayList<Integer>();
        for (int i = min; i < max; i++){
            list.add(new Integer(i));
        }
 
        for (int i = 0; i < 10; i++) {   //打乱10次
           
            Collections.shuffle(list);   //shuffle 打乱顺序
//             System.out.println(list);
        }
        
        int a[] = new int[num];
        for(int i=0;i<num;i++){
        a[i]=list.get(i);
        }
        return a;

}



//取一定范围内的随机数
public static int getRandNo(int min,int max){

Random random = new Random();

int randNo = random.nextInt(max)%(max-min+1) + min;
return randNo;
}


//取得当前日期
public static String getDate(){
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");  //格式根据不同的需求而更改
return sdf.format(new Date());
}

//在String date 加上xx天
public static String addDate(String date,int num) throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Date d1 = sdf.parse(date);  //String转换为date类型
Calendar cal = Calendar.getInstance(); 
cal.setTime(d1);
cal.add(Calendar.DAY_OF_MONTH, num);//当前天加上xx天
return sdf.format(cal.getTime());//cal.getTime()取得当前时间 date类型
}


//读取某一行的数据
public static String readTxtLine(String filePath, int lineNo) {
 
        String line = "";
        try {
            File f = new File(filePath);
            InputStreamReader read = new InputStreamReader(new FileInputStream(f));
            BufferedReader reader = new BufferedReader(read);
            int i = 0;
            while (i < lineNo) {
                line = reader.readLine();
                i++;
            }
            reader.close();
        } catch (Exception e) {
        }
         
        return line;
    }

//sha1加密
public static String hexSHA1(String value){
try{
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.update(value.getBytes("utf-8"));
byte[] digest = md.digest();
return byteToHexString(digest);
}catch(Exception ex){
throw new RuntimeException(ex);
}
}


//byte转换为HexString
public static String byteToHexString(byte[] bytes){
return String.valueOf(Hex.encodeHex(bytes));
}



//生成MD5  
    public static String getMD5(String message) {  
        String md5 = "";  
        try {  
            MessageDigest md = MessageDigest.getInstance("MD5");  // 创建一个md5算法对象  
            byte[] messageByte = message.getBytes("UTF-8");  
            byte[] md5Byte = md.digest(messageByte);              // 获得MD5字节数组,16*8=128位  
            md5 = byteToHexString(md5Byte);                            // 转换为16进制字符串  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return md5;  
    }  
// 生成时间戳
public static String getcurTime(){
String curTime = String.valueOf((new Date()).getTime() /1000L);//shijianc
return curTime;
}

     //url编码 
public static String urlEncode(String str)  {       
String encodeURL;
try {
encodeURL = URLEncoder.encode( str, "UTF-8" );
return encodeURL;
} catch (UnsupportedEncodingException e) {
return e.getMessage();  
}     
       


//url解码
public static String urlDecode(String str)  {       
String encodeURL;
try {
encodeURL = URLDecoder.decode( str, "UTF-8" );
return encodeURL;
} catch (UnsupportedEncodingException  e) {
return e.getMessage();  
}     
       


public static void main(String[] args) {

// int a[] = JmeterUtils.getTwoRandNo(1, 10);
// System.out.println(a[0]);
// System.out.println(a[1]);

int a[] = JmeterUtils.getRands(5, 1, 100);
for(int n:a){
System.out.println(n);

}
}


}



可以直接复制到beanshell中,也可以搞成一个jar包,导入到jmeter中。
导入方法就不细说了啊~

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: