51testing自動化測試學習第三天

嚴小婷

2013.10.27

QTP第三天

 

環境變量設置、使用、導入

語句導入:

Environment.LoadFromFile("C:\Users\usera\Desktop\qtp3\Test1\環境變量.xml")

workfolder1 = Environment.Value("workfolder1")

 

 

導入DataTable

DataTable.ImportSheet  workfolder1&"\TestCase.xls", "main", "Global"

 

 

Action傳參的使用

MainAction(Action1)進行insert call to new Actionnamelogin,選擇After the current step

MainAction(Action1)Action propertiesParameter添加INPUT1OUTPUT1

login(Action)Action propertiesParameter添加INPUT2 OUTPUT2

login(Action)call properties—Parameter---(參數化爲MainAction的變量)

 

MainAction的內容如下:

Parameter("INPUT1")="test1"

RunAction "login", oneIteration, Parameter("INPUT1"), Parameter("OUTPUT1")

print Parameter("OUTPUT1")

 

Action內容如下:

'If Parameter("INPUT2 ")="hi" Then

'        Parameter("OUTPUT2")="pass"

'        else

'        Parameter("OUTPUT2")="faile"

'End If

 

 

往報告中添加內容:成功OR失敗

reporter.ReportEvent micPass,"Login pass","Login successful"

reporter.ReportEvent micFail,"Login fail","Login failed"

 

 

描述性編程

WebElement("innertext:="&uname,"y:=42")

 

 

直接描述性編程

計算器的的代碼:

 

Dim calcstr,lens,i,Expect,actual

calcstr=datatable("calcstr")

Expect=datatable("Expect")

lens=len(calcstr)

 

SystemUtil.CloseProcessByName "calc.exe"

SystemUtil.Run "calc"

Window("text:=計算器").Activate

Window("text:=計算器").WinButton("text:=C").Click

 

For i = 1 To lens

         Select Case mid(calcstr,i,1)

                   Case "+"   Window("text:=計算器").WinButton("text:=\"&mid(calcstr,i,1)).Click

                   Case "*"   Window("text:=計算器").WinButton("text:=\"&mid(calcstr,i,1)).Click

                   case Else   Window("text:=計算器").WinButton("text:="&mid(calcstr,i,1)).Click

         End Select

Next

 

actual=Window("text:=計算器").WinEdit("nativeclass:=Edit").GetROProperty("text")

'print actual

'print Expect

If cdbl(actual)= cdbl(Expect) Then

Reporter.ReportEvent micPass, "OK", "OK"

Else

Reporter.ReportEvent micFail, "NO", "NO"

End If

  

 

使用對象描述性編程

計算器的的代碼:

SystemUtil.CloseProcessByName "calc.exe"

SystemUtil.Run "calc"

Window("text:=計算器").Activate

Window("text:=計算器").WinButton("text:=C").Click

 

Dim mywindow,mybutton,objCol,i   '  定義

 

Set mywindow=description.Create()'創建虛擬對象

Set mybutton=description.Create()

mywindow("Class Name").value="Window"'進行對象屬性描述

mywindow("text").value="計算器"

 

mybutton("Class Name").value="WinButton"

'mybutton("text").value="1"

mybutton("text").value="\d+"'正則表達式

mybutton("x").value="62"

 

'Window(mywindow).WinButton(mybutton).Click'使用

Set objCol=Window(mywindow).ChildObjects(mybutton)

For i=0 to objCol.count-1

         objCol(i).Click

Next

 Set mywindow=nothing'釋放

Set mybutton=nothing

 

 

使用對象描述性編程

隨機回帖

 

Dim mylink,mylinks,MyValue

set mylink=description.Create()

mylink("x").value=62

mylink("href").value="http://172.168.1.202:8000/upload/read\.php\?tid=\d+"

Set mylinks=Browser(":=").Page(":=").WebTable("html tag:=TABLE","Index:=2").ChildObjects(mylink)

Randomize   ' Initialize random-number generator.

MyValue = Int((mylinks.count * Rnd) )   ' Generate random value between 1 and 6.

'print MyValue

'print mylinks.count

'print (cstr(mylinks(MyValue).GetRoProperty("href")))

Browser(":=").Navigate (cstr(mylinks(MyValue).GetRoProperty("href")))

 

 


錯誤處理方法1:

On Error Resume Next'進行忽略錯誤

 

Dim result

result=1/0'錯誤

result=1/2

print Err.number'錯誤號

print Err.Description'錯誤內容

Err.Clear'錯誤清楚

print Err.Description

 

On Error GoTo 0'取消忽略錯誤

 

錯誤處理方法2

File—settings—run

 

錯誤處理方法3:場景恢復

觸發事件

恢復操作

恢復後運行設置

恢復

具體步驟如下自行探索(圖片上傳比較難)


事先判斷button能不能用,能用就點擊,不能就不點擊

RegisterUserFunc "WinButton", "Click", "MyClick" ,True

Window("Flight Reservation").WinButton("Button_2").Click

Window("Flight Reservation").WinButton("FLIGHT").Click

Function MyClick (objButton)

   If objButton.GetROProperty("enabled") Then

         Reporter.ReportEvent micDone, "Button satus", "enabled"

         MyClick=objButton.Click

         else

         Reporter.ReportEvent  micWarning, "Button satus", "disabled"

   End If

End Function

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章