qtp與selenium2的區別


QTP:
 我覺得qtp適合的人:
對編程不是很熟悉的
厭煩了手動的功能測試,想 快速進入自動化行業的
公司想快速自動化項目,並且對價格或者對盜版無所謂的
vbs腳本語言易於上手,可以培訓你對代碼的興趣,為更進一步的提升奠定基礎
 
框架:
qtp本身就是一個框架, qtp11,宣傳的是高級關鍵字驅動,實際上他是也有數據驅動,就是一個混合體(關鍵字驅動+數據驅動)
 
包含了dataTable, or, functionlibrary
 
dataTable可以參數化數據,做數據驅動
關鍵字,實際是面向非開發人員的,就是直接根據業務錄制腳本,然后在關鍵字視圖上,根據實際情況再做調整
 
對象庫實際上是qtp的精華所在,但是有的時候往往舍棄它,用DP,實際上着是不對的,他相當於selenium的page object
 
函數庫,就是封裝了一些業務方法和工具包,比如login,對對象的方法的擴展
 
 
 
Webdriver
selenium2 = selenium 1 + webdribver
咱們現在都在用webdriver, 實際上他就是提供一堆API
 
selenium適合的人:
有一定開發背景,熟悉java, c#, python, ruby,這樣你才能快速使用起來
有一定商業自動化工具的使用經驗,了解了自動化工具的思想,想轉做開源的自動化的,我其實就是這個原因
 
框架
selenium的開源優勢是很明顯的,尤其是使用java語言的(沒有貶低其他語言的意思),原因很簡單,用的人很多,那么第三方的擴展工具包也很多,使用起來就比較方便
 
tom本來今天講的testng(標記語言),就是一個第三方的 jar包,他是用控制測試流程的
由於自動化測試用例設計的一個准則是盡量減少case之間的依賴關系,那么我一般做的是每次用例跑完以后都回到原點,並且用例創建的數據都會被刪掉

比如,一個場景: login(放在before) - action(正常的業務邏輯) - logout(after).........testsuite.xml
 
腳本版本控制工具(svn)
 
做版本的控制,可以方便多人開發腳本以及腳本出錯可以及時的回滾,我們需要把代碼簽入到svn里去
 
ant實際上一個構建工具,它可以創建一些構建腳本,比如自動編譯代碼,等,他是一個Build.xml
 
jenkins(前身hudson)是一個持續構建服務器(CI服務器)。他的作用就是構建Build. 他會一直輪詢svn。一單發現svn代碼有變化就調用ant,然后ant調用testng來執行我們寫selenium自動化測試用例
 
 
 
 
 以上是自己的拙見,有不足的可以拍磚!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM