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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

QTP自动化测试自学手册V2.0版本

發布時間:2025/7/14 c/c++ 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QTP自动化测试自学手册V2.0版本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


視頻匯總首頁:http://edu.51cto.com/lecturer/index/user_id-4626073.html

1概述

QTP是quicktest?Professional的簡稱,是一種自動測試工具。使用QTP的目的是想用它來執行重復的手動測試,主要是用于回歸測試和測試同一軟件的新版本。因此你在測試前要考慮好如何對應用程序進行測試,例如要測試那些功能、操作步驟、輸入數據和期望的輸出數據等。目前已改名為UFT。

2軟件特點

1)QTP是一個側重于功能的回歸自動化測試工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal?Emulator的等等,分別用于各自類型的產品測試。默認提供Web,ActiveX和VB。

2)QTP支持的腳本語言是VBScript,這對于測試人員來說,感覺要“舒服”得多(如相比SilkTest采用C語言)。VBScript畢竟是一種松散的、非嚴格的、普及面很廣的語言。

3)QTP支持錄制和回放的功能。錄制產生的腳本,可以拿來作為自己編寫腳本的template。錄制時,還支持一種lower?level?功能,這個對于QTP不容易識別出來的對象有用,不過它是使用坐標來標識的,對于坐標位置頻繁變動的對象,采用這種方式不可行。另外,QTP的編輯器支持兩種視圖:Keyword模式和Expert模式。Keyword模式想法是好的,提供一個?描述近似于原始測試用例的、跟代碼無關的視圖(我基本很少用,除了查看、管理當前test中各個action的完整流程),而Expert就是代碼視圖,一般編寫腳本都在這個區域。

4)一個有用的工具:Object?Spy,可以用來查看Run-time?object和Test?object屬性和方法。

5)QTP通過三類屬性來識別對象:a)Mandatory;?b)Assitive;?c)Ordinal?identifiers。大部分情況下,通過對象的一些特定屬性值就可以識別對象(類型a)。這些屬性可以通過Tools->Object?Identification?定義。

6)Object?Repository(OR)是QTP存儲對象的地方。測試腳本運行后,QTP根據測試腳本代碼,從這個對象庫中查找相應對象。每個Action可以對應有一個或者多個OR,也可以設置某個OR為?sharable的,這樣可以供其他Action使用。注意,使用QTP錄制功能時,默認將被測對象放在local?OR中,可以通過?Resources->Object?Respository,選擇Local查看。

7)說到QTP的要點,不得不說Action。Action是QTP組織測試用例的具體形式,擁有自己的DataTable和Object?Repository,支持Input和output參數。Action可以設置為share類型的,這樣可以被其他test中的Action調用(注意:QTP是不支持在一個test中調用另外一個test的,只有通過sharable?action來調用)。

8)如3)所述,一個test中,多個action的流程組織,只有通過Keyword視圖查看和刪除,在Expert視圖中沒有辦法看到。

9)調用Action可以通過菜單Insert->Call?to?***?來實現。QTP提供三種類型的調用方式:a)call?to?new?Action,在當前test中創建一個新的Action;b)call?to?Copy?of?Action;c)call?to?existing?action,調用一個re-usable?action,如果這個re-usable?action來自另外一個test,將以只讀的方式插入到當前test中。

10)QTP提供excel?形式的數據表格DataTable,可以用來存放測試數據或參數。DataTable有兩種類型:global?和local。QTP為DataTable提供了許多方法供存取數據,在對測試代碼進行參數化的時候,這些方法非常有用。

11)環境變量(Environment?Variables)。在一個test中,環境變量可以被當前test中所有action共享。環境變量也有兩種類型:build?in?和user?defined。用戶自定義的環境變量可以指向一個XML文件,這樣可以實現在眾多test之間共享變量。

12)QTP可以引用外部的VBS代碼庫,通過Settings-》Resource加入,也可以ExecuteFile命令在代碼中直接執行。這種VBS庫可以為所有action和test共享。

13)QTP默認為每個test提供一個測試結果,包括Passed,Failed,Done,Warning和information幾種狀態類型,可以進行對結果Filter。但是,只能為每個test產生一個testing?result,不能為多個testing產生一個總的testing?result.

14)最新版的QTP加入了更多的功能,比如多腳本編輯調試、PDF檢查點、持續集成系統、手機測試等。

3基礎知識

3.1QTP工具使用

3.1.1建議學習路徑

了解QTP以及各個選項->錄制回放與腳本增強->優化腳本結構同時熟悉函數->學習vbs腳本語言->拆分程序與數據->創建自定義報告->編寫簡單的自動化框架->不斷優化

3.1.2QTP常用函數

1,?獲取對話框相應的文字:?GetVisible?Text

2,?查找相應的字符串:?instr?(1,查找目標字符串,所查找的字符串)

3,?隨機數的獲取:?Randomnumber.Value()?或cstr(int(Rnd*10)+1)

4,?等待函數:?Wait(秒數)

5,?獲取數組下標:?UBound?(數組名)

6,?拆分數組:?Split(MyString,?",",?-1,?1)

7,?可執行步驟:?OptionalStep

8,?報告信息:?Reporter.ReportEvent?3,?"Save?Step",?"Out?of?cycle!"

9,?判斷對話框是否存在:?.exist

10,事件過濾函數:Reporter.Filter=過濾條件(0,1,2,3),0代表顯示所有的error和warning,1,顯示error,2,顯示waining,3,任何error和warning都不顯示。

11,循環函數:do?…?loop?until,for…to…?then?next,while.

12,數據表格:DataTable,向外賦值,

Dim?aa?=?DataTable.value(“CellingName”,”ActionName”).

13,獲得對象屬性的三種方法

GetTOProperty,GetTOProperties,GetROProperty,GetTOProperty獲得程序中對象當前的屬性,GetTOProperties獲得當前屬性所有集合,GetROProperty獲得的是錄制時對象所獲得的屬性。

14,檢查點方法check和輸出指定屬性值output。

15,函數Descrīption,可以獲得某頁面同標簽的屬性進行操作。

16,函數nagative可以隨便跳轉頁面到指定的URL。

17,函數Object可以獲得當前頁面同屬性的控件。

18,函數Focus可以讓控件獲得焦點,函數Blur則是失去焦點,click單擊,dbclick雙擊。

19,函數setAttribute可以設置控件屬性,getAttribute可以獲得屬性。

3.2VBS語言基礎編程

百度一下都有,選個基礎的教材開始,邊學邊練,這個很重要,然后在選進階的教程。

這里要記住,不要光看vbs,而是要結合qtp用。

基本語法

l常用的一些命令函數

l對字符的一些處理

l對文本文件的讀、寫、創建、刪除等操作

l對Excel文件的讀取和寫入操作

l對XML文件的讀取

l調用Dll

4高級應用

4.1正則表達式

正則表達式,也叫做通配符,我們在計算機上搜

索一個文件,或者編寫一條SQL語句時,經常會用

到正則表達式。

l在QuickTest中也可以使用正則表達式,用法與我們上面提到的正則表達式類似。通過在QuickTest測試腳本中加入正則表達式,可以使我們的測試腳本更靈活,適應性更好

l一個正則表達式就是一個文本字符串,其中除了常規字符外,還包含了一些通配字符,比如?“*”、“^”、“[]”、“?”、“+”等等

4.2描述性編程

?

4.3虛擬對象的使用

在使用錄制模式無法正常識別控件的情況下,使用虛擬對象。首先Mark好虛擬對象,然后,

在錄制的時候,只要點到你設置的虛擬對象的邊界內,QTP就會識別這個虛擬對象,并把該對象記到對象庫中去

4.4test?banch?runner的使用

目的是用于批次運行多個Action

運行目錄:開始-程序-QuicktestProfessional-Tools-Test?banch?runner。?使用add逐個添加action

4.5對字符的處理

l?lCStr(expression)

l?lInStr([start,?]string1,?string2[,?compare])?查找字符在字符串中出現的位置

l?lLeft(string,?length)?從字符串中截取指定長度的字符

l?lLen(string|?varname)?取得字符長度

l?lSplit(expression[,?delimiter[,?count[,compare]]])?將字符串根據拆分標記進行拆分

4.6常用的一些命令函數

l?lSystemUtil.Run??“C:\123.txt“??啟動應用程序

l?lTime??當前系統時間

l?lSystemUtil.CloseProcessByName?“notepad”關閉相關進程

l?lNow()?當前日期和時間

