您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
Jmeter使用指南
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/27 14:48:57 ] 推薦標(biāo)簽:

  7.2 JMeter內(nèi)置變量

  JMeter在它的BeanShell中內(nèi)置了變量,用戶可以通過這些變量與JMeter進行交互,其中主要的變量及其使用方法如下(JMeter文檔并沒有對該部分內(nèi)容進行詳細講解,這里也會說明他們分別對應(yīng)于JavaDoc中的哪個類):

    vars:這個變量實際引用了JMeter線程中的局部變量容器(本質(zhì)上是Map),因此可以通過put和get方法訪問JMeter中的變量。這個變量是所有內(nèi)置變量中有用的,它是測試用例與BeanShell交互的橋梁。對應(yīng)于org.apache.jmeter.threads.JMeterVariables
    props:該變量引用了JMeter的配置信息,它的使用方法與vars類似,但是只能put進去String類型的值,而不能是一個對象。對應(yīng)于java.util.Properties。
    ctx:該變量引用了當(dāng)前線程的上下文,理論上通過這個東西我們幾乎可以控制當(dāng)前線程相關(guān)的一切,不過這要求使用者非常熟悉JMeter的源碼。對應(yīng)于org.apache.jmeter.threads.JMeterContext。

  7.3 在BeanShell中使用Java類

  有的時候我們希望發(fā)送數(shù)個請求,而這些請求的內(nèi)容是通過一個Java類來實現(xiàn)的,這時需要讓JMeter來調(diào)用這個Java類,而的途徑是通過BeanShell。

  為了能夠加載Java類,我們首先需要在Test Plan中添加自定義Java類所在的Class Path,然后可以在BeanShell中import這個Java類,后再將獲得的內(nèi)容放入vars變量中,這樣可以在其他地方通過${...}的方式獲取該變量的信息了。

  例如,創(chuàng)建了一個com.linhao.A類在/root/Java文件夾下,該類有一個方法hello()返回一個"Hello World"字符串,那么如果想在請求中使用這個方法返回的字符串,則進行如下操作:

  首先在Test Plan下添加ClassPath為/root/Java

  然后在請求前添加一個BeanShell Sampler并寫入如下代碼:

  view plaincopy to clipboardprint?

  import com.linhao.A;

  vars.put("word", A.hello());

  import com.linhao.A;

  vars.put("word", A.hello());

  后在需要使用該字符串的地方寫${word},這樣終這個域?qū)⒈惶鎿Q為Hello World

  7.4 JMeter下BeanShell的調(diào)試

  BeanShell也是代碼,應(yīng)此也可能會有錯誤,而JMeter又是一個圖形界面的程序(也有命令行模式,但并不變于在設(shè)計用例階段使用),因此很多時候用例的設(shè)計者并不能確定BeanShell中某些變量是否正確。一個簡單的辦法是使用BeanShell創(chuàng)建一個對話框,然后將需要檢測的變量值顯示在對話框中。代碼如下:

  view plaincopy to clipboardprint?

  JFrame. frame. = new JFrame( a ); //a is a variable to be checked

  frame.setVisible(true);

  JFrame. frame. = new JFrame( a ); //a is a variable to be checked

  frame.setVisible(true);

  這樣當(dāng)測試執(zhí)行到這里的時候可以知道變量a的值了。

  雖然BeanShell很強大,但是它畢竟是一個腳本語言,因此如果測試參數(shù)的生成邏輯很復(fù)雜,則還是應(yīng)該把主要邏輯放在Java類中,然后讓BeanShell去調(diào)用,BeanShell只用來處理一些較為簡單的操作

8、Jmeter使用之常用函數(shù)介紹

"_Random"函數(shù)

  功能:這個函數(shù)是從某個數(shù)字段隨機讀取數(shù)據(jù)替換參數(shù),可以利用在測試需要添加多條數(shù)據(jù)記錄而且某些字段需要性的測試腳本中,隨機生成的參數(shù)是數(shù)字

  作用:可以用來實現(xiàn)參數(shù)化http請求發(fā)送的參數(shù),使得在Jmeter運行時參數(shù)化了的參數(shù)在每個線程去不同的隨機數(shù)。如果某個參數(shù)每次發(fā)送請求的時候不能重復(fù)才可以存儲到數(shù)據(jù)庫中,則用這個功能十分方便。

  使用:

  1.點擊Jmeter的“選項”,選擇“函數(shù)助手對話框”(或者使用快捷鍵“Ctrl+F”),在“選擇一個功能”的下拉框中選擇“_Random”。

  2.配置“_Random”函數(shù),第一個參數(shù)是“一個范圍內(nèi)的小值”,即所要取的隨機數(shù)的小值,我們設(shè)置成1;第二個參數(shù)是“一個范圍內(nèi)的大值”,即所要取的隨機數(shù)的大值,我們設(shè)置成100;第三個參數(shù)是“函數(shù)名稱”,即用于存儲在測試計劃中其他的方式使用的值,我們設(shè)置成Random。設(shè)置好上面的三個參數(shù)后,點擊“生成”按鈕,這樣會在對話框的下面生成一個字符串“${__Random(1,100,Random)}”,在我們編寫的腳本中,找到要替換的參數(shù),把它的值換成前面生成的字符串可以了,然后每次運行的時候,這個參數(shù)會變成一個1到100之間的隨機數(shù)。

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd