欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

silkperformer 參數(shù)化配置

系統(tǒng) 1906 0

http://www.ltesting.net/html/23/category-catid-123.html SilkPerformer學(xué)習(xí)網(wǎng)站

SilkPerformer7.2參數(shù)化范例












*****股份有限公司
2006年9月

關(guān)于本文檔
文檔信息
文檔名稱 SilkPerformer7.2參數(shù)化范例
作者 測(cè)試組
說(shuō)明 本文檔提供給*****內(nèi)部項(xiàng)目組使用
文件名稱 SilkPerformer7.2參數(shù)化范例.doc
修訂歷史 (REVISION HISTORY)
Rev Section Type Date Author Remarks
1.0 全部 創(chuàng)建 2006-9-25 Zhangsx


目的與范圍
對(duì)SilkPerformer的參數(shù)化的方法和過(guò)程進(jìn)行闡述,以便靈活的運(yùn)用測(cè)試腳本
適用的對(duì)象
本文檔僅適用于*****股份有限公司的管理者,測(cè)試者閱讀。
SilkPerformer7.2參數(shù)化范例
范例介紹:
在本實(shí)驗(yàn)中我們將介紹如何使用SilkPerformer 提供的功能進(jìn)行參數(shù)化

實(shí)驗(yàn)?zāi)繕?biāo):
學(xué)會(huì)如何使用SilkPerformer對(duì)腳本進(jìn)行參數(shù)化
參數(shù)化的分類
一、常量(有兩種方式實(shí)現(xiàn))
1) 在測(cè)試腳本的全局變量定義部分(dclparam)加上如下代碼:? const cpara :="this is constvalue"; //定義一個(gè)常量可以是整型、布爾型、浮點(diǎn)型或字符串類型,或者在一個(gè)事務(wù)過(guò)程中定義常量,定義的方法相同,只是他們的作用域不同而已,全局的在當(dāng)前腳本中所有的事務(wù)中都能被引用,而局部常量只能在定義他所在的事務(wù)中才可以使用,其他事務(wù)中不能引用。


2) 通過(guò)點(diǎn)擊Script->create new parameter, 彈出參數(shù)化的向?qū)В缦聢D所示
選擇常量的數(shù)據(jù)類型后點(diǎn)“下一步”

進(jìn)入如下畫(huà)面

輸入常量名與值后點(diǎn)擊完成,常量參數(shù)化結(jié)束,只要在要用到該值得地方用name替換即可,生成的腳本參見(jiàn)附表。
二、變量
1) 變量的定義與常量的定義類似,通過(guò)var來(lái)定義,只要在腳本中加入如下代碼:var? bValue2: boolean;//定義了一個(gè)變量,變量也可以是全局或局部的,與常量的差別就是變量在引用過(guò)程中可以被改變而常量不能。
2) 通過(guò)點(diǎn)擊Script->create new parameter, 彈出參數(shù)化的向?qū)Вx隨機(jī)變量,如下圖所示。

點(diǎn)擊Next >進(jìn)入如下畫(huà)面

? 選擇隨機(jī)變量的數(shù)據(jù)類型之后點(diǎn)“下一步”,進(jìn)入如下畫(huà)面
?
為隨機(jī)變量命名,限定隨機(jī)取值的范圍后,點(diǎn)擊“下一步”,進(jìn)入如下畫(huà)面

選擇運(yùn)用類型后,點(diǎn)擊完成,結(jié)束隨機(jī)變量參數(shù)化過(guò)程。
三、從文件中讀取
(一) 、Parameter from Random varia
1) 在測(cè)試過(guò)程中有許多地方需要批量的數(shù)據(jù),而且必須保證每個(gè)用戶所使用的數(shù)值都是唯一的,有的是因?yàn)閿?shù)據(jù)庫(kù)中主健約束的原因,有的是為了保證數(shù)據(jù)一致性,系統(tǒng)控制不允許進(jìn)行并發(fā)操作(例如:終端業(yè)務(wù)系統(tǒng)在理賠流轉(zhuǎn)中,一但一個(gè)任務(wù)被接收了,就不允許其他用戶再次接收處理了),首先選擇需要參數(shù)化的值右擊鼠標(biāo),在彈出菜單中選擇Customize Value???????

