LoadRunner腳本編寫

發表于:2014-09-15來源:uml.org.cn作者:不詳點擊數: 標簽:loadrunner
性能測試工程師要懂代碼么?答案是必須的。好多測試員認為在loadrunner中編寫腳本很難很牛X ,主要是大多測試人員并未做過開發工作,大學的那點程序基礎也忘記的差不多了。還有非計

  性能測試工程師要懂代碼么?答案是必須的。好多測試員認為在loadrunner中編寫腳本很難很牛X ,主要是大多測試人員并未做過開發工作,大學的那點程序基礎也忘記的差不多了。還有非計算機專業出身的測試員,所以對代碼望都比較望而生畏。

  好多人認為loadrunner只支持C語言(包括我之前也一直這么認為),因為loadrunner默認的腳本是C語言的,其實它支持目前所有主流的語言,如:Java User、VB User、VB script User 、Javascript User、Mmicrosoft .NET等,總有一款適合你的吧,最起碼C語言是必修課吧。

  對于編寫loadrunner腳本的態度

  現在有一輛自行車放在你的面前,你為顯示自己體力很好,每天走路去上班。我騎車只要半小時,而你走路卻要2小時,我們的目的是一樣的,你是為了讓人說你牛呢,還是讓人說你傻呢?當然自行車不是萬能的,比如,上班的地點在山上,自行車跟本上不去,自然走路就是唯一的選擇了。

  所以,對于loadrunner腳本,能錄制的部分就錄制改,不能錄制的就手寫,但前提是我們要會寫腳本。

  認識loadrunner腳本

  Loadrunner自帶了一個小飛機訂票系統

  我們先啟動 Start Web server 服務,如果啟動成功,桌面右下角會有一個綠色的X ,然后打開瀏覽器訪

  http://127.0.0.1:1080/WebTours/  下面是我們loadrunner錄制一個登錄過程。

Action()
{

web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);

lr_rendezvous("集合點");

lr_start_transaction("登陸時間");
web_submit_form("login.pl",
"Snapshot=t2.inf",
ITEMDATA,
"Name=username", "Value=test1", ENDITEM,
"Name=password", "Value=123456", ENDITEM,
"Name=login.x", "Value=59", ENDITEM,
"Name=login.y", "Value=5", ENDITEM,
LAST);
lr_end_sub_transaction("登陸時間",LR_ABORT);

return 0;
}

  上面的代碼中有大括號“{}”,返回函數“ return ”,如果你有編程基礎的不會說對于上面的代碼一點都看不懂。只是上面的腳本沒有使用我們平時用到的東西,如定義常量、變量,分支(if....else if....)、循環語句(for...)

  下面我們動手寫個小程序,一個乘法運算,求員工工資的總合。

#define COUNT 100
#define SALARY 4000

Action()
{
int total;
total = COUNT * SALARY;
lr_output_message("100人合計薪資支出為:%d",total);

return 0 ;
}

  #define COUNT 100

  #define SALARY 4000 定義一個全局常量。

  lr_output_message 輸出語句,這個和我們所學的C 語言不一樣,在C中我們會用println 來輸入結果。

  運行結果:

..........
Starting iteration 1.
Starting action Action.
Action.c(9): 100人合計薪資支出為:400000 ----這里將運行結果打印輸出
Ending action Action.
Ending iteration 1.
..........

  一個有意思的小程序

  當然了,上面的程序太雞肋了,我只是想表達,loadrunner 也可以運行我們上學時學的那些普通的小程序。他們是一樣一樣的。

  下面看個比較有意思的小程序,通過隨即數和分支(選擇)語句switch來完成

Action()
{
int randomnumber;
randomnumber = rand() % 3+1;

switch (randomnumber) {

case 1:
{
lr_rendezvous("訪問百度集合點");

web_url("www.baidu.com",
"URL=http://www.baidu.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t12.inf",
"Mode=HTML",
EXTRARES,
"Url=http://s1.bdstatic.com/r/www/img/i-1.0.0.png", ENDITEM,
"Url=/favicon.ico", "Referer=", ENDITEM,
"Url=http://s1.bdstatic.com/r/www/img/bg-1.0.0.gif", ENDITEM,
LAST);

return 0;

}

case 2:
{
lr_rendezvous("訪問谷歌集合點");

web_url("www.google.com.hk",
"URL=http://www.google.com.hk/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t10.inf",
"Mode=HTML",
EXTRARES,
"Url=http://ssl.gstatic.com/gb/images/b_8d5afc09.png", ENDITEM,
"Url=/images/srpr/logo3w.png", ENDITEM,
"Url=/extern_chrome/749e1ce3c3e5f171.js", ENDITEM,
"Url=/images/swxa.gif", ENDITEM,
"Url=/favicon.ico", "Referer=", ENDITEM,
"Url=http://ssl.gstatic.com/gb/js/sem_0e1289051da7e9e3697c2025d9490acd.js", ENDITEM,
"Url=http://www.google.com/textinputassistant/tia.png", ENDITEM,
LAST);

return 0;

}
case 3:
{
lr_rendezvous("訪問有道集合點");

web_url("www.youdao.com",
"URL=http://www.youdao.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t7.inf",
"Mode=HTML",
EXTRARES,
"Url=http://shared.ydstatic.com/oxo/p/pic.gif", ENDITEM,
"Url=http://shared.ydstatic.com/oxo/p/logo.png?1", ENDITEM,
"Url=http://shared.ydstatic.com/oxo/p/nv_line.gif", ENDITEM,
"Url=http://shared.ydstatic.com/r/2.0/p/pic.gif", ENDITEM,
LAST);

return 0;
}

}

}

原文轉自:http://www.uml.org.cn/Test/201303151.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97