4.7對文本文件的操作

4.7.1讀文件

Set?fso=?CreateObject("Scripting.FileSystemObject")?

Set?f=?fso.OpenTextFile(“C:\123.txt”,?1)

f.readline//讀一行

f.readall//讀整個文本文件內容

f.read(3)?//從文件中讀三個字符

f.close//關閉文件

4.7.2寫文件

Set?fso=?CreateObject("Scripting.FileSystemObject")

Set?f=?fso.OpenTextFile(“C:\123.txt”,?2)

f.Write?“test”

f.close//關閉文件

4.7.3創建文件

Set?fso=?CreateObject("Scripting.FileSystemObject”)

fso.CreateTextFile(“C:\123.txt”)

4.7.4刪除文件

Set?fso=?CreateObject("Scripting.FileSystemObject")?

fso.DeleteFile(“C:\123.txt”)

4.8excel的操作

4.8.1創建excel

'******************************************************************************

'?函數說明:創建一個excel文件;

'?參數說明:

'?(1)ExcelPath:Excel文件存儲路徑;

'?(1)ExcelPathName:要創建的Excel文件路徑+名稱;

'?調用方法:

'?QTP_CreateExcel?"D:\Temp","D:\Temp\ExcelExamples.xlsx"

'

'?******************************************************************************

?

Function?QTP_CreateExcel(ExcelPath,ExcelPathName)

Dim?ExcelApp?'As?Excel.Application

Dim?excelBook?'As?Excel.workbook

Dim?fso?'As?scrīpting.FileSystemObject

?

'?Dim?excelSheet

Set?ExcelApp?=?CreateObject("Excel.Application")

ExcelApp.Workbooks.Add

'ExcelApp.Visible?=?True

?

Set?excelSheet?=?ExcelApp.ActiveSheet

Set?excelBook?=?ExcelApp.ActiveWorkbook

Set?fso?=?CreateObject("scripting.FileSystemObject")

On?Error?Resume?Next

'?fso.CreateFolder?"D:\Temp"

'?fso.DeleteFile?"D:\Temp\ExcelExamples.xlsx"

'?excelBook.SaveAs?"D:\Temp\ExcelExamples.xlsx"

fso.CreateFolder?ExcelPath

fso.DeleteFile?ExcelPathName

excelBook.SaveAs?ExcelPathName

ExcelApp.Quit

Set?ExcelApp?=?Nothing

Set?fso?=?Nothing

Err?=?0

On?Error?GoTo?0

End?Function

4.8.2讀取excel文件

'========================================

'?函數說明:往EXCEL表中寫數據;

'?參數說明:

'?(1)sExcelName:EXCEL文件名;

'?(2)sSheetName:Sheet表名

'?(3)x:?行

'?(4)y:?列

'?(5)Content:內容

'?調用方法:

'?QTP_WriteExcel?"D:\2.xlsx","sheet1",x,y,"abcde"

'========================================

Function?QTP_WriteExcel(sExcelName,SheetNum,x,y,Content)

Set?xlsobj=createobject("excel.application")

Set?xlsbook=xlsobj.Workbooks.Open(sExcelName)

Set?xlssheet=xlsbook.Sheets(SheetNum)

xlssheet.cells(x,y)=Content

?

xlsbook.Save

xlsbook.Close

End?Function

4.8.3excel文件

'========================================

'?函數說明:往EXCEL表中寫數據;

'?參數說明:

'?(1)sExcelName:EXCEL文件名;

'?(2)sSheetName:Sheet表名

'?(3)x:?行

'?(4)y:?列

'?(5)Content:內容

'?調用方法:

'?QTP_WriteExcel?"D:\2.xlsx","sheet1",x,y,"abcde"

'========================================

Function?QTP_WriteExcel(sExcelName,SheetNum,x,y,Content)

Set?xlsobj=createobject("excel.application")

Set?xlsbook=xlsobj.Workbooks.Open(sExcelName)

Set?xlssheet=xlsbook.Sheets(SheetNum)

xlssheet.cells(x,y)=Content

?

xlsbook.Save

xlsbook.Close

End?Function

5?QTP框架示意

?



總結

以上是生活随笔為你收集整理的QTP自动化测试自学手册V2.0版本的全部內容,希望文章能夠幫你解決所遇到的問題。

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