真机使用的 Capability
与模拟器不同,真机测试需要如下的 Capability
方式一:设置 App 路径,启动 App(自动安装 App)
{
"app": "/Users/seveniruby/Library/Developer/Xcode/DerivedData/UICatalogftyzdbgapjmxxobezrnrxsshpdqh/Build/Products/Debug-iphoneos/UICatalog.app",
"automationName": "XCUITest",
"platformName": "ios",
"xcodeOrgId": "xxxxxx",
"xcodeSigningId": "iPhone Developer",
"udid": "9df22446af15919c494c85b4c1c8b00eaa3a5bd0"
}
复制代码
方式二:根据 App 包名启动 App
{
"platformName": "ios",
"bundleId": "com.example.apple-samplecode.UICatalog",
"automationName": "XCUITest",
"deviceName": "iPhone",
"udid": "auto",
"xcodeOrgId": "xxxxx",
"xcodeSigningId": "iPhone Developer"
}
复制代码
app : Xcode 选择真机编译后的 app 位置
bundled:每个 App 的标识,相当于 Android App 的 appPackage
xcodeOrgId:Team ID,获取方法详见https://ceshiren.com/t/tipic/11539
udid:auto 会根据 deviceName 返回的参数自动获取 udid
注意:编译成功后需要在手机里信任证书
使用 Appium Desktop 验证环境
以上步骤完成后,出现下图表示真机环境配置成功
常见问题
问题一
Failed to register bundle identifier
原因:bundle identifier 有重复
解决方法:修改为唯一的即可
问题二
执行 instruments -s devices 命令报错: Hogwarts $ instruments -s devices xcode-select: error: tool 'instruments' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
问题三
运行脚本过程中,手动停止脚本时,偶尔会报错 Showing All Messages WebDriverAgentRunnerRunner.app (3413) encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted. (Underlying error: The test runner exited with code 74 before checking in.))
问题四
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description
error: No signing certificate "iOS Development" found: No "iOS Development"
signing certificate matching team ID "L62JHCGMQW" with a private key was found.
(in target 'WebDriverAgentLib' from project 'WebDriverAgent')
error: No profiles for 'com.facebook.WebDriverAgentRunner.xctrunner' were found:
Xcode couldn't find any iOS App Development provisioning profiles matching
'com.facebook.WebDriverAgentRunner.xctrunner'. Automatic signing is disabled and
unable to generate a profile. To enable automatic signing, pass -
allowProvisioningUpdates to xcodebuild. (in target 'WebDriverAgentRunner' from
project 'WebDriverAgent')
复制代码
问题五
Assertions: System: Early unexpected exit, operation never finished
bootstrapping - no restart will be
attempted. (Underlying Error: The test runner exited with code 74 before
checking in. If you believe this
error represents a bug, please attach the result bundle at
/Users/dzkair/Library/Developer/Xcode/DerivedData/WebDriverAgentalwvnomvwrdtzoaxbbkniqrpcdpp/Logs/Test/TestWebDriverAgentRunner-2020.11.26_10-47-38-+0800.xcresult)
复制代码
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核
评论