1. 程式人生 > >loadrunner介面效能測試分享

loadrunner介面效能測試分享

最近做了一次java指令碼的lr效能測試
不過後來直接用eclipse進行了一次模擬,感覺也不錯
先說lr
這裡寫圖片描述

選擇JavaVuser
之後 會生成指令碼如下:

 */

import lrapi.lr;

public class Actions
{

    public int init() throws Throwable {
        return 0;
    }//end of init


    public int action() throws Throwable {
        return 0;
    }//end of action


    public
int end() throws Throwable { return 0; }//end of end }

在你的指令碼中增加

 */

import lrapi.lr;

public class Actions
{

    public int init() throws Throwable {
        return 0;
    }//end of init


    public int action() throws Throwable {
            lr.start_transaction("b2b"); //增加資料 統計

//在這裡增加你的程式碼即可
//增加判斷邏輯 if(!(responseString ==null)&&responseString.contains("recharge failed")){ lr.end_transaction("b2b", lr.PASS); }else{ lr.end_transaction("b2b", lr.FAIL); } return 0; }//end of action public int end() throws Throwable { return
0; }//end of end }

在這裡增加你的jar即可

這裡寫圖片描述

根據tps公式,用eclipse模擬如下:

public class ThreadTest {

    public static int threadCount=20;//啟動執行緒數量
    public static int threadExcuteCount=1000000;//每個執行緒執行任務次數,沒有數量的時候設定為999999999預設無窮大
    public static int average; //每個任務執行的平均耗時
    public static float tps; //瞬時tps 
    public static int allhits=threadCount*threadExcuteCount; //總執行任務數量


    public static void main(String[] args) {


        for (int i = 0; i <threadCount; i++) {
            Thread th=  new Thread(new Runnable1());
            th.setName("測試執行緒"+i);
            th.start();
        }
    }
} 

class Runnable1 implements Runnable{
    public void run() {

        for (int i = 0; i < 1000; i++) {

                long startTime=System.currentTimeMillis();//記錄開始時間
//              CbApplyPayShortcut_DEBITCARD test = new CbApplyPayShortcut_DEBITCARD();
//              test.main(null);
                cbPreAuthDirect  test = new cbPreAuthDirect();
                try {
                    test.main(null);
                } catch (Exception e) {
                    // TODO: handle exception
                }

                System.out.println("");
                long endTime=System.currentTimeMillis();//記錄結束時間
                float excTime=(float)(endTime-startTime);
                ThreadTest.tps=(float)ThreadTest.threadCount*(1000/excTime);
                try {
                    Thread.sleep(200000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
//              System.out.println(Thread.currentThread().getName()+"||當前執行緒執行次數:"+i+"||耗時為:||"+excTime+"||TPS=||"+ThreadTest.tps+"||執行結果:"+test.flag);
                System.out.println("++++++++++++++++++++++++++++++++++++++++++");
             }

        }


}