<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    編程生活

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks

            很多時候,我們需要直接對Jboss下的java應用服務系統進行性能測試。這種服務有些是基于Jboss Remoting實現,以socket的方式
    提供接口函數,并沒有一個可以看的見的界面可供測試。在這種情況下,有的測試組會選擇,開發一個簡單的web頁面,調用這個
    服務,然后用loadRunner制作web腳本進行測試。
            這種設計方案的缺陷在于,性能測試的壓力會被堵在web層這里,無法測出服務端的準確性能,甚至可能web服務器的資源已經
    耗盡,服務端還完全沒達到最大吞吐量。要解決這個問題,只有使用LoadRunner直接調用服務端的接口,減少中間環節的干擾。
            首先,請大家安裝LoadRunner8.1以上版本,因為8.1支持jdk1.5版本,現在很多應用都是在jdk1.5的框架下開發的。注意,8.1并
    不支持jdk1.6,所以請安裝1.5版本。
            打開Vuser Generator,新建一個java Vuser協議的腳本。新腳本會自動創建一個class和3個函數:init、action、end。這時,大家先
    Compile一下,如果沒有錯誤,再繼續。如果報錯,看看你的jdk版本。
            先把腳本保存在本地的文件夾中。然后,把調用服務所需要的一些jar文件,也拷貝到腳本目錄里面。注意,一般調用遠程Jboss
    服務時,都是需要一些描述接口函數類型的jar文件。另外,建議先使用eclipse,開發一個測試的框架類,通過這個框架,可以輕松的
    調用指定服務器的指定接口服務的指定方法,從而降低LoadRunner腳本編寫的難度。
            jar文件準備好以后,點擊toolbar上的“java function”按鈕,然后點擊“location”,把你需要的jar文件添加進來。這時,就能看到jar
    文件中的所有對象列表,以及對象的屬性和方法。
            回到腳本編輯窗口,我們可以直接遵照Java的語法,編寫腳本代碼,在代碼中,可以對剛才引入的java對象進行面向對象的編程,
    比如下面的代碼:

    com.Testing.ServiceCaller caller;
    caller 
    = new com.Testing.ServiceCaller ();
    caller.init(
    "192.168.0.1:4446""ServiceName");
    caller.call(
    "methodName" ,  "paras");


    在這里寫腳本,幾乎和寫java代碼一模一樣。我們可以完全引用jar文件的各種對象,同樣,也可以使用java ee框架中的各種對象,
    LoadRunner對java的支持真是非常的好。
    同時,LoadRunner也提供了一些好用的函數,方便大家準備測試參數、輸出測試結果,比如:

    int orgId = lr.eval_int("2");
    lr.error_message (
    "出錯嘍");


    這些以lr開頭的方法,參考文檔在幫助中寫的很清楚。比如lr.eval_int就是把字符型變量轉換成int型,lr.error_message 是輸出錯誤的
    提示,我們可以在代碼中加入數據正確性的檢查邏輯,這樣在執行性能測試的時候,如果出錯,就能很清楚的看到。

    Loadrunner對java支持非常好,但是,在實際操作中,出現了一個新問題:如果要引用jar文件,需要把jar文件拷貝到當前腳本的目
    錄下。如果我們為性能測試開發了一個測試框架,就需要把框架類的jar文件拷貝到每個腳本的目錄下,這樣做顯然不合理,因為
    同一文件保存多份拷貝,很難管理,極易引起版本混亂。
     我們需要把測試框架的jar文件,放在一個統一的地方,讓每個測試腳本都能自動找到,這樣才能解決問題。開始,我準備利用
    java VM運行環境的ClassPath來解決。首選,在環境變量的ClassPath中增加一個目錄,比如“d:\lib”。然后把測試框架的jar文件拷貝
    到這個目錄,運行腳本,失敗!提示找不到指定的類。
    之后,我修改了環境變量ClassPath的值,把jar文件的完整路徑添加進去,例如“d:\lib\testBase.jar”,再次運行腳本,成功!似乎java
    的classPath并不支持目錄,而必須要指定到具體的jar文件。這個問題困擾了我很久,如果有java的高手請指點一下。
    雖然設定環境變量,可以解決這個問題,不過以后如果需要增加一個jar文件,就要修改一次環境變量,還是很不方便。于是,我
    嘗試把jar文件用winrar解壓,直接把解壓后的目錄保存在d:\lib目錄下面,然后在環境變量里面只設定d:\lib,運行腳本發現也能通過!!
    原來系統雖然不能找到jar文件,卻能找到目錄中的*.class文件。
    雖然jar文件解壓后的文件比較多,和單獨的jar文件相比,管理起來有些麻煩,不過最終我還是選擇了這個方法。或者,大家還可
    以使用另一個方法:在一臺電腦上,將測試需要用到的jar文件共享,然后,在編輯腳本時,按下F4進入“runtime setting”,在classPath
    中從網絡中,指向你需要的jar文件。這樣,就需要為每個腳本都設定一次classPath。
    posted on 2008-06-05 13:03 wilesun 閱讀(946) 評論(1)  編輯  收藏

    評論

    # re: 使用LoadRunner8.1的java Vuser協議調用jar文件(轉)[未登錄] 2012-12-19 15:57 1
    沒啥技術含量  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久WWW免费人成一看片| 一区二区三区免费在线视频| 51精品视频免费国产专区| 亚洲精品tv久久久久| 老司机午夜精品视频在线观看免费 | 四虎www免费人成| 亚洲乱码在线观看| 国产精品视频免费观看| 亚洲一区二区三区免费在线观看 | 久久九九全国免费| 亚洲va久久久噜噜噜久久男同| 久青草视频在线观看免费| 亚洲国产另类久久久精品黑人| 青青操免费在线观看| 亚洲最新视频在线观看| 黄+色+性+人免费| 亚洲精品久久久久无码AV片软件| 日韩成全视频观看免费观看高清| 极品色天使在线婷婷天堂亚洲 | 亚洲国产成人精品激情| 四虎成人免费观看在线网址| 亚洲6080yy久久无码产自国产 | 亚洲AV无码日韩AV无码导航| 91久久精品国产免费直播| 亚洲国产夜色在线观看| 国产精品免费看香蕉| 亚洲免费无码在线| 亚洲视频在线观看视频| 手机在线毛片免费播放| 一级毛片高清免费播放| 亚洲AV无码精品无码麻豆| 在线观看的免费网站| 美女羞羞视频免费网站| 国产AV无码专区亚洲A∨毛片| 91久久精品国产免费直播| 国产综合成人亚洲区| 亚洲av无码不卡| 最近中文字幕免费mv视频7| 一级黄色免费网站| 亚洲欧洲视频在线观看| 四虎在线播放免费永久视频 |