軟件測試工具理解QTP Action的分割
Mercury QuickTest 企業級自動化測試工具! 目前已經被惠普收購,正式名字為HP QuickTest Professional software ,最新的版本為HP QuickTest Professional 10.0. HP QuickTest Professional 提供符合所有主要應用軟件環境的功能測試和回歸測試的自動化。采用關鍵字驅動的理念已簡化測試用例的創建和維護。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者回歸測試用例。專業的測試者也可以通過提供的內置腳本和調試環境來取得對測試和對象屬性的完全控制。
前面介紹的腳本基本上都只有一個Action?梢钥吹,在自動創建的測試腳本的關鍵字視圖中,所有步驟的根節點都是Action1。所謂Action,就是動作的意思,它是一系列操作步驟的集合,在QTP中,可以將整個Action測試腳本分成多個Action,每個Action就是一個相對獨立的邏輯單元,而一個QTP測試腳本就是由順序調用每個Action的操作構成的。
根據自己的需要,我們可以將Action分割成多個Action。比如:我們錄制一個腳本,該腳本是先登陸,再查找bug,最后退出。根據case,運用邊界值的測試方法,現在我們查找編號為1的bug,和查找編號為中間的bug,再查找編號為最后一個的bug。進行參數化進行測試。大家可以發現你的腳本是用相同的用戶名和密碼登陸了三次,再退出了三次。下面是實現該功能的腳本。
Browser("Bugzilla Main Page").Page("Bugzilla Main Page").Link("Log in to an existing").Click
Browser("Bugzilla Main Page").Page("Login").WebEdit("Bugzilla_login").Set "root@btest00.com"
Browser("Bugzilla Main Page").Page("Login").WebEdit("Bugzilla_password").SetSecure "49d1da6794fc0b5a74283ab70d0b88a33165"
Browser("Bugzilla Main Page").Page("Login").WebButton("Login").Click
Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Set "1"
Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Submit
Browser("Bugzilla Main Page").Page("Bug 1 - 11111111111").Link("Log out").Click
Browser("Bugzilla Main Page").Page("Logged Out").Sync
Browser("Bugzilla Main Page").Close
但是,我想要的是登陸一次,查找三個bug,退出一次。這樣的腳本是不是更好一些?要想實現該功能,我們可以使用Action分割來實現。在實現登陸的時候我進行分割,再查找bug的時候進行分割,最后退出實現分割。Action的名字根據自己的需要可以隨便的設置,最好取一個你自己能夠看的懂意思的名字。我是用 login,find,和logout來設置的。大家要注意,這里要設置自己的sheet,即實現自己的對象倉庫,對于對象倉庫的概念和作用,不在本次介紹的內容,有時間的話,我再介紹。以下是我實現好的腳本。
1.Login
Browser("Bugzilla Main Page").Page("Bugzilla Main Page").Link("Log in to an existing").Click
Browser("Bugzilla Main Page").Page("Login").WebEdit("Bugzilla_login").Set "root@btest00.com"
Browser("Bugzilla Main Page").Page("Login").WebEdit("Bugzilla_password").SetSecure "49d1da6794fc0b5a74283ab70d0b88a33165"
Browser("Bugzilla Main Page").Page("Login").WebButton("Login").Click
2.Find
Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Set "1"
Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Submit
3. logout
Browser("Bugzilla Main Page").Page("Bug 1 - 11111111111").Link("Log out").Click
Browser("Bugzilla Main Page").Page("Logged Out").Sync
Browser("Bugzilla Main Page").Close
現在的腳本是實現了Action分割的功能,但是跟我所說的登陸一次,查找三次和退出一次還沒有實現。此時只要在find中將查找bug進行參數化三次和設置find執行三次就可以。
實現的腳本只有find中有些變化。
如:Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Set DataTable("find", dtLocalSheet)
最后提一個小小的問題,讓大家進行思考?
如果所有的腳本都要從頭到尾自己進行編寫,是不是太累,太辛苦。我們可不可以將人家寫好的腳本拿來用在我的腳本中,也就是要實現腳本的復用呢?下次我準備寫該方面的內
文章來源于領測軟件測試網 http://www.kjueaiud.com/