qtp資料池的應用

2021-08-21 06:21:54 字數 3910 閱讀 8668

資料池 datatable 應用

引數化的兩種寫法:

1、browser(「」).page(「」).webedit(「」).set datatable(「列名」,dtglobalsheet)/dtlocalsheet

2、testdata=datatable.value(「列名」,「global」)/global換成action1

global 與local sheet 的區別

1、global sheet是乙個全域性變數,有幾行資料就執行幾次,這個全域性變數受data table iterations控制

2、local sheet 是乙個區域性變數,不受data table iterations控制,受action的action call properties 設定控制(執行n次自身action迭代)

global(設定為 run on all rows),action(設定為 run one iteration only)

1、雙方都具有相同的測試資料,此時 global 和 action 的每行都要執行且同步執行

2、global 的行數大於 local的行數,當action執行到最後一行後,global以後所執行的行數,action都用最後一行資料去補

3、global的行數小於local的行數,action執行不到大於global行數的資料

global(設定為run on all rows),action(設定為 run on all rows)

1、global執行一行,action執行所有行

action2:1、校驗在搜尋結果頁面中的搜尋框中是否保留了剛才輸入的字樣

action 1:set objbrowser=description.create()

objbrowser(「micclass」).value=「browser」

set objpage=description.create()

objpage(「micclass」).value=「page」

set objwebedit=description.create()

objwebedit(「micclass」).value=「webedit」

objwebedit(「name」).value=「wd」

set objwebbutton=description.create()

objwebbutton("micclass").value="webbutton"

browser(objbrowser).page(objpage).webedit(objwebedit).set 「12306」

datatable(「a」,dtglobalsheet)=browser(objbrowser).page(objpage).webedit(objwebedit).getroproperty(「value」)

browser(objbrowser).page(objpage).webbutton(objwebbutton).click

set objwebbutton=nothing

set objwebedit=nothing

set objbrowser=nothing

action2:set objbrowser=description.create()

objbrowser(「micclass」).value=「browser」

set objpage=description.create()

objpage(「micclass」).value=「page」

set objwebedit=description.create()

objwebedit(「micclass」).value=「webedit」

objwebedit(「name」).value=「wd」

set all_owebedits=browser(objbrowser).page(objpage).childbiects(objwebedit)

for i=0 to all_owebedits.count-1

set owebedit=all_owebedits.item(i)

checkvalue =owebedit.getroproperty("value")

if checkvalue=datatable("a","action1") then

msgbox "pass"

else

msgbox"fail"

end if

next

set objwebedit=nothing

set objpage=nothing

set objbrowser=nothing

datatable 常用方法

1、動態的在datatable中新增新列並賦值

datatable.globalsheet.addparameter"column1","value1"

datatable.globalsheet.addparameter"column2","value2"

datatable.localsheet.addparameter"column3","value3"

2、動態的在datatable中增加新行並賦值

datatable.getsheet("action1").setcurrentrow(2) '設定資料插入的行數

datatable.value("column3","action1")="row2"

上一行**也可以寫成:datatable.value(1,2)="row2"

3、動態的獲取datatable中指定列的值

getvalue 1=datatable("column1","global")

msgbox getvalue1

getvalue2=datatable("column3","action1")

msgbox getvalue2

getvalue3=datatable(1,"action")

msgbox getvalue3

迴圈獲取action1的n列

for i=0 to n

msgbox datatable(i,"action")

next

'如果有兩個action。分別為action1和action2.要想使他們在獲取的時候保持讀取的行數一致

currentrow=datatable.getsheet("action").getcurrentrow

datatable.getsheet("action2").setcurrentrow(currentrow)

動態的獲取datatable中指定行的值

getvaluebyrow=datatable.getsheet(「action」).getparameter(「cloumn3」).valuebyrow(2)

msgbox getvaluebyrow

或datatable.getsheet(「action1」).setcurrentrow(2)

getvaluebyrow=datatable.value(「column3」,「action1」)

msgbox getvaluebyrow

動態的獲取datatable中當前行和設定當前行

『1、獲取當前行

msgbox datatable.getsheet("action1").getcurrengrow

』2、設定當前行

datatable.getsheet("action1").setcurrentrow(2)

獲取datatable中總行數

allrowcount=datatable.getsheet("action1").getrowcount

msgbox allrowcount

執行緒池的應用

在專案中,應用到了執行緒池,將 記錄下來,以便將來檢視。1.獲取案件資訊列表 controller中的方法 由其他方法呼叫 public listgetcaseinfolist jsonarray jsonarray jsonlist jsonarray.sublist threadsize i,d...

QTP 中class 類的應用(一)

發現直接在resource中載入含有calss的vbs檔案,qtp無法識別類,導致指令碼中無法new類物件。這裡給出幾種類的使用方法,及類的應用。1 直接在action指令碼中定義類,然後action中任何地方都可以例項化類 2 用executefile引入類定義檔案,然後action中任何地方都可...

QTP 應用DOM ,web測試不再困難

認識dom 使用 document.write 向輸出流寫文字 使用 document.write 向輸出流寫 html 返回當前文件的標題 返回當前文件的 url 返回當前文件的 referrer 使用 getelementbyid 使用 getelementsbyname 開啟乙個新的文件,新增...