衆所周知,loadrunner能夠使用多種協議進行性能測試。這裏不得不提到JavaVuser協議。 java
你是否已經厭煩了在loadrunner腳本開發中,使用各類c函數進行復雜的字符串拼接,解析報文? git
那麼爲何不使用loadrunner提供的JavaVuser協議開發基於java的腳本呢。 api
能夠直接使用Java提供的邏輯代碼的場景。 函數
loadrunner11.0 性能
jdk1.6.32_x86_32 測試
選擇JavaVuser協議 ui
Vuser--RunTime Settings 編碼
下面這段腳本主要是模擬經過url路徑訪問一個應用的頁面,返回首頁內容的操做。 url
/* * LoadRunner Java script. (Build: _build_number_) * * Script Description: JavaVuser訪問頁面 * * creator:jeffsui * * Create Time:2014-04-15 * */ import java.io.InputStream; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; import lrapi.lr; public class Actions { public int init() throws Throwable { return 0; }//end of init public int action() throws Throwable { /***訪問首頁事務*/ lr.start_transaction("訪問GitBucket首頁"); String serverUrl="http://localhost:8026/gitbucket";//請求頁面url路徑 OutputStreamWriter out =null; try { URL url =new URL(serverUrl); URLConnection conn = url.openConnection();.//創建鏈接 conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestProperty("Content-Type","UTF-8");//設置請求字符編碼 out=new OutputStreamWriter(conn.getOutputStream(),"UTF-8");//設置迴應字符編碼 out.flush(); out.close(); InputStream in =conn.getInputStream(); byte[] buffer= new byte[in.available()]; in.read(buffer); System.out.println(new String(buffer)); } catch (Exception e ) { e.printStackTrace(); }finally{ if(out!=null){ try { out.close(); } catch (Exception e ) { e.printStackTrace(); } } } lr.end_transaction("訪問GitBucket首頁", lr.AUTO); return 0; }//end of action public int end() throws Throwable { return 0; }//end of end }
編譯經過 spa
No errors detected
Starting iteration 1. Starting action Actions. Notify: Transaction "訪問GitBucket首頁" started. //首頁內容省略 .... Notify: Transaction "訪問GitBucket首頁" ended with "Pass" status (Duration: 4.9907).
(1)目前loadrunner11只支持32位的jdk,切記
(2)RuntimeSettings裏只是加載了基本jdk,若是須要加載其餘第三方的jar包請在JavaFunction中加載
(3)JavaVuser的執行效率取決於你的Java代碼,儘可能減小loadrunner對他的干預。