LoadRunner腳本編寫(6)

發表于:2014-09-15來源:uml.org.cn作者:不詳點擊數: 標簽:loadrunner
對80%的用戶瀏覽商品,20%用戶交易,交易的前提是先瀏覽一個商品,也就是所有用戶(100%)都瀏覽了商品,只有20%的用戶去交易。這樣是合乎邏輯的。 事務

  對80%的用戶瀏覽商品,20%用戶交易,交易的前提是先瀏覽一個商品,也就是所有用戶(100%)都瀏覽了商品,只有20%的用戶去交易。這樣是合乎邏輯的。

  事務函數

  在上面的腳本中我們用到了lr_start_transaction()函數和 lr_end_transaction()函數來標識一個事務的開始與結束,除些之外,loadrunner還提供了許多與事務相關的函數,這里介紹幾個常用的。

  1、lr_set_transaction_instance_status 用于設置事務的狀態,事務的狀態包括:LR_PASS、 LR_FAIL 、 LR_AUTO 、 LR_STOP ??梢栽谀_本中根據條件設置事務的狀態,例如,根據檢查點返回的結果來設置事務為通過還是失敗。

if(event == GENERAL_ERROR) lr_set_transaction_instance_status(LR_FAIL); lr_end_transaction("登陸",LR_AUTO);

  2、 lr_fail_trans_with_error與lr_set_transaction_instance_status 類似,都可以用于設置事務的狀態,區別在于lr_fail_trans_with_error除了可以設置的狀態,還可以輸出錯誤日志信息。

if(status != SUCCESS) lr_fail_trans_with_error("an error has occurred:%s",my_get_error_string(status)); lr_end_transaction("登陸成功",LR_AUTO);

  3、lr_get_transaction_status與前兩個函數的作用相反,用于獲取事務的狀態。

if(status != SUCCESS) lr_fail_trans_with_error("an error has occurred:%s",my_get_error_string(status)); lr_end_transaction("登陸成功",LR_AUTO);

  4、lr_get_transaction_duration 用于獲取事務所消耗的時間。這個就比較有意思了。

  我們登錄百度首頁,插入一個事務,然后訪問百度注冊頁面。下面計算訪問注冊頁面的時間。

  完整腳本:

View Code

Action()
{
double trans_time; //定義變量

web_url("www.baidu.com",
"URL=http://www.baidu.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t14.inf",
"Mode=HTML",
EXTRARES,
"Url=http://s1.bdstatic.com/r/www/cache/aoyun/img/i-1.0.1.png", ENDITEM,
"Url=/favicon.ico", "Referer=", ENDITEM,
"Url=http://s1.bdstatic.com/r/www/img/bg-1.0.0.gif", ENDITEM,
"Url=http://nsclick.baidu.com/v.gif?pid=201&pj=www&rsv_sid=1289_1328_1262_1228_1344_1342_1186_128
1_1178_1287_1320_1294_1330&fm=behs&tab=tj_reg&un=&path=http%3A%2F%2Fwww.baidu.com%2F&t=1343538345708", ENDITEM,
"Url=https://passport.baidu.com/favicon.ico", "Referer=", ENDITEM,
LAST);

lr_start_transaction("訪問注冊頁"); //定義事務開始

web_link("???",
"Text=???",
"Ordinal=2",
"Snapshot=t15.inf",
EXTRARES,
"Url=../img/breadbg.gif", "Referer=https://passport.baidu.com/v2/?reg&regType=1&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F", ENDITEM,
"Url=../js/pass_api_reg.js?v=20120711", "Referer=https://passport.baidu.com/v2/?reg&regType=1&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F", ENDITEM,
"Url=../img/v2/regbtn-split.gif", "Referer=https://passport.baidu.com/v2/?reg&regType=1&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F", ENDITEM,
"Url=../cgi-bin/genimage?0013435383780156BF1F30CF18D2332EA927154DCDAB3B6B40F9E25197273F55645
4857E2FADF7BA23531BE59EEDE0EF92F2F006F8D595B88A907E318D2A249CBAB109FCDB3AB38ED4453F3BC149C6A5FD6240B97D598BA84E
E3CEEE3F4359D3469309D88EE55C19B04251D2212171720B476D0A0D6277787DD43D9BA29E426A82BFD90E248FA15A32F1838B3E15D63B
8CFE4E3DC6EAD4F23FE0DB457E5AE6B82DACCB79EE9EF289", "Referer=https://passport.baidu.com/v2/?reg&regType=1&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F", ENDITEM,
"Url=../img/v2/reg_input_bg.gif", "Referer=https://passport.baidu.com/v2/?reg&regType=1&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F", ENDITEM,
LAST);

trans_time=lr_get_transaction_wasted_time("訪問注冊頁"); //獲得消耗時間

if (trans_time) {
lr_output_message("The duration up to the submit is %f seconds",trans_time); //打印數輸出消耗實時間
}else{
lr_output_message("the duration cannot be determined. ");
}

lr_end_transaction("訪問注冊頁",LR_AUTO); //事務結束

return 0;
}

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

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