如何配置Travis为OSX运行我的UI XCTest案例?Travis测试失败,因为在OSX上,Xcode Helper需要获得对测试实例使用辅助功能的权限.有没有办法配置Travis实例授予Xcode Helper在运行xcodebuild之前使用Accessibility的权限?
我正在使用OSX 10.11.1的最新Xcode 7.2 Travis配置,并且我使用xcodebuild作为Travis脚本运行我的测试,因为xctool还不支持运行UI测试.如果您尝试使用xctool,则会收到测试包不包含可执行文件的错误.
我相信其他人已经在Travis for iOS上运行UI测试,因为它们在模拟器中运行,并且不需要Xcode Helper具有Accessibility权限.
这是我的.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
Dan Wexler.. 13
我找到了解决这个问题的秘诀.在install:部分中将以下咒语添加到.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);"
这会向访问数据库添加一个用于确定辅助功能权限的条目.BA-BAM!
我找到了解决这个问题的秘诀.在install:部分中将以下咒语添加到.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);"
这会向访问数据库添加一个用于确定辅助功能权限的条目.BA-BAM!