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

本人此次課沒有去上,以下爲同學的筆記,由於複製、粘貼,圖片無法顯示
嚴曉婷  [email protected]

Hp5qtp項目

 

Spy輔助屬性 windowID

強制屬性不能達到識別的  通過輔助屬性來識別

強制屬性和輔助屬性都無法唯一識別  ---- 調出座標屬性  location index-位置索引信息

 

Web中打開相同的ie屬性會一模一樣 -----智能識別

強制-輔助-location index-智能識別

 

DelphiCalc—有個7

無法識別怎麼辦  user define - 對象映射

Delphi-Calc有小紅點的計算器

使用虛擬對象---第一個平級對象、子對象

 

首先找有沒有相應的插件,首先qtp是否把他認爲一個windows對象,不認識則把他做成虛擬對象測試窗口範圍畫下來,不是真對象,只是範圍(換機器就不行了,不推薦使用)

 

錄製問題: recording錄製

畫圖錄制籤名----屬於事件操作,鼠標點擊不會錄下來  只點了一下,click

手寫板  簽名

模擬錄製模式-- Track1軌跡  添加錄製的相應的軟件 開始錄製軌跡

 

有的Button 想要點擊buttion的左下角 右上角之類

使用低級錄製 ,點擊數字7 的四個角

 

普通錄製  模擬錄製  低級別錄製

 

添加web add-in

項目很多用到的錄製模式---web項目用到的

彈出的下拉菜單----我們無法去錄製  設置web系統的錄製級別  按照軌跡錄製 改成enabled

回放也要按照軌跡來回放

要首先打開qtp,然後再打開ie瀏覽器,才能識別到ie上的

 

對象共享;相同對象庫,腳本移植性----自動化框架

VB-Calc

添加vb addin

對象捕獲,

      

 

修改,copyto local 然後修改

object對象庫 qtptest腳本 recovery場景恢復 resource資源 函數  testcase測試用例、數據   testresult測試結果

 

F7 步驟生成器

mid 從第i的位置選一個數

Len

 

Global是全局還是局部的? ---全局

 

Qtp必須vbscript lr必須c語言

 

 

Action爲一個模塊,每個模塊有相應的表格  global是所有action都可以使用

參數化:

   針對actionaction表的,還會去遍歷global針對global表的

4*4=16

 

 

 

SystemUtil.Run "C:\Users\usera\Desktop\上課\VBCalc", "VB-Calc", "", "", 0

Dim TestCase,i

TestCase = DataTable.Value("TestCase", "Global")

For i=1 to len(TestCase)

VbWindow("Form1").VbButton(mid(TestCase,i,1)).Click

Next

 

VbWindow("Form1").VbButton("    ").Click

VbWindow("Form1").Close

 

 

打開關閉太多怎麼辦,負荷太大,---跑完再關

 

Datatabel 操作方法

統計多少條數據  getsheetcount得到sheet行數,先鎖定表  getsheet

SetCurrentRow設置當前行數

SystemUtil.Run "C:\Users\usera\Desktop\上課\VBCalc", "VB-Calc", "", "", 0

Dim TestCase,i,Testcount

'獲得行數

TestCount=DataTable.GetSheet("Global").GetRowCount

'遍歷行數

For j=1to TestCount

'設置行數

DataTable.GetSheet ("Global").SetCurrentRow j

'運行每行

TestCase = DataTable.Value("TestCase", "Global")

     For i=1 to len(TestCase)

VbWindow("Form1").VbButton(mid(TestCase,i,1)).Click

     Next

VbWindow("Form1").VbButton("    ").Click

Next

VbWindow("Form1").Close

 

 

Action5個數據 global4個數據

跑幾遍

Action中有數據怎麼辦

 

 

動態導入  必須是xls文件

 

1.       文件格式97 2003  xls

2.       參數 文件名路徑  源頭表 目標表

 

DataTable.ImportSheet "C:\Users\usera\Desktop\上課\VBCalc\TestCase\testcase1.xls", "main", "global"

SystemUtil.Run "C:\Users\usera\Desktop\上課\VBCalc\VB-Calc"

Dim TestCase,i,Testcount

'獲得行數

TestCount=DataTable.GetSheet("Global").GetRowCount

'遍歷行數

For j=1to TestCount

'設置行數

DataTable.GetSheet ("Global").SetCurrentRow j

'運行每行

TestCase = DataTable.Value("TestCase", "Global")

     For i=1 to len(TestCase)