2) 彈出如下對(duì)話框?
??
這里有三種參數(shù)類型供選擇:Constant value—將參數(shù)化一個(gè)常量;Parameter from Random Varia—指從一個(gè)隨機(jī)變量中取值(例如設(shè)定最大值最小值,在這個(gè)范圍內(nèi)隨機(jī)取值);Parameter from Multi-column datafile—從數(shù)據(jù)文件中取值(有多列值,可選取讀取文件中的某列),在這里我們選擇第二個(gè),點(diǎn)next >
????????????
3) 進(jìn)入如下畫(huà)面


選擇參數(shù)化變量的類型,有字符串,整型,浮點(diǎn)型等,在這里我們選擇從文件中讀取即String from file,點(diǎn)擊下一步
4) 進(jìn)入如下畫(huà)面定義變量名稱及變量的值

Order單選鈕決定了取值時(shí)的規(guī)則是隨機(jī)的還是順序的,可以點(diǎn)擊Show Preview查看添加的代碼,保存后點(diǎn)擊“下一步”
5) 進(jìn)入如下畫(huà)面

選擇運(yùn)用的類型:有三個(gè)共選擇:
? Per usage—每個(gè)用戶每使用一次時(shí)重新獲取一個(gè)隨機(jī)值,若取數(shù)規(guī)則是順序的(sequential),則所有虛擬用戶都從第一個(gè)值開(kāi)始取,循環(huán)取值。例如數(shù)據(jù)文件中有值依次為:a1,a2,a3,三個(gè)虛擬用戶:Vu1,Vu2,Vu3并發(fā)時(shí)運(yùn)行一次Tmain,取得值都是a1,第二次都是a2
? Per Transaction—每運(yùn)行一次Tmain重新獲取一個(gè)隨機(jī)值,一個(gè)用戶可以獲取不同值,取數(shù)方式與 Per usage的相同
? Per Test—每個(gè)用戶在一個(gè)壓力測(cè)試期內(nèi)只隨機(jī)取一次值,只對(duì)應(yīng)一值,若取數(shù)規(guī)則是順序的(sequential),則所有虛擬用戶始終取的是第一個(gè)值。例如數(shù)據(jù)文件中有值依次為:a1,a2,a3,三個(gè)虛擬用戶:Vu1,Vu2,Vu3并發(fā)時(shí)運(yùn)行始終都取a1
點(diǎn)擊完成,完成參數(shù)化向?qū)В傻拇a參見(jiàn)附表。
即使是這樣也不能達(dá)到我們的要求,因?yàn)槎鄠€(gè)用戶并發(fā)操作時(shí)還是有可能取到同一值的,接下來(lái)介紹一下第三種參數(shù)化類型:
(二) 、Parameter from Multi-column datafile
1) 首先選擇需要參數(shù)化的值右擊鼠標(biāo),在彈出菜單中選擇Customize Value

2) 進(jìn)入如下畫(huà)面

選擇Parameter from Multi-column點(diǎn)next >
3) 進(jìn)入如下畫(huà)面

4) 在此可以新建一個(gè)數(shù)據(jù)文件,給參數(shù)命名,給數(shù)據(jù)文件填充值選擇其中的一列點(diǎn)擊下一步(注意:只有選中某列后下一步Button才可用)
5) 進(jìn)入如下畫(huà)面

