qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          用python做自動化測試—Monkeyrunner問題的解決方案

          Monkeyrunner為Andriod SDK 嫡親的測試工具,功能還是很強大的,但Andriod的測試技術發展比較晚,所以目前國內的教程和例子比較少,很多功能沒有發掘出來。
            Monkeyrunner的例程google下可以有很多,這里就不在重復了,下面說說大家可能遇到的幾個問題,及解決方案。
            1. 點擊button,選擇輸入焦點,只能靠坐標來定位,一旦換手機,坐標完全失效了。
            解決方案a: 通過device.getProperty("display.width"),device.getProperty("display.height")得到你調試手機的像素,在新的手機中,通過這2個參數的比例關系,可以得到在新手機的X,Y坐標點。
            解決方案b:通過view server查詢ID來定位,這種方法是最好的,肯定不會錯。但很多手機上view server不工作,即使被rooted了(可以通過hierarchyviewer.bat來確認view server是否工作).  破解過程有點下復雜,大家可以參考這里,還是可以破解的。http://blog.apkudo.com/tag/viewserver/
          from com.android.chimpchat.hierarchyviewer import HierarchyViewer
          from com.android.monkeyrunner.easy import By
          from com.android.hierarchyviewerlib.device import ViewNode
          easy_device.locate(By.id('id/main_button'))
          easy_device.touch(By.id('id/main_button'), 'downAndUp')
            2.  測試結果的檢查中,用圖片來比較精確度不高。
            很多測試用例的檢查結果中,我們希望同時檢查app的界面是不是我們期望的,但通知欄的電池或者彈出個通知消息不好比較,容易導致結果比較失敗。
            解決方案a:通過OCR技術,可以獲取到圖片里的文字。python里面有https://code.google.com/p/pytesser/,當然這個是cpython的,monkeyrunner用的是jython, 無法直接調用cpython的模塊,OCR里面java的開源模塊很多,jython直接調用java非常方便。
            解決方案b:還 是通過view server得到界面上內容
          hierarchy_viewer = device.getHierarchyViewer()
          view_node = hierarchy_viewer.findViewById('id/prompt_text_view')
          text = view_node.namedProperties.get('mText').toString()

          posted on 2014-01-09 10:31 順其自然EVO 閱讀(615) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2014年1月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 本溪市| 昂仁县| 丹江口市| 南康市| 义乌市| 合阳县| 仁化县| 五峰| 锡林郭勒盟| 张家口市| 乐至县| 昭苏县| 乐亭县| 牡丹江市| 南澳县| 汝州市| 安义县| 阿巴嘎旗| 崇礼县| 竹北市| 翼城县| 康平县| 平乡县| 墨脱县| 东至县| 静安区| 武山县| 白山市| 堆龙德庆县| 阳朔县| 多伦县| 平湖市| 牟定县| 扎赉特旗| 凤凰县| 都安| 内黄县| 凤台县| 南乐县| 武汉市| 辰溪县|