Android系統自動化測試簡述(2)

發表于:2011-06-24來源:未知作者:admin點擊數: 標簽:
現在測試代碼從getView(id).actionMethod(arg)演變成了Layout(layout.class).ViewType().view().actionMethod(arg)的方式,代碼雖然變長了,但是出錯的可能性大大降低了。 Bug的

  現在測試代碼從getView(id).actionMethod(arg)演變成了Layout(layout.class).ViewType().view().actionMethod(arg)的方式,代碼雖然變長了,但是出錯的可能性大大降低了。

  Bug的定位離不開日志,因而日志系統也是一個測試框架重要的組成部分,Android的Log類中提供了一系列的靜態方法可以在IDE中打印日志。在TMTS中,提供TmtsLog類,除日志打印外可將日志內容實時保存至SD卡指定目錄,在框架代碼中的關鍵部位都加上了這樣的日志用來保存異常時的調用棧信息,用戶的測試代碼中也可以加上對TmtsLog的調用跟蹤測試代碼執行進度,TmtsLog將為每個測試類保存一份這樣的日志文件,同時包含用戶的過程日志和框架異常日志,文件名以精確到毫秒的日期加以區分。

  項目做到這里遠遠沒有結束,套用屈原的一句話就是路漫漫其修遠兮。

  后面計劃解決的問題有:

  1.跨進程測試,讓testapp和app運行在兩個不同的進程中,這是一個大坑。

  2.穩定性問題,目前框架中有很多地方硬編碼Thread.sleep()去等待一個View加載完成,避免對空的View進行操作,或者是對一個view進行set操作后,也需要等待一段時間讓操作生效。希望能找到一種回調機制優雅的解決。

  3.設法捕獲Toast消息

  后面可能會研究的方向,是通過非java的方式來實現android自動化測試。Android目前已經通過ASE(Android Scripting Environment)支持了多種腳本語言,如phyton,lua,perl等,限于目前的人力還沒有時間來研究這一塊,相信ASE會給Android自動化開辟一片新天地。

  最后談一點點感悟,老子曾經曰過:“持而盈之,不如其已;揣而銳之,不可長保。金玉滿堂,莫之能守;富貴而驕,自遺其咎。”和“重為輕根,靜為躁君。”第一句話說有缺陷才是真正的完美,沒有一個方案是真正完美的。第二句話說有時候看起來完美的方案,過段時間之后又不適用了,而且不適用的地方很可能就是當初覺得完美的地方,對于軟件項目解決方案也是如此。

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

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