【问题标题】:Using Instruments to launch automation tests via SSH使用 Instruments 通过 SSH 启动自动化测试
【发布时间】:2015-03-30 00:55:28
【问题描述】:

我目前正在尝试从 CI 服务器运行 iOS 移动功能测试。让您知道我正在使用 Calabash 框架,但我的问题与 Instruments 相关:Instruments does not launch the requested device.

当我直接从服务器上的终端使用 Instruments 时,一切正常(例如Instruments -w "iPhone 5s (8.1 Simulator)")。我收到以下消息:

正在等待设备启动... 仪器使用错误:未指定模板 (-t) 仪器,版本 6.1 (56160) 用法:仪器 [-t 模板] [-D 文档] [-l timeLimit] [-i #] [-w > 设备] [[-p pid] | [应用[-e变量值] [参数...]]]*

但是,当我从 SSH 连接启动相同的命令时,它会忽略请求的设备并启动之前使用的设备。而这一次它停留在 Waiting for device to boot...

有没有人可以解释这种行为?为什么它可以通过本地会话而不是远程 ssh 连接工作,以及如何修复它?

我在 OS X Yosemite 上有 6.1 版的 Instruments。

谢谢。

【问题讨论】:

  • 我仍然没有找到我的问题的答案...更糟糕的是,无论我在哪里搜索,我都没有发现有人抱怨同样的问题。有人可以尝试复制吗?也许我在我的服务器上做错了什么。

标签: ios xcode ssh automation instruments


【解决方案1】:

遇到同样的事情。如果您使用 Jenkins 作为 CI 服务器,则使用 JNLP Web Start 而不是 SSH 连接您的从属设备将允许仪器按预期工作。不是所有配置的理想解决方案,但可以解决问题。

【讨论】:

    【解决方案2】:

    好问题,我知道如果正在运行的进程被视为后台或系统任务,它将无法启动仪器并运行测试,因为它需要用户级运行时状态。我在尝试从 cron 作业启动仪器时发现了这一点。当你 ssh 你的 shell 线程可能被认为是系统级的。我唯一的建议是将您的命令放在 shell 脚本中,并以某种方式在用户级线程上调用该脚本。不幸的是,我不是 unix 专家,无法为您提供具体操作方法,希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 2018-04-29
      • 1970-01-01
      • 2015-05-14
      • 2016-12-15
      相关资源
      最近更新 更多