「React Native」UI自动化环境搭建(IOS)
2021-02-20 本文已影响0人
七月流火_9405
一、环境搭建
1.安装xcode
2.安装HomeBrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
3.安装 applesimutils
brew tap wix/brew
brew install applesimutils
4.全局安装detox-cli
npm install -g detox-cli
5.局部安装detox
npm install detox --save-dev
6.局部安装jest、jest-cli和jest-circus
npm install jest jest-cli jest-circus --save-dev
7.将Detox初始化为使用Jest
detox init -r jest
8.修改配置
1)删除自动创建的.detoxrc.json 文件
2)配置 package.json 文件,添加 下边代码
"detox": {
"test-runner": "jest",
"configurations": {
"ios.sim.debug": {
"binaryPath": "./ios/build/Build/Products/Release-iphonesimulator/testReactNativeDetox.app",
"build": "xcodebuild -workspace ios/testReactNativeDetox.xcworkspace -configuration release -scheme testReactNativeDetox -sdk iphonesimulator -derivedDataPath ios/build EXCLUDED_ARCHS=arm64 DETOX=1",
"type": "ios.simulator",
"name": "iPhone 11"
}
}
}
其中binaryPath: 是APP运行的路径,如果没有build,先run一个app,就会生成build,把项目名称修改成自己的工程即可
build: build项目的时候用的命令,特别注意-sdk后面跟的支持的设备,最好在终端通过
xcodebuild -showsdks
查看当前支持的设备,我本地最终设置为-sdk iphonesimulator14.4。需要排除arm64,在detox build时,一直提示某个库在arm64上不存,排除即可。
name:是选择的模拟器,需要通过
applesimutils --list
查看当前支持的ios设备,然后填入。
9.修改run的scheme

10.运行测试
detox build
11.执行测试用例
detox test
二、采坑
1.直接根据官网安装,detox build,一直报错,提示在arm 64上,找不到GMObjC。
2.在Debug-iphonesimulator找不到GMObjC
3.未安装jest-circus
4.未修改build的scheme
5.写的iPhone 8 Plus不在支持的设备里
6.需要修改之前支持的最低版本,我默认是8.0,改成高版本之后,即可
三、效果
1.detox build结果

2.detox test结果