在此可以選擇取值時(shí)是隨機(jī)的(Random)還是順序(sequential)以及運(yùn)用類型:
? Per Transaction—每執(zhí)行一次Tmain重新取一次值,例如:若取數(shù)規(guī)則是順序的(sequential)則運(yùn)行一次Tmain則重新取一次值(這種方式循環(huán)取值可保證并發(fā)取值時(shí)的唯一性),數(shù)據(jù)文件有值a1,a2,a3,a4三個(gè)虛擬用戶并發(fā):Vu1,Vu2,Vu3,都運(yùn)行一個(gè)Tmain分別是a1,a2,a3,都運(yùn)行第二個(gè)Tmain時(shí),Vu1,Vu2,Vu3對(duì)應(yīng)的取值是a4,a1,a2。
? Per Test—每一次測(cè)試每個(gè)用戶只取一個(gè)值,例如:若取數(shù)規(guī)則是順序的則每一次測(cè)試每個(gè)用戶只取一個(gè)值,按照取值順序,順序取值,若數(shù)據(jù)文件中的值得數(shù)目<并發(fā)用戶數(shù),則并發(fā)取值時(shí)不能保證唯一性,需保證數(shù)據(jù)文件中的值得數(shù)目>并發(fā)用戶數(shù),數(shù)據(jù)文件有值:a1,a2,a3,a4 三個(gè)虛擬用戶并發(fā):Vu1,Vu2,Vu3,在一個(gè)壓力測(cè)試期內(nèi)Vu1始終取a1,Vu2始終取a2,Vu3始終取a3
點(diǎn)擊完成,完成此次參數(shù)化,生成腳本參見(jiàn)附表,往往不僅要控制并發(fā)時(shí)取數(shù)不沖突,而且還要確保每一個(gè)值只能被一個(gè)用戶使用(在很多客戶的應(yīng)用中不允許同一個(gè)用戶登錄多次,例如Itest,那么如果需要在登錄這個(gè)業(yè)務(wù)點(diǎn)上加壓的話,就必需對(duì)登錄的用戶名和密碼進(jìn)行參數(shù)化。但是僅僅做了參數(shù)化還是不夠的,因?yàn)槿绻孲ilkPerformer的腳本在執(zhí)行過(guò)程中自己去隨機(jī)的取用戶名和密碼或循環(huán)取值時(shí),還是有可能會(huì)取到同一個(gè)用戶名和密碼,這樣就沖突了,所以還必需要添加一些限制。),除了上述的Per? Test運(yùn)行模式可以達(dá)到這種效果之外,還可以通過(guò)silkperformer提供的函數(shù)來(lái)實(shí)現(xiàn):
FileCSVLoadGlobal(hfile, csvFile, ","); //導(dǎo)入?yún)?shù)化文件
???? FileGetRow(hfile, GetUserId());?????????? //根據(jù)虛擬用戶的ID來(lái)取參數(shù)化的數(shù)據(jù)
???? sAccountName:=FileGetCol (hfile, 1, 10);//取數(shù)據(jù)的第一列?
???? sPassword:=FileGetCol (hfile, 2, 10);??? //取數(shù)據(jù)的第二列
如果在第二行里面使用FileGetRndRow(hfile)函數(shù),隨機(jī)的在參數(shù)化文件里取數(shù)的話,當(dāng)并發(fā)量大的時(shí)候,難免會(huì)造成取數(shù)沖突。所以在這里,用了GetUserId()來(lái)制定了哪一個(gè)虛擬用戶用哪一個(gè)用戶名和密碼登錄,這樣就不存在沖突的問(wèn)題了。
SilkPerformer使用點(diǎn)滴
一、錄制時(shí)腳本為空的解決辦法
使用SilkPerformer最常見(jiàn)的問(wèn)題是在用錄制時(shí),錄制不上內(nèi)容,F(xiàn)unctions數(shù)始終為0,腳本為空。
1檢查注冊(cè)表中的Key: HKEY_LOCAL_MACHINE | SOFTWARE | Microsoft | Windows NT | CurrentVersion | Windows | AppInit_DLLs ,其值應(yīng)為:qaphooks.dll。如果在qaphooks.dll后面有逗號(hào)或者空格,必須刪除逗號(hào)或空格。
2檢查注冊(cè)表中的Key: HKEY_CURRENT_USER | SOFTWARE | Microsoft | Windows | CurrentVersion | Explorer | BrowseNewProcess,其值應(yīng)為:yes。
3檢查注冊(cè)表中的Key: HKEY_LOCAL_MACHINE | SOFTWARE | Microsoft | Windows | CurrentVersion | Explorer | BrowseNewProcess,其值應(yīng)為:yes。
4如果修改注冊(cè)表的上述項(xiàng)后,function還一直為0,再檢查SilkPerformer的profile或proxy設(shè)置:
1)打開(kāi)SilkPerformer,選擇Settings | System | Recorder | Application Profiles ;
2)編輯您所使用的neterm或?yàn)g覽器設(shè)置;
3)在protocol selection區(qū)內(nèi),確保Tcp/ip或Web的checkbox是選中的,然后選擇“Web Settings”按鈕;
4)確保Winsock的選項(xiàng)是Wsock32.dll或W2_32.dll。
二、錄制時(shí)腳本為空的解決辦法與Oracle、LoadRunner端口沖突的解決辦法
在裝了Oracle或LoadRunner的機(jī)器上安裝SilkPerformer,會(huì)造成SilkPerformer與Oracle、LoadRunner通信端口沖突,如下圖所示:

