我正在嘗試使用QTP進行一些webapp ui自動化測試,我想知道人們通常如何編寫他們的QTP測試。你是否一起使用對象圖,描述性編程,組合或其他方式?任何小代碼示例將不勝感激,謝謝你如何編寫你的QTP測試?
回答
這是我的建議。
1)構建您的測試自動化需求矩陣。 您可以使用樣品從我的博客
http://automation-beyond.com/2009/06/06/qa-test-automation-requirements-usability/
http://automation-beyond.com/2009/06/07/qa-test-automation-requirements-usability-2/
http://automation-beyond.com/2009/06/10/qa-test-automation-requirements-5-maintainability/
http://automation-beyond.com/2009/06/08/qa-test-automation-requirements-robustness/
http://automation-beyond.com/2009/06/09/qa-test-automation-requirements-scalability/
2)選擇您automation approach
3)根據您選擇
注意的方法寫你的測試腳本。 QTP版本庫方式或描述性編程屬於前端功能測試自動化的GUI識別部分。它們在穩健性和維護方面很重要。技術上,它幾乎是一樣的。在這兩種情況下,您都應該很好地理解GUI識別概念,否則無論採用何種方法都會遇到問題。
- 您可以將GUI對象識別屬性存儲爲類似XML的數據結構,並將該記錄映射爲類似英語的名稱。無論何時原始對象的屬性發生更改,都會更新存儲庫中的記錄,而代碼仍然引用映射的名稱。
- 或者您可以通過直接將相同的識別屬性放入函數調用來解決GUI對象。每當原始對象的屬性發生變化時,您都必須更改代碼。但是,您不必隨腳本一起維護額外的文件。
一個好的框架應該由在對象參考水平下操作同時支持GUI映射和描述編程符號。即你應該保持對象識別和對象交互任務分開。
注意,根據上下文描述編程符號可能腳本的放緩性能和它總是要求額外的維護工作,而在其他情況下,使用對象存儲庫只可能導致對象的描述的不必要的重複或者可能會限制動態更改GUI的識別。
我示出了下面的文章中提出以上幾點: A little QTP performance test: Object Repository vs. Descriptive Programming
直代碼示例(對於實際自動化我推薦GUI Function Wrapping)。
描述性編程 - 按物理描述屬性尋址對象。通過映射GUI名稱
Browser("Select Profile").Page("Select Profile").Link("Guest").Click
Dim sProfile
sProfile = "Guest"
Set objWebParent = Browser("title:=Select Profile").Page("title:=Select Profile")
Set objWebObject = objWebParent.Link("text:="&sProfile)
boolRC = objWebObject.Exist(0)
If Not boolRC Then
'error-handling
End If
objWebObject.Click
尋址對象謝謝你,
阿爾伯特Gareev
http://automation-beyond.com/
我知道我遲到了,您必須已經有你在找什麼因爲,但我想提供我的投入,以及訪問此主題的任何人。
我一般不會使用OR,除非我遇到一個描述性編程是不行的環境。就在最近,我使用了一個大型機前端GUI應用程序,它絕對沒有對象的命名約定。如果您選擇對這樣的應用程序使用描述性編程,則使用其對象的唯一方法是通過索引或位置序號標識符,這不是考慮每個窗格中100個對象的最佳操作過程。
所以,你的問題的答案真的取決於環境和你的OR和DP的經驗。在我的工作中,大多數與我合作過的人以及在線社區都傾向於在可行的情況下使用描述性編程。但是,我也看到人們用OR來創造奇蹟。
我有幾個代碼示例,但不幸的是,它們處理描述性編程。例如,有關創建模塊化的VBScript類來劃分應用程序的功能集成到小型管理的組件下面的文章會談:
http://relevantcodes.com/qtp-using-classes-as-test-modules-i/
同樣,本文介紹了規劃如何描述可以用來驗證目標的多重性,通過一個對象碼單塊:
http://relevantcodes.com/qtp-verify-multiple-object-properties-an-elegant-approach/
此外,演示框架也可供您參考這裏:
http://relevantcodes.com/relevantcodes1one-qtp-automation-framework/
該框架完全基於描述性編程原則構建,但在下一版本中,將添加一些功能以使用戶也可以使用OR。
謝謝
Anshoo阿羅拉
(感謝鏈接到原創文章,Motti)
我認爲在可能的情況下,DP將是選擇的方法。我只是不太確定QTPs系統是否真的很好。目前我使用TestPartner並完全避免其OR系統。謝謝你的信息Anshoo。 – 2010-01-20 20:29:57
嗨阿羅拉,您的網站不開放 – 2017-07-20 07:08:34
- 1. 你如何測試你的Cocoa GUI?
- 2. 你如何測試你的Request.QueryString []變量?
- 3. 你如何測試你的emberjs路線?
- 4. 你如何測試用GLSL編寫的OpenGL着色器?
- 5. 你如何在Java中編寫測試程序?
- 6. 你如何測試權限?
- 7. ASP.NET - 你如何測試WebControls?
- 8. 你如何測試DAL?
- 9. 你如何運行你的單元測試?編譯器標誌?靜態庫?
- 10. 你如何以編程方式檢測你的iPad的一代?
- 11. 你如何找到你的GitLab主機名(測試你的SSH密鑰)?
- 12. 你如何組織你的發佈測試?
- 13. 你如何在TDD中組織你的單元測試?
- 14. UnitTest你如何組織你的測試文件?
- 15. 你如何壓力測試你自己的軟件?
- 16. 你如何測試你的ASP.Net MVC JsonResult操作?
- 17. 你如何組織你的MVC控制器測試?
- 18. 你如何組織你的測試項目
- 19. 你如何測試k-means的實現?
- 20. 你會如何寫的`Iconv.new( 「UTF8 //忽略」,...)`成語測試?
- 21. 你用什麼.NET語言編寫單元測試?
- 22. 你如何合作編寫規格?
- 23. 你會如何編寫這個查詢?
- 24. 你如何強調測試wcf服務
- 25. 你如何在Django中測試formset?
- 26. 你如何測試小東西? (Eclipse Android)
- 27. 你如何測試非功能代碼?
- 28. 你如何從Jenkins運行NUnit測試?
- 29. 你如何在Windows上測試Rails?
- 30. 你如何測試自定義斷言?
感謝您爲您的文章偉業。從我收集到的信息來看,如果必要的話,將提出一種混合的對象映射方法和描述性編程方法?順便說一下,不錯的網站,我不得不說魯棒性是UI自動化中最煩人的部分。 – 2009-12-17 18:06:07
嗨喬希。是的,我強烈建議使用接收對象引用的庫函數作爲參數。當從外部調用時,你將有一個自由定義對象和描述的對象。是的,讓你的腳本變得非常有挑戰性,但它應該是框架的一部分,而不是測試邏輯。 – 2009-12-21 21:09:15
阿爾伯特博文中的「自動化方法」鏈接是我見過的關於這個主題的最好的總結之一。好東西。 – TheBlastOne 2010-06-18 08:01:39