自動化測試初體驗

發表于:2010-07-07來源:作者:點擊數: 標簽:自動化體驗
自動化測試初體驗 軟件測試 近兩個月的 自動化腳本 編寫,讓我從一個門外漢終于進到了門里,下面想說一下這兩個月學習 QTP 的一些體驗想法: 首先,學習自動化腳本要有一個好的思想去指導,沒有思想指導的會讓人無從下手,其實這點不管學習任何新東西都是必

  自動化測試初體驗  軟件測試

  近兩個月的自動化腳本編寫,讓我從一個門外漢終于進到了門里,下面想說一下這兩個月學習QTP的一些體驗想法:

  首先,學習自動化腳本要有一個好的思想去指導,沒有思想指導的會讓人無從下手,其實這點不管學習任何新東西都是必須的,這個思想一般來源于前輩、專家、高手的引導,學習了思想才知道如何去開始,腦子里形成了一個輪廓,甚至有點迫不及待想去自己動手做了。我們的思想大概包括了這些方面:如何維護對象庫,執行case的組成,common的function、base的function,各個case要有自己的checkpoint及datainstall,如何去封裝function以達到最少的代碼重復,

  第二,學習方法:有了思想,可能已經覺得是這樣,我應該會做了,但其實真動起手來,還是很盲目,東一下西一下,最好的方法,拿一個范本來學習一下,在閱讀別人代碼的同時,理清原本盲目的思路,然后自己去嘗試寫第一個腳本,這其中肯定會遇到各種各樣的問題,不會使用對象的方法啊、不會使用已有的函數啊等等,不過解決方法更多:QTP的Help,關鍵要會使用索引搜索,英語都不是問題的,很簡單;google很強大,上面有無數前輩們不同的解決方法;身邊的前輩至關重要,因為很多實實在在的問題,google和help還真幫不上忙;偶爾還會碰到自己腦筋短路的時候,怎么都跑不通的腳本,別人一看就知道問題在哪里,而且也許很簡單,這個時候最大的想法是拿塊豆腐撞死算了!^_^

  第三:關于問題及總結:寫完除了完成了任務,學到了東西,更重要的是可以拿出東西來可以跟大家分享,讓后面的人更容易的走過我們這一步,所以問題及總結必不可少,每一個腳本都會遇到這樣那樣大大小小的問題,或許問題很“弱智”,既然自己會犯,別人也依然會犯,所以同樣需要拿來給大家借鑒,唯一不能怕的是丟人!

  第四:關于代碼優化及數據準備:現在我們的代碼,幾乎就是硬性使用某個用戶,必須有某些數據才能跑的動,能跑腳本的準備會花費太多力氣,后期在完成的基礎上需要對代碼做優化,不需要準備太多的硬性數據就可以跑的動我們的腳本。

  上面只提到了概括的內容,現在說一下在我寫的過程中遇到的問題及一點點總結:

  一、不知道如何使用對象的方法:最簡單的是使用QTP的help了,索引一下這個對象,就會有對象的所有方法,也會有例子,最常用的WebTable對象,GetCellData和ChildObject方法,如果是校驗這個table的某行列中是否有對象,不用使用ChildObject.Exist,只要WebTable.GetCellData值是否為空即可。

  二、思路已經有了,卻不會寫代碼:對于一個沒有開發經驗的測試工程師這很正常,經常是知道要怎樣做,卻不知道用哪個函數來實現這個想法,比如取字符串的某幾個值,匹配字符串等等,關于字符串常用的方法有:instr、left、right、mid、trim、。。。等等,這些是經常要使用的,最好就是對于已用到的函數做一個記錄,不用上次用了這次忘了,又去google一把,浪費太多時間,將函數的參數及使用方法用自己簡單易懂的方式記錄下來。

  三、學會使用DOM結構分析:越來越深刻的體會到DOM結構真的很有用,定義了對象唯一可以確認對象的幾個屬性就可以很方便的找到這個對象,不過有時候對象之間的childobjects關系弄不是很明白,尤其層級比較多的時候,誰是誰的child不是很清楚,到底該定義到哪個級別的對象再去定義其child呢?不過多嘗試幾次總會成功!

  Set obj=browser(”瀏覽器“).Page(”頁面“).WebElement(”對象“)

  set desc1=description.Create

  desc1(”miclearcase/" target="_blank" >cclass”).value=”WebElement”

  desc1(”html tag”).value=”LI”—–此處value可以設定多個,直到完全可以確定一個或幾個同類型對象即可。

  Set c_obj1=obj.ChildObjects(desc1)

  c_obj1可能會有多個使用c_obj1.count來計算其數量,而從c_obj1(0)開始便指其第一個對象

  這樣就可以找到obj的一個子對象c_obj1,對其進行對象可以進行的操作了!

  四、調試代碼是一個漫長的過程,多多使用msgbox,看下得到的內容是否與預期一樣,或許就是這不一致的內容導致,尤其對于數據庫校驗的內容,會碰到校驗的內容其實是錯誤的,但是并沒有報錯,單步執行是很有效的方法。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97