日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS客户端monkey测试

發布時間:2023/12/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS客户端monkey测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

monkey測試指的是,app根據系統隨機產生操作指令,進行各種隨機的操作,測試執行一段時間后,觀察app是否有crash或者異常日志。
在monkey中主要是模擬用戶點擊、滑動、長按、返回這幾種常用的操作。

實現方式

實現思路有三種:

Instrument中控制app的點擊行為

用Xcode自帶的工具,實現js腳本可以參考 https://my.oschina.net/bluedreamjn/blog/536049
在Xcode7里測試可以運行,測試代碼會逐個點擊tableview的每個cell并返回。
優勢是可以獨立于代碼,隨時修改。劣勢是需要instrument才能運行。
有很多其他人實現的Monkey框架:
https://github.com/vigossjjj/CrashMonkey4IOS
試了一下,有問題 https://github.com/vigossjjj/CrashMonkey4IOS/issues/79

原因是Xcode8中沒有Automation,因此需要高版本的Xcode需要換個思路

使用facebook的WebDriverAgent框架

可以參考:
https://www.jianshu.com/p/e34a013ca9b1?winzoom=1

跑題一下,特別火的游戲跳一跳的外掛,也是在此方案實現的:
https://github.com/wangshub/wechat_jump_game

利用Xcode的UI Test完成自動化測試。

參考 http://www.jianshu.com/p/6cb686e5dacc
使用XCTest.framework或者使用第三方庫KIF框架的點擊效果,實現一套隨機點擊的邏輯。
優勢可以集成在app中隨時生效,劣勢是需要在代碼中集成monkey代碼。

除了在Xcode中運行測試,也可以配置Jekins自動執行
在工程目錄下運行xcodebuild,如果有多個項目的話,需要指定project和target
xcodebuild [-project projectname] [-target targetname …] [-configuration configurationname]
[-sdk [sdkfullpath | sdkname]] [buildaction …] [setting=value …]
[-userdefault=value …]

例如:
xcodebuild test -destination-timeout 900 -workspace Demo.xcworkspace -scheme Demo -sdk iphonesimulator -configuration Debug -destination platform=’iOS Simulator’,name=’iPhone 6 Plus’

遇到的問題

1、在monkey測試的時候經常出現無法退出當前頁面。
解決方案:因為返回按鈕都在左上角,所以可以增加左上角的點擊權重,防止無法返回的情況。
2、偶爾會出現跳到第三方app的情況。
解決方案:由于跳到其他app無法控制跳回來,所以測試代碼禁用了openURL的方法。

github博客:https://wf96390.github.io/blog/2017/03/21/monkey/

總結

以上是生活随笔為你收集整理的iOS客户端monkey测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。