Oracle XDB(XML數(shù)據(jù)庫(kù))Http服務(wù)的默認(rèn)端口是8080,而SilkPerformer腳本記錄器的http協(xié)議監(jiān)聽(tīng)端口也默認(rèn)的是8080。
解決此端口沖突的方法有兩種,一是更改Oracle XDB Http服務(wù)的端口;另一種方法就是更改SilkPerformer腳本記錄器的Http協(xié)議監(jiān)聽(tīng)端口。下面就簡(jiǎn)要介紹如何更改SilkPerformer腳本記錄器的http協(xié)議監(jiān)聽(tīng)端口。
1)打開(kāi)SilkPerformer,選擇Settings | System | Recorder | Proxies ;
2)選擇HTTP協(xié)議,點(diǎn)“Edit”按鈕編輯其設(shè)置;
3)把“l(fā)isten port”編輯框中默認(rèn)的8080,改為其它端口值就可以了,如18080。
安裝了LoadRunner的機(jī)器會(huì)占用端口1080,而SilkPerformer腳本記錄器的Socks協(xié)議監(jiān)聽(tīng)端口也默認(rèn)的是1080。解決此端口沖突的方法與上面相同。
三、插入數(shù)據(jù)的問(wèn)題
在壓力測(cè)試中,用戶測(cè)試用例中經(jīng)常會(huì)有增加數(shù)據(jù)這樣的業(yè)務(wù)。所以對(duì)插入數(shù)據(jù)的主鍵要進(jìn)行必要的定制,不然加壓時(shí)插入同一條數(shù)據(jù),肯定是會(huì)出錯(cuò)的。但是插入數(shù)據(jù)的主鍵值又分為兩種,一種是服務(wù)器端自動(dòng)生成的,一種是客戶端自己輸入的。對(duì)于后一種就必需對(duì)數(shù)據(jù)進(jìn)行處理。
在silkPerformer中有幾個(gè)函數(shù)可以幫助我們處理這樣的業(yè)務(wù):
GlobalVarSet(in sVariable : string,
in nValue : number,
in nTimeout : number optional): boolean;
這個(gè)函數(shù)用來(lái)設(shè)定一個(gè)全局變量的值。
GlobalVarInc(in? sVariable : string,
??????????????? in? nInc : number,
??????????????? out nValue : number,
??????????????? in? nTimeout : number optional) :? boolean;
此函數(shù)用來(lái)給這個(gè)全局變量遞增。
GlobalVarGet(in? sVariable : string,
??????????????? out nValue : number,
??????????????? in? nTimeout : number optional) : boolean;
這個(gè)函數(shù)用于從全局變量中取數(shù)值。
GlobalVarSet("CustID1", 40000);
GlobalVarInc("CustID1",1,nCustID);
sCustID : = "2300" + string(nCustID);
從上面三行代碼,我們可以看到,把主鍵的值sCustID不斷的遞增了,從而保證主鍵的唯一。
四、參數(shù)化選擇Tmain、Tinit的區(qū)別
Tmain只保證每次執(zhí)行Tmain時(shí)重新取的數(shù)據(jù)不沖突,可循環(huán)取,而Tinit每個(gè)虛擬用戶只運(yùn)行一次,而且當(dāng)數(shù)據(jù)文件中的值足夠多時(shí)還能能保證一個(gè)值在一個(gè)壓力測(cè)試期內(nèi)只能被一個(gè)虛擬用戶使用,通常我們選Tinit,但一定要保證虛擬用戶數(shù)<數(shù)據(jù)文件中值的個(gè)數(shù),否則在用FileGetRow(hfile, GetUserId())進(jìn)行參數(shù)化時(shí)就會(huì)報(bào)錯(cuò) ,在滿足這個(gè)條件下,選擇Parameter from Multi-column datafile與per Test就能保證沒(méi)個(gè)值只被一個(gè)虛擬用戶使用。本質(zhì)上per Test 、Per Usage、Per tran,他們的區(qū)別在代碼中能體現(xiàn),決定于取值時(shí)的變量/參數(shù)是在init中賦值的,還是在Tmain中賦值的。


附表
參數(shù)化腳本范例:
//----------------------------------------------------------------------
// 功能根據(jù)同一保單號(hào)生成報(bào)案人名稱不同的報(bào)案
//粗體部分為參數(shù)化添加的代碼
//----------------------------------------------------------------------

benchmark SilkPerformerRecorder

