免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
LoadRunner腳本編寫之一

 

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

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

對于編寫loadrunner腳本的態(tài)度

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

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

 

 認識loadrunner腳本                           

  Loadrunner自帶了一個小飛機訂票系統(tǒng)

 

  我們先啟動 Start Web server 服務(wù),如果啟動成功,桌面右下角會有一個綠色的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;}  

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

 

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

 

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

#define COUNT 100

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

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

運行結(jié)果:

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

 

一個有意思的小程序                                                               

 

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

 

下面看個比較有意思的小程序,通過隨即數(shù)和分支(選擇)語句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;        }             }    }   

     上面的程序,我分別錄制了百度、谷歌、有道訪問三個網(wǎng)的首頁的代碼,我想在運行腳本時,隨機的去訪問其中一個網(wǎng)站,如何做呢?我們通過隨機函數(shù),隨機出1~3之間的整數(shù),根據(jù)隨機來的結(jié)果,然后執(zhí)行switch語句中的代碼。   

下面來看我的結(jié)果

 

  為了查看腳本結(jié)果更清晰,我在每一段腳本前面加了一個集合點“lr_rendezvous”函數(shù)。

 

 

Starting iteration 1.Starting action Action.Action.c(57): Rendezvous 訪問有道集合點Action.c(59): Downloading resource "http://shared.ydstatic.com/oxo/p/pic.gif" (specified by argument number 9)      [MsgId: MMSG-26577]Action.c(59): Downloading resource "http://shared.ydstatic.com/oxo/p/logo.png?1" (specified by argument number 11)      [MsgId: MMSG-26577]Action.c(59): Downloading resource "http://shared.ydstatic.com/oxo/p/nv_line.gif" (specified by argument number 13)      [MsgId: MMSG-26577]Action.c(59): Downloading resource "http://shared.ydstatic.com/r/2.0/p/pic.gif" (specified by argument number 15)      [MsgId: MMSG-26577]Action.c(59): Found resource "http://shared.ydstatic.com/dao/search/outweb/js/yd.js?201207131" in HTML "http://www.youdao.com/"      [MsgId: MMSG-26659]Action.c(59): Found resource "http://shared.ydstatic.com/dao/search/outweb/js/nav.js?201207131" in HTML "http://www.youdao.com/"      [MsgId: MMSG-26659]Action.c(59): Found resource "http://shared.ydstatic.com/dao/search/outweb/js/suggest.js?201207131" in HTML "http://www.youdao.com/"      [MsgId: MMSG-26659]Action.c(59): web_url("www.youdao.com") was successful, 30006 body bytes, 3347 header bytes, 39 chunking overhead bytes      [MsgId: MMSG-26385]Ending action Action.Ending iteration 1.

 

 

通過腳本讀取文件                                                                          

 

 

  為了增加語言的強大,高級語言不可以把一個程序的實現(xiàn)從頭到尾寫到文件里,這樣可讀性和維護很差,也無法實現(xiàn)團隊發(fā),肯定會相互調(diào)用接口函數(shù)庫等。當然,讀取文件也是常用的操作,下面我們來看一個讀取文件的例子。

 

我們事先準備一個文件test.txt ,里面隨便你輸入些什么內(nèi)容吧!

 

Action(){    int count,total=0;    char buffer [50];    long file_stream;    char * filename = "C:\\test.txt";  //讀取文件的存放位置    //判斷是否可以讀取文件    if((file_stream =fopen(filename,"r"))==NULL)       {        lr_error_message("不能打開%s文件!",filename);        return -1;    }    while(!feof(file_stream))    {        count=fread(buffer,sizeof(char),50,file_stream);  //從文件中讀取50個字符        total=total+count;   //字符個數(shù)計數(shù)        if(total>=50)        {            fclose(file_stream);  //關(guān)閉文件            lr_output_message("文件的前50字符:%s",buffer);            break;  //退出循環(huán)        }    }    return 0;}

 

上面的代碼中我加了注釋,這里沒必須再做解釋。

下面來看我的運行結(jié)果

Starting iteration 1.Starting action Action.Action.c(24): 文件的前50字符:01234567890123456789012345678901234567890123456789Ending action Action.Ending iteration 1.

 

     loadrunner難么? 對于有編程基礎(chǔ)的一點都不都。我們所要做的就是熟悉loadrunner的常用函數(shù)罷了。

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
LoadRunner 培訓(xùn)心得
Loadrunner思考時間
loadrunner對事務(wù)狀態(tài)的跟蹤
Loadrunner 腳本優(yōu)化
LoadRunner 性能測試腳本
Loadrunner模擬JSON接口請求進行測試
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服