IOS测试-Fastmonkey

 

目录:git

1、背景github

2、Fastmonkey介绍swift

3、Fastmonkey操做前准备xcode

4、Fastmonkey工程配置过程网络

5、执行Monkey测试app

6、FAQ工具

 

Fastmonkey实践

 


1、背景:

       因众所周知的缘由随着Xcode从7.x升级到8.x或9.x,咱们没法再使用Instrument的uiautomation脚本对iOS应用进行Monkey测试,因此咱们一直期待行业测试与开发大牛产出新的Monkey开源工具,在这期间咱们也使用过了一些技术大神开发的基于appium或者基于macaca的开源Monkey测试工具可是都有这样或者那样的问题好比:配置过于复制,上手慢,执行速度达不到要求、有的还须要进行App源码插庄等问题,直到Faskmonkey的出现它集成了众家之长,已经基本能知足咱们平常的iOS应用压力测试了。post

2、Fastmonkey介绍:

Fastmonkey是zhangzhao大神最近开源的一款iOS应用Monkey测试工具,基于 XCTestWD,swiftmonkey 二次开发,实现无需插桩的 iOS monkey 自动化工具 fastmonkey,优势以下:测试

1.无需插桩!2.高效率,每秒4-5个action!4.轻量极简!详细介绍请参考TesterHome连接 :ui

Faskmonkey测试工具介绍

项目开源地址:

Xcode9.x(https://github.com/zhangzhao4444/Fastmonkey 

Xcode8.3.x(https://github.com/zhangzhao4444/Fastmonkey/tree/xcode8.3 

3、Fastmonkey操做前准备:

注意:本文所述操做步骤都是基于Xcode8.x或者Xcode9.x的版本, 注意针对不的Xcode版本下载不一样项目工程的、操做前准备:

1)Xcode8.3.x /Xcode9.x软件;

2)iOS 第三方库管理工具-Carthage;

3)iOS开发者证书文件;

4)Fastmonkey工程代码从github上下载;

详细说明:

1)Xcode8.3/Xcode9.x是用于导入Faskmonkey工程及运行monkey测试;

2)Carthage是iOS用于下载工程所依赖第三方库的;若是没有安装请使用下面命令进行安装:

brew install  carthage

3)iOS开发者证书用于工程中的构建及签名,证书能够是团队的开发者证书也能够是免费的我的开发者证书,如何申请我的开发者证书请你们参考其余文档此处再也不敖述。

4)工程代码直接从https://github.com/zhangzhao4444/Fastmonkey下载

 

4、Fastmonkey工程配置过程

配置是通过咱们验证过了,不过由于每个人的手机与Xcode版本问题可能会一些差别,你们也能够参考TesterHome上的fastmonkey 自我扫盲贴

Fastmonkey的扫盲帖子 

1.解压下载后的Fastmonkey-xxx.zip的文件,打开终端进入解压后的子目录XCTestWD-master

 
进入解压后的子目录XCTestWD-master

2.执行下列步骤下载工程所依赖的包 :

1)修改目录中的Cartfile文件,将github "SwiftyJSON/SwiftyJSON" 改成github "SwiftyJSON/SwiftyJSON"  ==  3.1.4   修改github "tadija/AEXML"为github "tadija/AEXML" == 4.1.0以下图:

 

 
修改目录中的Cartfile文件

2)下载工程所依赖的包

$  carthage update

PS:若是此步骤出现错误请参考后面的FAQ

 
下载工程所依赖的包,可能须要一些时间具体要依赖于您的网络速度,请耐心等待完成

 

3.配置XCTestWD项目工程:

双击子目录XCTestWD中的XCTestWD.xcodeproj文件打开项目工程

 

 
 

 

1)修改Product ID,团队开发者证书须要修改,我的免费开发者证书可跳过此步骤

a. 修改XCTestWD所须要的产品ID如com.xxxx.XCTestWD.XCTestWD

 

 
xxx为证书所定义的产品ID前缀通常是公司或者企业的域名

 

b.修改XCTestWDUITests所须要的产品ID如com.xxx.XCTestWD.XCTestWD

 

 
xxx为证书所定义的产品ID前缀通常是公司或者企业的域名

 

2)修改签名帐号(我的开发Team与团队证书设置是不同的):

a1.团队开发者证书以下图:

 
a1.修改XCTestWD Code Signing为相应的帐号
 
a1.修改XCTestWD Code Signing为相应的Team帐号

 

a2.同a1过程修改XCTestWDUITests的Code Signing帐号

 

b.我的开发者证书以下图:

b1.修改XCTestWDUITests的Code Signing帐号

 
 

b2.同b1修改XCTestWD的Code Signing帐号

 

3)添加XCTestWDMonkey.swfit到Server目录

 

 
右键点击server目录,然选择"Add Files to "XCTestWD"

 

 
选择【XCTestWDMonkey.swift】文件添加到Server

 

4)清空XCTestWD的Objective-C Bridging Header选项中的值

 
清空Objective-C Bridging Header选项中的值
 
清空Objective-C Bridging Header选项

4.修改XCTestWD项目工程代码中的配置值:

1)修改运行模式,将XCTestWDRunner.swift文件中的serverMode设置为false以下图

 
修改此项为false后,这样Monkey就能够直接从Xcode中运行,不须要再使用额外的命令了

2)修改XCTestWDMonkey.swift文件中的bundleID为被测App的值的以下图:

 
改成本身App的实际BundleID,如何查找被测App的BundleID请百度一下这里再也不敖述

2)修改Monkey.swift文件中的elapsedTime值肯定你须要运行多长时间的Monkey,注意单位是秒,以下图:

 

 
修改Monkey执行时长

5、执行Monkey测试

1)选择要执行的手机与Target注意App事先安装到被测试手机上,手机已经插入Mac电脑USB接口

 
从下拉列表中选择XCTestWDUITests与手机

2)开始执行Monkey

 

 
选择【Product】--【Test】执行Monkey测试

6、FAQ:

1. 若是carthage update的时候若是报这个错xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH须要在Xcode中 Preferences > Locations里设置Command Line Tools为本身使用版本的Xcode --谢谢光晕_9c54的提醒

2.若是是Xcode9.x可能会出现XCTestWDApplication.h file not found错误以下图,请按照下面方法解决:

 

 
XCTestWDApplication.h file not found错误

添加XCTestWDApplication.h与XCTestWDApplication.m文件到PrivateHeaders目录,以下图

 

 
选中PrivateHeaders而后点击右键在弹出的界面中选择【Add Files to "XCTestWD"...】项目
 
选择XCTestWDApplication.h与XCTestWDApplication.m而后点击Add
 
XCTestWDApplication.h与XCTestWDApplication.m被添加到了PrivateHeaders中

2.第一次执行时可能会报错,由于须要在手机上信任你的我的证书或者团队证书,第二次执行就不会了。通常位于手机【设置】--【通用】--【描述文件】中

3.每次运行完成后,在Xcode的Debug Ouput框中会输出相应的日志与截图保存位置,每次运行完成后日志会报错,这个错误是因为Fastmonkey的Bug,参加下面Issue连接,主要缘由是当执行时长一到时,Monkey测试自行中止,这个中止是强退的,但Xctest没有正常退出形成的,目前尚未找到好的解决方法。

https://github.com/zhangzhao4444/Fastmonkey/issues/12

相关文章
相关标签/搜索