[摘要]本文是對iOS自動化測試需求實現(iOS按鍵精靈類似)的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。
需求分析:
作為以需求為驅動的IT公司,有再奇怪的需求都不奇怪,所以“24小時循測第三方應用”這樣的需求也可以接受。業務需求重點為:
1.24小時循測
2.無人值守,自動完成
3.自動界面操作(點擊、滑動、輸入)
4.比較每個頁面是否有bug顯示
技術分析:
根據以上業務需求做技術分析:
1.Andriod上自動界面操作、截圖可以使用內置adb命令來完成,一台PC鏈接多台手機,驅動adb命令完成。
2.iOS上在越獄手機上實現自動界面操作、截圖,通過socket驅動完成。
技術實現:
1.adb驅動層沒什麼難點,網絡上很多文章和技術文檔。
2.iOS等於要實現一個“按鍵精靈”,現成資料和代碼不多。
3.圖片比較,可以使用OpenCV來實現。
代碼開發:
作為iOS開發者,"iOS按鍵精靈”開發的工作又落到我的肩上,從一開始的好無頭緒,到現在完成“iOS按鍵精靈”開發,大概用了7個工作日。
主要實現了全局點擊、滑動、輸入、截圖功能。
使用“TheOS”開發框架,將各個要實現的功能hook到系統層,如:Springboard.
越獄開發真是個大坑啊,不過在不斷填坑的工程中,了解到了常見的APP攻擊技術,對自己以後做開發的項目可以做一些相應的安全。
iOS按鍵精靈測試通過:iOS7 iOS8.3