前往: 導覽, 搜尋

使用 TC 的時候難免有一些動作會漏溝,這時候需要更強壯的方法來執行

TCView13.jpg

GUI自動測試工具有百百種,但是可以用的就是那幾種,用的起的就剩下一兩種,2007 年的時候那時候公司想要導入自動測試
還記得那時候我剛剛進入公司,就負責Study 幾種工具,包含只錄製絕對座標的還有會認 Object的工具,那時候64位元的電腦
還沒有出現當然 Vista 也不知道在哪裡,在那時候我就有測試過 QTP 和 TestComplete,測試結果只能說QTP 真屌阿。
可是去問其價錢,也跟他的功能一樣屌沒記錯的話要台幣70萬,而且還是打折過的哦!!,結果就乖乖的回來用手工測試,
就這樣時間拉到 2008年年底,又開始在展開自動測試的專案了,而有名的QTP已經被HP給買下來了, 1+1 並沒有大於2
64位元的作業系統和64位元的軟體 QTP在上面的支援可以說是零零落落,不堪一擊。

而他的對手 TC卻是不斷的精進,不但支援 Vista 也支援 64 位元的軟體,這可真是越來越屌的趨勢,更重要的是 1000 元美金有找
公司也覺得合理,就這樣跳進 TC的懷抱中。

講這麼多,先來看看 Object Properties 可以怎樣用比較實在。
ExeOP001.jpg
執行之後長這樣
ObjectViewer001.jpg
把紅色圈圈裡面的marker 拉到指定視窗上面,他就會把該應用程式 Highlight 起來,這個很厲害哦,之前還不知道這要怎麼使用,
先來個範例先。

function test()
{
    var wComponent = Sys.Process("HyperSnap6").Window("Afx:0040000:*", "HyperSnap 6-[Snap12.jpg]");
    /*
       變數 wComponent 已經可以開只針對 HyperSnap 軟體作操作了
       這些情報是從 Object Properties 裡面的 FullName 欄位抄出來的,上面可以使用萬用字元 * 符號來代表不確定的文字
    */
    while (wComponent.Index == 1)
    {
      //do some thing.... 在這裡就可以針對某些屬性來做動作,如果按鈕按不到的話就會一直按,直到屬性改變為止
      BuiltIn.Delay(1000); //delay 1 秒鐘
    }
 
}