2

First, I know there is already a similar question asked (How do I automate an app that is not mine using appium on an ios device), but it's been a while and I am hoping to find out if there is any new information or technology to achieve it.

So, the goal is to automate iOS apps that I do not own (e.g. GoogleMaps) using Appium on real iOS devices. So far the closest way I can achieve that is by using a tool like iMazing to download an app installed from App Store into an IPA file, and then have Appium to automate it using the "App" capability. But this only works if the AppleId in the IPA file's itunesmetadata.plist matches the device used for the test. So if I were to run the automation on a different device I have to unzip the IPA file, modify the AppleId to match the device, and then archive it back.

QUESTIONS

  1. I'm trying to find a way for not having to do this, a way to extract/download an app I don't own and produces an app file that Appium can just automate.
  2. Or, even a wholly different (and better) way to achieve my goal - to automate iOS apps that I do not own (e.g. GoogleMaps) using Appium on real iOS devices.
Wasiq Bhamla
  • 949
  • 1
  • 7
  • 12
Mark.H
  • 51
  • 5
  • Possible duplicate of [How to use Appium to automate a 3rd party ios app on real device](https://stackoverflow.com/questions/53090109/how-to-use-appium-to-automate-a-3rd-party-ios-app-on-real-device) – Surilan Apr 04 '19 at 22:44

2 Answers2

0

Sorry, its still not possible.

You can interact with apps, you don't own in very limited way (if it is running on simulator, than only with pre-installed apps + yours, installed from XCode).

In case of real device - as you said - you can install it via IPA file and try to automate it after this by modifying the plist. This could be (in theory) done by some script, that you would provide the package, it would disassemble it, change the line in plist file and assemble it back together for all devices, you need. There is no other way to do this (afaik). That should answer your 1/.

As to the point 2/. Why would you want to automate testing for apps, you don't own? Yes, you may have webview or Google Maps plugin, you want to test, but you can test that without installing the full app.

Václav
  • 990
  • 1
  • 12
  • 28
0

In order to run app which is already installed on the device and is not owned by you, you can use bundleId capability with bundle id of the app to automate.

You can learn more about how to get the bundleId for an installed app, here.

Wasiq Bhamla
  • 949
  • 1
  • 7
  • 12