along with .ipa file A valid iOS Development Distribution Certificate
and Provisioning Profile are necessary to test on real device for all the three
gmail/facebook/twitter then only u can automate
to my knowledge you can not do that. As sendlink mentioned you need a Certificate and a Profile which you basically get from the Developer of the app, e.g. Facebook, Google. If you work at those companies you may get those files otherwise …
Enterprise apps (they are signed with distribution certs)
App Store apps (they are signed with distribution certs)
Apps sent over AirWatch (they are signed with distribution certs)
This is because the .ipa file needs to be signed with a DEVELOPMENT provisioning profile/cert not a distribution provisioning profile/cert for Apple’s Instruments (the thing that tells iOS what to tap) to automate your app.
.ipa files that you have downloaded from the app store cannot be automated because they would need to be resigned with a valid Development provisioning profile/cert (something that is tied to your appleId and authenticated against Facebook, etc’s developer accounts.).
If you have an internal app that is an Enterprise App, you can resign it and then install it to the device to be automated. The point is you need access to the development certificate and profile to resign it.
@sendlink To be clear: It is .ipas with a “Development” provisioning profile that can be automated – NOT a “Development Distribution” profile.
So, Appium supports executing scripts only on Developer provisioned app, anyone knows if there is a way we can use the app built using distribution profile?
How do cloud providers run Appium scripts if developer profile is required? TestDroid page suggests to sign the app with Ad Hoc profile before submitting to them although they resign it - so if what is mentioned in this post is correct, are they resigning with their own company development profile? Then why do they even suggest posting an app signed with Ad Hoc profile to them in the first place?
If developer profile is the only way, how to test things like location services against real devices using developer profile? In simulator you have .gpx or .kml file but for automation, we need real device testing - how to test location then?
I also got problem simulating my .ipa file using appium even it is development provisioning profile. Are there any specific desired capabilities need to be followed?
This is what i’m getting after launching it:
SONWP Proxy] Got response with status 200: {“value”:“Failed to launch nz.co.telecom.TNZSmartphone.beta.dev application”,“sessionId”:“F07E0D7E-969F-4CC1-BBB1-C19ABA2AEBDF”,“status”:13}
[XCUITest] Failed to create WDA session. Retrying…
[BaseDriver] Event ‘wdaSessionAttempted’ logged at 1496360482667 (11:41:22 GMT+1200 (NZST))
[XCUITest] Sending createSession command to WDA
[JSONWP Proxy] Proxying [POST /session] to [POST http://localhost:8100/session] with body: {“desiredCapabilities”:{“bundleId”:“nz.co.telecom.TNZSmartphone.beta.dev”,“arguments”:[],“environment”:{},“shouldWaitForQuiescence”:true,“shouldUseTestManagerForVisibilityDetection”:false,“maxTypingFrequency”:60,“shouldUseSingletonTestManager”:true}}
You are correct in that you need your own Apple developer account and an appropriately configured provisioning profile for testing. This is needed for building your iOS app and WDA… Apple makes automating and sideloading apps a rather tedious process in comparison to Android and all of the extra steps must be completed for anything to work. This tutorial from the Appium crew should get you where you need to go.