use "WebAPI.bdh"
use "kernel.bdh"

dclparam//定義參數(shù)
? pegistnametran1??? : string;
? paa1?????????????? : string;
? pegistnameperuser1 : string;
? registnamefiletran : string;
? psRegistpert?????? : string;
? psRegistrandomtran : string;
? sAccountName?????? : string;
studentcount????? : RndUniN? (1000..1010);
dcluser//定義虛擬用戶
? user
??? VUser
? transactions
??? TInit?????????? : begin;
??? TMain?????????? : 1;
??? TShutdown?????? : end;

var//定義變量
? registnamefiletran1 : number;
? hRegistpert1??????? : number;
? hRegistrandomtran1? : number;
? hfile?????????????? : number;
? hWeb0 : number;
? nCount: number;
dclrand//定義隨機(jī)變量
? registname??????? : RndStream("registname.rnd", 6);//per usageseq
? registnametran??? : RndStream("registname.rnd", 6);//per transctionseq tinit
? registnameRandom? : RndFile? ("registname.rnd", 6);//PerUsageRandom
? aaa?????????????? : RndStream("registname.rnd", 6);//per transctionseq tmain
? registnameperuser : RndStream("registname.rnd", 6);//per user

dcltrans //定義事務(wù)
? transaction TInit
? begin
??? if GetUserID() = 1 then
????? GlobalVarSet("global counter", 1);//設(shè)定初始值為1
??? end;
??? GlobalWaitFor("All", ALL_USERS);//等待并發(fā)用戶數(shù)>=ALL_USERS后才往下執(zhí)行
??? FileCSVLoadGlobal(hRegistpert1, "registpert.csv", ",");//加載數(shù)據(jù)文件
??? FileGetNextRow(hRegistpert1);//獲取下一行
??? psRegistpert := FileGetCol(hRegistpert1, 1, STRING_COMPLETE);//pertest
??? pegistnameperuser1 := registnameperuser;
??? pegistnametran1 := registnametran;//pertransaction
??? FileCSVLoadGlobal(registnamefiletran1, "registname.csv", ",");//per tranaction
??? FileCSVLoadGlobal(hRegistrandomtran1, "registrandomtran.csv", ",");
??? FileCSVLoadGlobal(hfile, "registrandomtran.csv", ",");//導(dǎo)入?yún)?shù)化文件
??? ptudentcount1 := studentcount;
? end TInit;

? transaction TMain

