美文网首页
iOS_Monkey测试

iOS_Monkey测试

作者: 龙猫六六 | 来源:发表于2019-04-15 17:56 被阅读0次

    背景

    目标使用monkey对提测版本进行压力测试,期望第一时间发现crash bug。
    通过多种选型,确定使用fastmonkey进行客户端测试,选型依据:
    优点:
    1.无需代码,只要知道应用Bundle idetifier即可monkey执行
    2.monkey操作事件类型,频率可控
    缺点:
    1.fastmonkey使用WDA(WebDriveAgent),而WDA使用了苹果私有函数,版本依赖性强

    安装步骤

    1.从git上下载源码

    FastMonkey git:https://github.com/zhangzhao4444/Fastmonkey

    2.使用carthage下载更新,编译工程FastMonkey的依赖

    安装

    安装命令
    brew install carthage
    
    安装后版本查看
    jc@jc:~$ carthage version
    0.33.0
    

    3.下载第三方,并编译依赖

    命令行到指定fastmonkey路径

    jc@jc:~/Documents/IosWorkSpace/UITest/Fastmonkey/XCTestWD-master$ ls
    CONTRIBUTING.md   Cartfile.resolved LICENSE           README.md         index.html        lib               scripts
    Cartfile          Carthage          Makefile          XCTestWD          index.js          package.json      test
    

    执行carthage update命令下载第三方,编译依赖

    jc@jc:~/Documents/IosWorkSpace/UITest/Fastmonkey/XCTestWD-master$ carthage update
    

    正常执行命令后结果如下


    image.png

    4.配置XCTestWD.xcodeproj工程

    Bundle Identifier修改:删除fastMonkey原有的bundleID并更新,解决工程编译的问题
    signing设置:选择合适的个人账号或者vip企业账号


    image.png

    XCTestWDUITests->General->Signing->Team配置
    2019/4后苹果无在支持个人账号的UITest,因此需要进行如下操作
    a.使用vip账号,新建一个bundle ID,并导出对应的证书
    b.修改XCTestWDUITests->General->Singing


    image.png

    然后在XCTestWD->Build Setting->Header Search Paths和XCTestWD->Build Setting->Objective-C Bridging Header中,把里面的XCTestWD/XCTestWD-Bridging-Header.h删掉

    5.代码修改

    修改XCTestWDMonkey.swift文件的bundleID,该bundleID为要被测应用的bundleID


    image.png

    6.运行monkey

    cd到指定目录
    jc@jc:~/Documents/IosWorkSpace/UITest/Fastmonkey/XCTestWD-master/XCTestWD$
    执行如下命令
    xcodebuild -project XCTestWD.xcodeproj \
               -scheme XCTestWDUITests \
               -destination 'platform=iOS,name=iPhone' \
               XCTESTWD_PORT=8001 \
               clean test
    

    Xcode版本要求

    现象:

    FastMonkey 2019/4的master分支无法正常被运行,具体为:
    1.可以启动被测应用
    2.无法执行monkey

    异常原因:

    10.2中XCAXClient_iOS没有sharedClient这个方法

    解决办法:

    Xcode降级(10.1),经测试能正常使用,后续需要等待fastmonkey,或者WDA更新

    无法支持Xcode的版本,主要原因是Xcode10.2对系统安全进行优化,10.2中XCAXClient_iOS没有sharedClient这个方法,运行fastmonkey的现象为:

    carthage版本问题

    fastmonkey使用carthage进行依赖管理,其中fastmoney工程文件中的Cartfile记录了依赖信息,建议2019/4月的版本使用该版本号

    github "httpswift/swifter" == 1.4.3
    github "SwiftyJSON/SwiftyJSON" == 4.2.0
    github "cezheng/Fuzi" ~> 2.1.0
    github "tadija/AEXML" == 4.2.2
    github "CocoaLumberjack/CocoaLumberjack"
    github "Quick/Nimble"
    

    依赖和编译过程建议使用前当前的carthage版本2019/4/10的carthage版本为0.33.0
    编译完成后,fastmonkey的工程文件夹Carthage/Build/iOS含有如下framework

    AEXML.framework
    CocoaLumberjack.framework
    CocoaLumberjackSwift.framework
    Fuzi.framework
    Nimble.framework
    Swifter.framework
    SwiftyJSON.framework
    

    相关文章

      网友评论

          本文标题:iOS_Monkey测试

          本文链接:https://www.haomeiwen.com/subject/idouwqtx.html