3

描述

我们appium在运行 Mavericks 的 Apple MacMini 上的TeamCity 8cucumber套件中使用。问题是appium在登录时(通过Automator)从TeamCity运行时似乎无法与iOS模拟器交互。

我发现唯一可行的组合是Terminal在交互式会话中运行以下命令:

sh /Applications/buildagent/bin/agent.sh start

什么不起作用?

  • agent.sh startssh会话运行
  • 使用 Automator 创建一个在登录时启动的 shell 脚本(macmini 设置为自动登录)

理论

我的理论是它与Preferences -> Security & Privacy -> Accessibility. 从终端启动时它起作用的唯一方法是将终端添加到此允许的应用程序列表中。我不确定我需要添加什么到此列表中才能使其在登录时自动工作。

任何帮助将不胜感激。

4

2 回答 2

1

如果没有交互式会话,许多 iOS 测试将无法运行。例如,使用 iOS 模拟器的单元测试将不起作用。

编辑:通过交互式会话,我的意思是必须从桌面启动 TeamCity 代理,而不是通过 SSH 会话。否则什么都不能与模拟器通信。

于 2014-07-07T16:37:15.560 回答
0

你是对的,你需要允许 Appium 与 A​​utomator 交互。

直接来自文档的解决方案:

  • 如果你从 NPM 安装运行 Appium:sudo authorize_ios

  • 如果您从源代码运行 Appium:sudo grunt authorize

  • 如果您正在运行 Appium.app,您可以通过 GUI 授权 iOS。第一次在 GUI 上单击“启动/运行”时会弹出此提示并尝试打开模拟器

于 2014-07-07T18:45:27.337 回答