? begin
??? paa1 := aaa;
??? WebTcpipConnect(hWeb0, "192.168.60.15", 23);
??? WebTcpipRecvExact(hWeb0, NULL, 3);
??? WebTcpipSendBin(hWeb0, "\hFFFB25");
??? WebTcpipRecvExact(hWeb0, NULL, 10);
??? WebTcpipSendBin(hWeb0, "\hFFFA25000000FFF0");
??? WebTcpipRecvExact(hWeb0, NULL, 15);
??? WebTcpipSendBin(hWeb0, "\hFFFB18FFFC20FFFC23FFFC27FFFC24");
??? WebTcpipRecvExact(hWeb0, NULL, 6);
??? WebTcpipSendBin(hWeb0, "\hFFFA18007674313030FFF0");
??? WebTcpipRecvExact(hWeb0, NULL, 15);
??? WebTcpipSendBin(hWeb0,
????? "\hFFFD03FFFC01FFFB1FFFFA1F00500018"
????? "\hFFF0FFFE05FFFC21");????????????
??? WebTcpipRecvExact(hWeb0, NULL, 62);
??? WebTcpipSendBin(hWeb0, "\hFFFD016C");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "lastship");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 2);
??? WebTcpipRecvExact(hWeb0, NULL, 9);
??? WebTcpipSend(hWeb0, "zhaz217\r");
??? WebTcpipRecvExact(hWeb0, NULL, 2);
??? WebTcpipRecvExact(hWeb0, NULL, 621);
??? WebTcpipSend(hWeb0, "c");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "d");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, " ");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "u");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "i");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 27);
??? WebTcpipSend(hWeb0, "prp_main.4ge");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 157);
??? WebTcpipRecvExact(hWeb0, NULL, 28);
??? WebTcpipRecvExact(hWeb0, NULL, 36);
??? WebTcpipRecvExact(hWeb0, NULL, 128);
??? WebTcpipRecvExact(hWeb0, NULL, 586);
??? WebTcpipSend(hWeb0, "1101000002");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 27);
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 26);
??? WebTcpipRecvExact(hWeb0, NULL, 1123);
??? WebTcpipSend(hWeb0, "11010000");
??? WebTcpipRecvExact(hWeb0, NULL, 3);
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? ThinkTime(44.4);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 56);
??? WebTcpipSend(hWeb0, "q");
??? WebTcpipRecvExact(hWeb0, NULL, 18);
??? WebTcpipRecvExact(hWeb0, NULL, 9);
??? WebTcpipSend(hWeb0, "a");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "a");
??? WebTcpipRecvExact(hWeb0, NULL, 4);
??? WebTcpipRecvExact(hWeb0, NULL, 62);
??? WebTcpipSend(hWeb0, "a");
??? WebTcpipRecvExact(hWeb0, NULL, 18);
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 16);
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipSend(hWeb0, "4");
??? WebTcpipRecvExact(hWeb0, NULL, 3);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 14);
??? WebTcpipRecvExact(hWeb0, NULL, 37);
??? WebTcpipSend(hWeb0, "a");
??? WebTcpipRecvExact(hWeb0, NULL, 68);
??? WebTcpipRecvExact(hWeb0, NULL, 1300);
??? WebTcpipSend(hWeb0, "4");
??? WebTcpipRecvExact(hWeb0, NULL, 4);
??? WebTcpipRecvExact(hWeb0, NULL, 89);
??? WebTcpipRecvExact(hWeb0, NULL, 1061);
??? WebTcpipSend(hWeb0, "2");
??? WebTcpipRecvExact(hWeb0, NULL, 122);
??? WebTcpipRecvExact(hWeb0, NULL, 1408);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 128);
??? WebTcpipRecvExact(hWeb0, NULL, 1182);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 128);
??? WebTcpipRecvExact(hWeb0, NULL, 1763);
??? WebTcpipRecvExact(hWeb0, NULL, 174);
??? WebTcpipSend(hWeb0, "a");
??? WebTcpipRecvExact(hWeb0, NULL, 7);
??? WebTcpipRecvExact(hWeb0, NULL, 771);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 128);
??? WebTcpipRecvExact(hWeb0, NULL, 1891);
??? WebTcpipRecvExact(hWeb0, NULL, 591);
??? WebTcpipSend(hWeb0, "PQAA200611010000000005");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipRecvExact(hWeb0, NULL, 460);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 56);
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 65);
??? WebTcpipRecvExact(hWeb0, NULL, 38);
??? WebTcpipSend(hWeb0, "y");
??? WebTcpipRecvExact(hWeb0, NULL, 92);
??? WebTcpipRecvExact(hWeb0, NULL, 9);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 46);
??? WebTcpipRecvExact(hWeb0, NULL, 388);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 7);
??? WebTcpipRecvExact(hWeb0, NULL, 44);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 7);
??? WebTcpipRecvExact(hWeb0, NULL, 7);
??? //
??? //
//此處參數(shù)化
/GlobalVarInc("global counter", 1, nCount);//設(shè)定增長(zhǎng)值為1
??? FileGetNextRow(registnamefiletran1);//獲取文件中的下一行
??? registnamefiletran:=FileGetCol(registnamefiletran1,2, TRING_COMPLETE);//pertest
??? FileGetRndRow(hRegistrandomtran1);//隨機(jī)獲取文件中的某一行
??? psRegistrandomtran := FileGetCol(hRegistrandomtran1, 1, STRING_COMPLETE);//獲取某一列值
??? FileGetRow(hfile,GetUserId()) ;? //根據(jù)虛擬用戶的ID來(lái)取參數(shù)化的數(shù)據(jù)
??? sAccountName:= FileGetCol(hfile, 1, STRING_COMPLETE);//取數(shù)據(jù)的第一列?
??? WebTcpipSend(hWeb0, sAccountName);//SaccountName可用前面定義的? pegistnametran1 、 paa1? 、 registnameperuser1 、 registnamefiletran、? psRegistpert、? psRegistrandomtran及dclrand中定義的隨機(jī)變量及String(nCount) 、string(ptudentcount1)替換
?? Print(pegistnametran1, OPT_DISPLAY_ALL, TEXT_RED);
??? WebTcpipRecvExact(hWeb0, NULL, 23);//
???
???
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSendBin(hWeb0, "\h0F");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 1822);
??? WebTcpipRecvExact(hWeb0, NULL, 598);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 94);
??? WebTcpipRecvExact(hWeb0, NULL, 1996);
??? WebTcpipRecvExact(hWeb0, NULL, 102);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 43);
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "2");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "3");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "4");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "5");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "6");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? ThinkTime(4.6);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipSend(hWeb0, "z");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "h");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "a");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "n");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "g");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 40);
??? WebTcpipRecvExact(hWeb0, NULL, 48);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipRecvExact(hWeb0, NULL, 134);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipRecvExact(hWeb0, NULL, 16);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSendBin(hWeb0, "\h0F");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 1824);
??? WebTcpipRecvExact(hWeb0, NULL, 1210);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 94);
??? WebTcpipRecvExact(hWeb0, NULL, 1929);
??? WebTcpipRecvExact(hWeb0, NULL, 83);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? ThinkTime(2.4);
??? WebTcpipSend(hWeb0, "f");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "u");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "j");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "i");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "a");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "n");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 34);
??? WebTcpipRecvExact(hWeb0, NULL, ;
??? ThinkTime(47.9);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 43);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 49);
??? WebTcpipRecvExact(hWeb0, NULL, 51);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 92);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 31);
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "1");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "2");
??? WebTcpipRecvExact(hWeb0, NULL, 23);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 30);
??? WebTcpipSendBin(hWeb0, "\h1B"); // ?
??? WebTcpipRecvExact(hWeb0, NULL, 3);
??? WebTcpipRecvExact(hWeb0, NULL, 122);
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 39);
??? WebTcpipRecvExact(hWeb0, NULL, 38);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 92);
??? WebTcpipRecvExact(hWeb0, NULL, 2081);
??? WebTcpipRecvExact(hWeb0, NULL, 1711);
??? WebTcpipRecvExact(hWeb0, NULL, 6);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 128);
??? WebTcpipRecvExact(hWeb0, NULL, 1440);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 128);
??? WebTcpipRecvExact(hWeb0, NULL, 1017);
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 122);
??? WebTcpipRecvExact(hWeb0, NULL, 1161);
??? end TMain;

