日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

转:QTP技巧

發布時間:2025/3/15 c/c++ 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转:QTP技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

測試工作馬上就一年了,用QTP也有幾個月了,在這里感謝一下小師父教了我這么多的知識,也把我的總結跟大家分享一下,有不對的地方希望大家指出我好修改,謝謝了!!

1、拆分語句split
例:取得當前日期后拆分
riqi=date()
??? my=split(riqi,"-")
??? riqi=my(1)&"月"&my(2)&"日"
??? datatable("riqi",DtGlobalSheet)=riqi
??? 本地表:DataTable("a", dtLocalSheet)
riqi= year(date)& "-" & Right("0"& month(date),2) & "-"&Right("0"&?? Day(Date),2)

2、取得表格中某行某列的值GetCellData
例:飛機票取票價
shuA=Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebTable("New York to Zurich").GetCellData(3,3)


3、取距某年某月某日的天數datediff
例:計算距2008-08-08奧運天數
datediff("d",now,"2008-8-8")


4、描述性編程text:=
例:取得某頁面上某文字的鏈接
Browser("").Page("").Link("text:=娛樂").Click
???? 或
???? neirong="娛樂"
???? Browser("").Page("").Link("text:="&neirong).Click


5、網頁中HTML編輯器的錄制
功能:驗證126郵箱的發信功能正確
操作步驟:
????? a.錄制腳本,動作包括整個發信的過程。
????? b.修改腳本,在輸入信件主題代碼后加wait 10語句
?????? c.回放腳本,觀察在郵件正文中輸入的內容,回放時QTP是否寫入
????? d.重新修改腳本,保證回放時QTP在郵件正文中寫入內容

英文解決方案:
??? Browser("網易126免費郵--你的專業電子郵局").Page("網易電子郵箱 - xueqinzhaoqing@126.co").Frame("indexFrame").WebEdit("subject").Click
??? wait 1
???? Setting.WebPackage( "ReplayType")=2????? '配置使用瀏覽器事件或鼠標運行鼠標操作的'方式.1 - 使用瀏覽器事件運行鼠標操作,2 - 使用鼠標運行鼠標操作。
???? Set ōbj=createobject("wscrīpt.shell")
???? obj.sendkeys "{TAB}"
???? wait 2
???? obj.sendkeys "abc1111"
???? wait 1
???? Setting.WebPackage( "ReplayType")=1
中文解決方案

strCopy = "軟件測試."?
Set ōbjIE = CreateObject("InternetExplorer.Application")?
objIE.Navigate("about:blank")?
objIE.document.parentwindow.clipboardData.SetData "text", strCopy?
objIE.Quit

wait 1
Setting.WebPackage( "ReplayType")=2
Set ōbj=createobject("wscrīpt.shell")
obj.sendkeys "{TAB}"
wait 2
obj.sendkeys "^v"
wait 1
Setting.WebPackage( "ReplayType")=1

6.使用Multi Test Manager添加文件時可以直接往里拖的哦。

7.函數:新建記事本,改名為public.vbs例:
?? function ZHIRSS
ZHIRSS="RSS行業資訊分類維護"
end function
? 使用語句executefile "d:\zhaopin\case\denglu.vbs"或設置QTP test/settings/resources/+函數目錄

8.設置動作循環:右擊/actiong call properties/run on all rows

9.設置動作允許被調用:右擊/action properties/general/reusable action打勾

10.QTP與MTM連接:Tools/option/run/allow other mercury products to run...

11.插入已存在的動作1)insert/call to copy of action...復制可修改
?????????????????? 2)insert/call to existing of action...復制不可修改

12.QTP報告自動跳出設置:Options>Run>View results when run session ends

13.判斷表格是否存在:
If Browser("數商3.0后臺管理系統").Page("Page").Frame("main_5").WebTable("標題").Exist then
reporter.ReportEvent 0,"pass","系統顯示了所有的資訊列表!"
else
? reporter.ReportEvent 1,"fail","系統沒有顯示資訊列表!"
end if

14.獲取表格行數:Browser("數商3.0后臺管理系統").Page("Page").Frame("main_5").WebTable("標題").RowCount

15.注釋腳本存在位置:qtp/dat/ActionTemplate.mst

