【问题标题】:How do I automate iOS apps that I don't own on real iOS devices using Appium如何使用 Appium 在真实 iOS 设备上自动化我不拥有的 iOS 应用程序
【发布时间】:2019-04-19 02:33:52
【问题描述】:

首先,我知道已经有人问过类似的问题 (How do I automate an app that is not mine using appium on an ios device),但已经有一段时间了,我希望知道是否有任何新的信息或技术可以实现它。

因此,目标是在真正的iOS 设备上使用Appium 自动化我不拥有的iOS 应用程序(例如GoogleMaps)。到目前为止,我可以实现的最接近的方法是使用 iMazing 之类的工具将从 App Store 安装的应用程序下载到 IPA 文件中,然后让 Appium 使用“应用程序”功能自动化它。但这只有在IPA 文件的itunesmetadata.plist 中的AppleId 与用于测试的设备匹配时才有效。因此,如果我要在不同的设备上运行自动化,我必须解压缩 IPA 文件,修改 AppleId 以匹配设备,然后将其存档。

问题

  1. 我正在尝试找到一种不必这样做的方法,一种提取/下载我不拥有的应用程序并生成 Appium 可以自动执行的应用程序文件的方法。
  2. 或者,甚至是一种完全不同(更好)的方式来实现我的目标 - 在真正的 iOS 设备上使用 Appium 自动化我不拥有的 iOS 应用程序(例如 GoogleMaps)。

【问题讨论】:

标签: appium appium-ios


【解决方案1】:

对不起,这仍然是不可能的。

您可以以非常有限的方式与您不拥有的应用程序进行交互(如果它在模拟器上运行,而不是仅使用预安装的应用程序+您的应用程序,从 XCode 安装)。

如果是真实设备 - 正如您所说 - 您可以通过 IPA 文件安装它,然后尝试通过修改 plist 使其自动化。这可以(理论上)由一些脚本完成,您将提供包,它将对其进行反汇编,更改plist 文件中的行并将其重新组装到您需要的所有设备上。 没有其他方法可以做到这一点(afaik)。那应该回答你的1/

至于2/。为什么要对不属于您的应用程序进行自动化测试?是的,你可能有 webviewGoogle Maps 插件,你想测试,但你可以在不安装完整应用程序的情况下测试它。

【讨论】:

    【解决方案2】:

    为了运行已安装在设备上但不属于您的应用程序,您可以使用 bundleId 功能和应用程序的捆绑 id 来自动化。

    您可以详细了解如何获取已安装应用的bundleIdhere

    【讨论】:

      猜你喜欢
      • 2019-04-05
      • 2015-12-14
      • 2015-06-10
      • 2013-11-04
      • 2014-05-30
      • 2016-02-04
      • 2015-10-14
      • 2021-10-27
      • 2014-06-02
      相关资源
      最近更新 更多