如何使用Appium自动化在真正的iOS设备上不拥有的iOS应用程序

时间:2018-11-15 22:30:53

标签: appium appium-ios

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

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

问题

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

2 个答案:

答案 0 :(得分:0)

对不起,仍然无法实现。

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

如果是真实设备(如您所说),则可以通过IPA文件进行安装,然后尝试通过修改plist使其自动化。从理论上讲,这可以由某些脚本完成,您将提供软件包,将其反汇编,更改plist文件中的行,然后将其重新组合为所需的所有设备。 没有其他方法可以执行此操作(afaik)。那应该回答您的1/

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

答案 1 :(得分:0)

要运行设备上已安装但不属于您的应用,您可以使用bundleId功能和该应用的包ID来实现自动化。

您可以了解有关如何获取已安装应用herebundleId的更多信息。