? transaction TShutdown
? begin
??? WebTcpipSend(hWeb0, "0");
??? WebTcpipRecvExact(hWeb0, NULL, 4);
??? WebTcpipRecvExact(hWeb0, NULL, 34);
??? WebTcpipSend(hWeb0, "y");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 10);
??? WebTcpipRecvExact(hWeb0, NULL, 66);
??? ThinkTime(2.3);
??? WebTcpipSend(hWeb0, "exit");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipSend(hWeb0, "\r");
??? WebTcpipRecvExact(hWeb0, NULL, 1);
??? WebTcpipRecvExact(hWeb0, NULL, 3);
??? WebTcpipShutdown(hWeb0);
??? FileUnload(registnamefiletran1);
??? FileUnload(hRegistpert1);
??? FileUnload(hRegistrandomtran1);
? end TShutdown;

silkperformer 參數(shù)化配置


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 99热久久国产综合精品久久国产 | 亚洲精品自拍 | 午夜国产精品无套 | 国产精品久久久久久久久久久久久 | 网红和老师啪啪对白清晰 | 国产精品丝袜视频 | 久草欧美视频 | 欧洲精品在线视频 | 四虎影视免费在线观看 | 91九色精品国产 | 成人国产在线观看 | 日韩视频一区二区三区 | 国产一国产一有一级毛片 | 欧美精品在线不卡 | 亚洲午夜精品一区二区三区他趣 | 九九导航 | 亚洲综合色婷婷在线观看 | 午夜精品久久久久久久90蜜桃 | 韩国男女无遮挡高清性视频 | 波多野一区二区三区在线 | a级在线观看免费 | 免费一级片在线观看 | 高校处世王 | 国产一区亚洲 | 视频在线一区二区 | 日本一区二区三区免费高清在线 | 亚洲精品福利 | 国产无遮挡一级毛片 | 亚洲天天综合色制服丝袜在线 | 91日日| 国产超碰人人做人人爱 | 国产一区二区视频在线观看 | 国产综合精品久久亚洲 | 精品国产18久久久久久二百 | 国产日韩在线观看一区 | 性做爰片免费视频毛片中文ILO | 天天影视免费在线观看入口 | 免费99视频| 欧美国产日韩在线 | 91九色视频| 国产精品美女久久久久久久网站 |