大纲:
1. 生成模拟器可自动化包
2. 生成真机可自动化包
前提须知:
首先 Appium 支持 iPhone 真机,以下4个条件必须满足:
1. 苹果开发者账号和开发者证书
2. 苹果设备,确保这个设备已经被配置为开发机器。怎么配置?
3. 签名过的 .ipa 文件(编译出来的.app文件)或者源代码
4. Provisioning Profile
课前准备:
iphone-命令行编译之–xcodebuild
1.查看xcode的版本号和build版本:xcodebuild -version
2.显示当前系统的sdk、及其版本:xcodebuild -showsdks
3.显示工程项目信息:xcodebuild -list
4.用ios模拟器(iphonesimulator)建立工程:xcodebuild -sdk iphonesimulator
5.默认是Release工程,要设置成Debug模式如下:xcodebuild -sdk iphonesimulator -configuration Debug
主要内容:
先来说说生成模拟器可自动化包,这个比较简单不需要签名和证书就可以
一:生成模拟器可自动化包
1.清理工程
xcodebuild -sdk iphonesimulator -target targetName clean
例如:
xcodebuild -sdk iphonesimulator -target Moxian_Beta clean
2.编译工程
xcodebuild -sdk iphonesimulator -target targetName
例如:
xcodebuild -sdk iphonesimulator -target Moxian_Beta
3.打包
xcrun -sdk iphonesimulator -sdk iphoneos PackageApplication -v path/To/xxx.app -o xxx.ipa
例如:
xcrun -sdk iphonesimulator -sdk iphoneos Moxian_Beta -v ../xxx.app -o Moxian_Beta.ipa
如果是含签名的包,上面两个命令需要增加一些参数:
xcodebuild -target targetName CODE_SIGN_IDENTITY=”iPhone Distribution:XXXXXX”
xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 –sign “iPhone Distribution:XXXXXX”
如下是个人本地生成可模拟器自动化包shell脚步:
echo "进入iOS代码本地目录"
cd /Users/jenkins/Desktop/Timen/ios_code/majikwealth/Moxian
echo "更新iOS代码"
git pull
# ******** 以下是更换Beta环境下app包 **********
echo "编译生成Beta下app文件"
# xcodebuild -sdk iphonesimulator -configuration Bebug -target Moxian_Beta
xcodebuild -sdk iphonesimulator -target Moxian_Beta
# ******** 以下是更换Live环境下app包 **********
echo "编译生成Live下app文件"
# xcodebuild -sdk iphonesimulator -configuration Bebug
xcodebuild -sdk iphonesimulator
这个shell脚步提前git init到ios_code目录下,git clone http://账号:密码@git地址
xcodebuild会编译生成二进制.app的包,在/Users/jenkins/Desktop/Timen/ios_code/majikwealth/Moxian目录下会生成build的目录,里面就有二进制.app的包,进入.app目录下,执行code sign -vv -d 包名,可查看这个包的签名,会返回:
**.app: code object is not signed at all
这个.app的文件就可供模拟器进行自动化,appium设置App Path路径执行这个二进制.app包,就可以模拟器自动化测试了。
二:生成真机可自动化包
对于真机可自动化包就不像模拟器那么简简单单,生成包很简单,但是有了证书和签名,真机也很简单。
真机打包脚步如下:
echo "进入iOS代码本地目录"
cd /Users/jenkins/Desktop/Timen/ios_code/majikwealth/Moxian
echo "更新iOS代码"
git pull
# ******** 以下是更换Beta环境下app包 **********
echo "编译生成Beta下app文件"
xcodebuild -target Moxian_Beta CODE_SIGN_IDENTITY="iPhone Developer"
# ******** 以下是更换Live环境下app包 **********
echo "编译生成Live下app文件"
xcodebuild -target Moxian CODE_SIGN_IDENTITY="iPhone Developer"
和模拟器脚步一样,指数把-sdk iphonesimulator去掉了,但是这个脚步需要执行在提交AppStore打包的MAC上或者本地Xcode的Apple ID和开发者一样,也就是说需要有开发者账号。
参考文献:
1. iOS Provisioning Profile(Certificate)与Code Signing详解
2. IOS行货自动打包
本人利用Bootstrap + EasyUI + Django开发网站:http://www.xuyangting.com/ 欢迎来访
欢迎加QQ群 -> 阳台测试 -> 239547991(群号)