16取本地文件名稱Function ShowFileList(folderspec)
?? Dim fso, f, f1, fc, s
?? Set fso = CreateObject("scrīpting.FileSystemObject")
?? Set f = fso.GetFolder(folderspec)
?? Set fc = f.Files
?? For Each f1 in fc
????? s = s & f1.name
????? s = s &?? "? "
?? Next
?? ShowFileList = s
End Function
wenjian=ShowFileList("D:\下載\本地下載1\")

17.取本地文件刪除:del= DeleFile("D:\下載\本地下載1\")
Function DeleFile(folderspec)
?? Dim fso, f, f1, fc, s
?? Set fso = CreateObject("scrīpting.FileSystemObject")
?? Set f = fso.GetFolder(folderspec)
?? Set fc = f.Files
?? For Each f1 in fc
???????? f1.delete
?? Next
End Function

18.sousuo2=Browser("Browser").Page("Page_4").Check (CheckPoint("2007-11-08 14:21"))
If (sousuo2)eqv(true) Then
??? reporter.ReportEvent 0,"",""
else
?? reporter.ReportEvent 1,"",""
End If

19.取參數化數據的行數,只在某幾行進執行某些語句
row=datatable.GetSheet(3).getcurrentrow
If row = 3 Or row = 4 Then

20.單選框置灰zhihui=Browser("下載中心--新增下載文件").Page("下載中心--新增下載文件_4").WebRadioGroup("downloadType").GetROProperty("disabled")
If? zhihui=1 Then
End If

29.取樹結構
Set Desc=descrīption.create
Desc("micclass").value="WebTable"
Set List=Browser("Browser").Page("Page").Frame("main").ChildObjects(Desc)
yuqi=List(0).GetROProperty("innertext")
msgbox yuqi
yuqi=split(yuqi," ")
msgbox yuqi(1)

30.關閉所有IE
SystemUtil.CloseProcessByName("iexplore.exe")

31.創建action template.
??? 當希望在每一個新建action時都增加一些頭部說明,比如作者、創建日期、說明等,用action template
??? 來實現最簡單快捷。
??? 方法:用記事本等文本編輯器,輸入如下類似的內容:
????????? 'Company: xxxx
????????? 'Author: xxx
????????? 'Product: xxx
????????? 'Date: xx
???????? 然后將文件保存為ActionTemplate.mst,并存放到QTP安裝目錄下的dat目錄。

32.啟動IE的語句:SystemUtil.Run "iexplore.exe", "http://www.***.com"
?? 關閉IE或其他程序的語句:SystemUtil.CloseProcessByName "app.exe"
???? or? SystemUtil.CloseProcessByWndTitle "Some Title"

33.獲取圖片的名稱
ObjectName = Browser(…).Page(…).Image("Find").GetProperty("Name")

34.檢查某個對象是否存在,如果存在彈出對話框說明對象存在。
If Browser("Browser").Page("Page").Applet("login.html").JavaEdit("username").Exist Then
MsgBox("The object exists.")
End if

35.同步點
Browser("數商3.0制作平臺").Dialog("Microsoft Internet Explorer").WaitProperty "visible", True, 120000
設置test/test settings/object synchronizationg timeout 一致

36.視圖框顯示為亂碼時:調整原頁面編碼,在QTP/tools/change active screen

37.添加附件:
?? Browser("**").Page("**").WebFile("filePath").Click
Browser("**").Dialog("**").WinEdit("文件名(N):").Set "D:\**.jpg"
Browser("下載中心--新增下載文件").Dialog("選擇文件").WinButton("打開(O)").Click
添加相應的對象


38.在圖片上右擊添加:tools/web event recording configuration/custom settings
webedit/event/add/onblur,onchange,onfocus,onpropertychan,onsubmit
webdlement/event/add/onclick,onmousedown,onmouseup/listen always

39.數據執行保護
? 方法一、右擊我的電腦/高級/性能/設置/數據執行保護/為除下列選定程序之外的所有程序和服務啟用DEP/添加被保護的程序。
? 方法二、C:/BOOT.INT修改noexecute=alwaysoff

40.在圖片上右擊添加:tools/web event recording configuration/custom settings
webedit/event/add/onblur,onchange,onfocus,onpropertychan,onsubmit
webdlement/event/add/onclick,onmousedown,onmouseup/listen always

41.去掉前后空格
If trim(mingcheng)=trim(yuqi) Then

42.分類樹問題解決
Set Desc=descrīption.create
Desc("micclass").value="WebTable"
Set List=Browser("Browser").Page("Page").Frame("main").ChildObjects(Desc)
yuqi=List(0).GetROProperty("innertext")
msgbox yuqi
yuqi=split(yuqi," ")
msgbox yuqi(1)


43.引用自定義環境變量
Environment.LoadFromFile "D:\詢價\case\環境\huiyuan.xml"

44.環境變量有2種,一種是QTP的內置變量,一種是用戶自定義的變量。內置變量是可以直接就可以用,自定義環境變量需要在菜單中選擇“文件”——>“設置”——>“環境”,在變量類型中選擇“用戶自定義”,然后進行添加,可以對添加的變量全部導出,導出的文件為.xml格式的文檔。既然可以導出,那么必然可以導入.xml文件,你可以在該對話框中的選中“從外部文件導入”,然后添加其文件路徑即可。(當然這些操作都可以直接使用腳本來實現,如:Environment.LoadFromFile(“FileName”))
例如:在桌面建立一個Var.xml,如下
-<Environment>??? //以這個開始的內部都是定義環境變量,直到以</Environment>結束
- <Variable>?????????????????????????? // 變量定義起始標識
???????????????? <Name>aa</Name>?????????????? // 變量名稱
???????????????? <Value>11</Value>?????????????? // 變量值
??????? </Variable>??????????????????????????? // 變量定義結束標識
- <Variable>
???????????????? <Name>bb</Name>
???????????????? <Value>22</Value>
??????? </Variable>
- <Variable>
???????????????? <Name>cc</Name>
???????????????? <Value>33</Value>
????????????? </Variable>
? </Environment>
然后導入本測試的環境變量文件中,在專家視圖里編寫下面的腳本代碼:
Dim aParam3
aParam3=Environment.Value(“aa”)????????? // 調用環境變量
msgbox aParam3
運行測試,會輸出”11”

45.在HTML編輯器中寫入數據
用低水平錄制寫入編輯器過程,增加編輯部器前的對象,加入click事件,再用TAB
例如:
Browser("廣告管理").Page("廣告管理").WebEdit("descrīption").Click
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Type mictab
Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Type "aaa"

46.Browser("creationtime:=1").close
?? 兩個頁面title相同無法識別時使用描述必編輯
??? Browser("creationtime:=1").page(title:=****).WebEdit("name:=***").Set "***"
??? 或Browser("creationtime:=1").page(index:=1).WebEdit("index:=0").Set "***"

47.場景恢復:
?? 當某些提示框會在不定期時有提示時,如果自動點擊確定或某些按鈕
?? 1、tools/recovery scenaril manager,制作相應的提示框和要點擊的按鈕,并保存
?? 2、test/settings/recovery,添加剛保存的.qrs

48.輸入驗證碼,先提示一個輸入框,在輸入框內輸入驗證碼,點擊[確定],把輸入的驗證碼框
?? Dim a
? a = InputBox("輸入名字")

49.對象庫中對象名稱不分為_2,_3...設置:tool/options/web/page/fram options/
???? crate a new page test object for為different test object descrīptons
???? crest a new frame test object for為different test object descrīptions

50.驗證測試輸入框輸入的最大允許字數功能的正確

QTP腳本代碼中編寫
Set aa=Browser("Browser").Page("Page").Frame("main").WebEdit("PayTypeName")
if konglen(aa,20) eqv true then
reporter.ReportEvent 0,"添加支付方式,支付方式輸入框允許輸入的最大字符功能正確",""
else
reporter.ReportEvent 1,"添加支付方式,支付方式輸入框允許輸入的最大字符功能錯誤",""
end if

此函數的功能為:驗證測試輸入框輸入的最大允許字數功能的正確,函數可寫在public.vbs中
Function konglen(duixiang,guifanshu)
duixiang.Click
wait 1
Setting.WebPackage( "ReplayType")=2
Set ōbj=createobject("wscrīpt.shell")
i=0
ōld="a"
xin="b"
while old<>xin
ōld=duixiang.GetROProperty("value")
i=i+1
wait 0,20
obj.sendkeys "1"
wait 0,20
xin=duixiang.GetROProperty("value")
wend
'msgbox i
If i-1=guifanshu Then
konglen=true
else
konglen=false
End If
???? Setting.WebPackage( "ReplayType")=1
End Function

51.超時設置:Setting("DefaultTimeout") =1000000

52.共享對象庫:Set App = CreateObject("QuickTest.Application")
App.Test.Settings.Resources.ObjectRepositoryPath = "path"

53.取顏色?? browser("b").page("p").Object.currentStyle“:.color
54.顯示行號設置:Tools- --> Editor Options...-->General-->Show line number,


55.不同數據庫檢查點手動SQL寫法
QTP插入數據庫檢查點,手動指定SQL語句的寫法。
一、SQL Server格式(本地無需安裝SQL Server)
connectionstring(連接字符串):
1.本地沒有創建數據源的方式
DRIVER=SQL Server;SERVER=數據庫IP地址;UID=用戶名;PWD=密碼;APP=Microsoft Office 2003;WSID=本地主機名;DATABASE=數據庫名

實例:
DRIVER=SQL Server;SERVER=10.160.11.10;UID=sa;PWD=sa;APP=Microsoft Office 2003;WSID=RJHLJUN;DATABASE=dcwork

2.本地已創建數據源的方式
DSN=數據源名稱;UID=用戶名;PWD=密碼;APP=Microsoft Office 2003;WSID=數據庫的主機名;DATABASE=數據庫名

實例:
DSN=LocalServer;UID=sa;PWD=sa;APP=Microsoft Office 2003;WSID=RJDCWORKTEST;DATABASE=dcwork

3.SQL語句實例(從數據庫表HR_LANGUAGE_TYPE中,查詢字段語言名稱LANGUAGE_NAME,條件語言名稱=中文,按語言名稱升序排序結果)
source(SQL語句):
SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME? FROM dcwork.dbo.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE? WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文')? ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME


二、DB2格式:(本地至少安裝DB2 Run-Time Client Lite)
connectionstring(連接字符串):
1.本地沒有創建數據源的方式
DRIVER={IBM DB2 ODBC DRIVER};UID=用戶名;PWD=密碼;MODE=SHARE;DBALIAS=數據庫名;

實例:
DRIVER={IBM DB2 ODBC DRIVER};UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;

2.本地已創建數據源的方式
DSN=數據源名稱;UID=用戶名;PWD=密碼;MODE=SHARE;DBALIAS=DCWORK;

實例:
DSN=DWCORKDB2;UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;

3.SQL語句實例
source:SQL語句
SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME? FROM DB2ADMIN.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE? WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文')? ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME


三、Oracle格式:(本地需要安裝Oracle ODBC DRIVER)
connectionstring(連接字符串):
1.本地沒有創建數據源的方式
DRIVER={Oracle in OraHome92};SERVER=數據庫服務名;UID=用戶名;PWD=密碼;DBQ=數據庫名;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;

實例:
DRIVER={Oracle in OraHome92};SERVER=DCWORK;UID=DCWORK;PWD=DCWORK;DBQ=DCWORK;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;



2.本地已創建數據源的方式
DSN=數據源名稱;UID=用戶名;PWD=密碼;DBQ=數據庫名;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;

實例:
DSN=dcworkoracle;UID=DCWORK;DBQ=DCWORK;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;

3.SQL語句實例
source:SQL語句
SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME? FROM DCWORK.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE? WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文')? ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME



四, mysql
Set Conn = CreateObject("ADODB.Connection" )
str="DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.1.100;DATABASE=wp_blog;user id=zzz ; password=123456"
Conn.open str
Set Rs = CreateObject ("ADODB.Recordset" )
sql = "select * from `wp_blog`.`blg_webcategory` limit 0, 5000;"
Rs.open sql,conn,1,3
If (not Rs.eof) then
Rs.MoveFirst
MsgBox Rs(0)
MsgBox Rs(1)
MsgBox Rs(2)
MsgBox Rs(3)
end if

Rs.close
Set Rs = Nothing
Conn.close
Set Conn = Nothing
(轉載于 http://bbs.51testing.com/thread-42921-1-1.html )

五. access

Set Conn = CreateObject("ADODB.Connection" )
str="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/db1.mdb"
Conn.open str
Set Rs = CreateObject ("ADODB.Recordset" )


56.*.xml
Environment.LoadFromFile "D:\新建文件夾\a.xml"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set Environment("HuiYuanB")

57、類似時間控件,不能手到輸入的文本檔
?? 1)手工添加對象,
?? 2).object.value="2008-4-12"

轉載于:https://www.cnblogs.com/vinyfeng/articles/1337505.html

總結

以上是生活随笔為你收集整理的转:QTP技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。