VbWindow("Form1").VbButton(mid(TestCase,i,1)).Click

     Next

VbWindow("Form1").VbButton("    ").Click

Next

VbWindow("Form1").Close

 

 

 

 

下午講如何把數據取出來

 

檢查點放到對象庫,不使用對象庫時;實際和數據一樣就行了

 

To-testobject

Ro-run-time object

 

getToproperty-獲得對象屬性測試對象中某個屬性值

setToproperty  設置

a = VbWindow("Form1").VbButton("2").GetTOProperty("text")

print a

 

VbWindow("Form1").VbButton("2").SetTOProperty "text", 1

VbWindow("Form1").VbButton("2").Click

 

 

Getto

Dim TestCase,i

TestCase = DataTable.Value("CalcStr","Global")

For i= 1 to len(TestCase)

    

VbWindow("Form1").VbButton("2").SetTOProperty "text", mid(TestCase,i,1)

VbWindow("Form1").VbButton("2").Click

 

Next

 

獲得實際運行的結果

Dim TestCase,i,Expect

TestCase = DataTable.Value("CalcStr","Global")

Expect = DataTable.Value("ExpectResult","Global")

For i= 1 to len(TestCase)

VbWindow("Form1").VbButton("2").SetTOProperty "text", mid(TestCase,i,1)

VbWindow("Form1").VbButton("2").Click

Next

Result = VbWindow("Form1").VbLabel("Label1").GetROProperty("text")

If   CDbl(Expect)=CDbl(Result) Then

         Reporter.ReportEvent micPass, "Check Result", "Expect Result is: "&Cstr(Expect)&" Actual Result is:"&CStr(Result)

         Reporter.ReportEvent micFail, "Check Result", "Expect Result is:" &Cstr(Expect)& "Actual Result is:"&CStr(Result)

         print "pass"

         else

           print "NG"

End If

print Result

 

打印出來----上面

 

 

檢查點:

文本檢查點---網頁的文本,先打開qtp,再打開ie

錄製狀態才能檢查點

修改識別文字

 

文本區域檢查點

文字識別

 

位圖檢查點:

錄入一個圖片,作爲預期

 

打開實際的圖片

 

View diffident爲灰

restore layout

 

數據庫檢查點

2手工

C:\Program Files\HP\QuickTest Professional\samples\flight\appflight32.mdb

沒有該數據庫的時候需要新建一個該數據庫;

 

Access數據庫

 

使用vbscript來讀取數據庫中數據?

 

 

 

 

Xml檢查點文件 對比工具就可以

如果檢查一個節點使用vbscript來寫

 

 

實際使用時候,覈對實際輸出會使用:  getoutproporty  checkproporty 或者自己寫程序檢查

 

 

同步點-錄製時候使用:

不行

 

同步點就是,等待目標的一個屬性變成指定的值  可以設置等待時間

 

 

 

 

今天講環境變量

1.       運行軟件時使用全路徑,無法移植;要使移植性

2.      

Dim WorkFolder'定義環境變量

WorkFolder = Environment.Value("WorkFolder")

DataTable.ImportSheet WorkFolder&"\TestCase\testcase1.xls", "main", "Global"

SystemUtil.Run WorkFolder&"\VB-Calc"

 

公共對象庫每次都需要重新加一次?---全路徑發生變化----絕對路徑變成相對路徑..\..\resourse.xxx

QtpTestObject的目錄去,所以需要..退出,再..進入Object目錄

如何 顯示出全部路徑?1.先把 全部刪掉,隨便添加一個工作目錄,再到中添加後,選否就能顯示出工作路徑

 

1.              手動添加環境變量

2 導入外部文件  可以直接修改外部文件來修改環境變量

3 動態導入Environment.LoadFromFile "C:\Users\usera\Desktop\上課\VBCalc\Resource\Environment.xml", True'動態導入

F7 下面默認爲全部導入;不是導入部分行的環境變量

Web測試東西:自動化

模塊參數傳遞

主模塊main接受的輸入傳遞給子模塊                  子模塊loginoutput輸入給主模塊

 

運行時纔用到

 

只有父子模塊能參數傳遞

 

做登錄檢查,參數傳遞

 

Main自己的循環需要右擊main來設置

 

使用spk看下自己獨有的屬性,再去描述

y:=42

html tag:= SPAN

innertext:=&username

 

描述性編程不強制上下文

強制顯示申明  在最前面option explicit

發佈了145 篇原創文章 · 獲贊 40 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章