這篇文章是寫給所有想學習或正在學習自動化測試的朋友的,旨在提供乙個自動化的學習方向,本文舉例將以qtp自帶的flight為例,講解從自動化工具學習到自動框架思想的發展過程:(文章中有些地方會省掉,因為在我部落格中有相關的文章了,位址是:雞蛋鮮花都歡迎)
什麼是自動化測試?
自動化可以做什麼?
學好自動化測試需要哪些知識準備?
自動化測試的侷限性?
你做的專案適不適合做自動化測試?為什麼?
為什麼要先搞懂這幾個問題?因為你先了解了這些問題後,有助於消除你對自動化測試學習的恐懼,也會有乙個初步的思路,不會覺得無所適從,再者,帶著問題去學習,能更好的理解並記住然後形成自己的思維。
3. 簡單自動化 qtp裝好了吧,那現在就開始我們的第乙個自動化體驗:錄製flight自動化指令碼,這個過程比較簡單,錄製三個部分:登陸、定票、查詢定票和刪除定票,具體的業務過程和錄製過程我就不說了,網上有很多資料,本文也不是乙個實驗指導書,只是提供乙個比較清晰的自動化學習路線。當然,在錄製了這些指令碼之後,回放成功,第乙個自動化完成了。
4. 增強指令碼功能 這個階段主要是學習一些qtp的基本功能,在這裡你要去增強一下你的指令碼了,引數化登陸使用者名稱和密碼,引數化航班選擇、定票張數,增加金額的檢查。主要是學習引數化和檢查點,這裡會遇到一些困難:
那就是選擇航班這裡,可以運用隨機數等方法來引數化航班
金額的檢查會需要用到一些簡單程式設計,總金額=張數*單價
通過定單號查詢定票會要用到物件的getroproperty("")方法
這個學習的過程,還會遇到一些除錯方面的因難,不過不用心急,慢慢來,成功是建立在失敗之上的,記得在除錯時,可以按f11單步執行,建立你的輸出如:msgbox實時輸出你想要看到的資訊
5. 資料驅動 經歷了上面的階段,在這裡將要接觸一點資料驅動的思想了,其實很簡單,就是把你引數化的地方拿出來,放到乙個外接的excel檔案裡面,然後通過讀取excel裡面的資料來控制迴圈次數,大概的步驟如下:
建立excel物件
迴圈讀取excel資料賦值給變數
在指令碼中引用變數
具體每個步驟的實現我就不詳細說了,網上也是資料大把
6. 功能函式化 這個階段主要是把各個可以重用的功能寫成函式,而主控指令碼主要是用來呼叫這些功能函式,實現重用和結構清晰化,這個階段又可以分成以下幾個子階段:
把單個的功能寫成乙個action,主指令碼呼叫這些action,在這裡會遇到乙個問題,那就是關於被呼叫action的設定,這個在我的部落格裡面有一篇文章有介紹,可以去看看
把單個的功能寫成函式放到乙個action裡面,指令碼最下面呼叫這些函式
把單個的功能寫成函式到乙個.vbs檔案,指令碼中呼叫這些函式,在這裡也會遇到乙個問題,那就是qtp呼叫.vbs檔案,這在我的部落格裡面也有一篇文章詳細寫了,這裡就不再重複
這個過程完成後,就大概有基本的框架了,接下來進入下乙個階段
7. 完善框架 在這個階段,我們以網上一位朋友的輕量級自動化測試框架來說,相信有很多朋友都有看過,我也懶得重新去做乙個示例了,在這裡你需要建立你自己的report
、日誌檔案、函式檔案、資料驅動檔案、指令碼檔案等,把這些都放到單獨的資料夾裡面,方便管理,並對函式的建立、定義進行規範,詳情參見輕量級自動化測試框架
8. 理清框架思想 在這個階段主要是用來思考和完善你的框架思想了,此時你們應該有乙個清晰的思路了,明白自動化指令碼開發的各個階段,並知道最後要做成什麼樣子,現在重要的一點就是學習做分析和計畫了,乙個專案交到你手裡,你要先評估這個專案適不適合做自動化、自動化哪些東西、哪些功能可以封裝起開寫成函式、哪些地方需要進行資料來控制驅動,最後評估各個階段的耗時、需要的資源、各階段的產出(文件、指令碼等)
robel.yi
20008.11.3 上午
軟體測試工具QTP中測試環境的初始化
在我們執行指令碼前,有時候忘了清理環境.可能被測物件已經存在了,qtp再次執行時又重新開啟了個相同的物件.導致後續步驟,由於qtp根據物件庫中的物件匹配到了兩個相同的物件,不知操作哪個物件了,於是報錯.那我們有沒有辦法避免呢?答案當然是肯定的.我們可以在執行測試指令碼前,先寫段指令碼來判斷我們要測試...
學習 測試工具JUnit
寫了個類,要給別人用,會不會有bug?怎麼辦?測試一下。用main方法測試好不好?不好!1 不能一起測試!很多個類就需要很多main方法 2 大多數情況下需要人為的觀察輸出確定是否正確 太累啦 使用junit 1 只要執行junit test,就可以同時測試多個方法,main是無法辦到的 2 只要看...
linux系統學習1 7 裸機開發步驟和工具使用
步驟 x86平台 x86平台 arm裸機開發 環境windows應用程式 ubuntu應用程式 第一步建立工程 編輯編輯 第二步編輯 編譯 gcc 編譯 arm linux gcc 第三步編譯 vc6.0 執行燒寫 第四步執行執行 使用gcc的原因 功能強大 穩定 開源免費 gcc v 檢視gcc的...