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

标签 xcode macos travis-ci xctest xcode-ui-testing

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

我在 OSX 10.11.1 中使用最新的 Xcode 7.2 Travis 配置,并且我正在使用 xcodebuild 作为 Travis 脚本运行我的测试,因为 xctool does not yet support running UI tests .如果您尝试使用 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

最佳答案

我找到了解决这个问题的秘诀。将以下咒语添加到 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);"

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

关于使用 Xcode Helper Accessibility 在 Travis for OSX 上进行 Xcode UI 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34231587/

相关文章:

ios - 点击 XIB 文件内的 UIButton 时如何执行 segue

objective-c - Mac OS X 用户界面 : How to create plus & minus buttons?

iphone - iphone 4的后台应用

objective-c - 更改属性值时使用 Core Data 时出现 EXC_BAD_ACCESS 错误

php - brew install php55-intl 失败,无法安装 Composer

python - 如何在 Mac OS X 上将 py 扩展与 python 启动器相关联?

angular - Dockerized Angular E2E 测试在本地机器上通过,但在 Travis CI 中超时

gradle - 如何在travis-ci中触发发布?

github - 如何在 GitHub 中连接 Coveralls 和 Travis?

ios - "Double-Length pseudolanguage"Xcode 8+ 中的选项?