使用Xcode Helper Accessibility在Travis for OSX上测试Xcode UI



如何配置Travis来为OSX运行UI XCTest案例?Travis测试失败,因为在OSX上,Xcode Helper需要对测试实例使用Accessibility的权限。在运行xcodebuild之前,是否有任何方法可以配置Travis实例以授予Xcode Helper使用辅助功能的权限?

我使用OSX 10.11.1的最新Xcode 7.2 Travis配置,并且我使用xcodebuild作为Travis脚本运行测试,因为xctool还不支持运行UI测试。如果您尝试使用xctool,您会得到一个错误,即测试捆绑包不包含可执行文件。

我相信其他人已经在Travis for iOS上运行了UI测试,因为它们是在模拟器中运行的,不需要Xcode Helper具有辅助功能权限。

这是我的.travis.yml文件(有点模糊):

osx_image: xcode7.2
language: objective-c
xcode_workspace: MyApp.xcworkspace
xcode_scheme: MyAppUITests
jdk:
  - oraclejdk8
install:
  - pod install
  - gem install xcpretty --no-rdoc --no-ri --no-document --quiet
  - xcodebuild -workspace MyApp.xcworkspace -scheme MyAppUITests -destination 'platform=OS X,arch=x86_64' clean build | xcpretty -c || true
script:
  - xcodebuild -workspace MyApp.xcworkspace -scheme MyAppUITests -destination 'platform=OS X,arch=x86_64' test

我找到了解决这个问题的秘密酱汁。在安装中向.travis.yml添加以下咒语:部分:

  - sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" "INSERT INTO access VALUES ('kTCCServiceAccessibility','com.apple.dt.Xcode-Helper',0,1,1,NULL,NULL);"

这将向用于确定辅助功能权限的访问数据库中添加一个条目。砰!

最新更新