Test already installed iOS app on real device

Hello everyone,

I’m relatively new with testing on iOS apps with Appium and read and watch a lot of tutorials but one thing is not clear for me.
For my work I use Robot Framework to perform regression tests on a webversion catalog website. Now the developer has created a seperate iOS app what is already installed on a iPad (so I don’t have sourcecode). For the iOS app I also want to automate different scenarios. All the online tutorials explains how to built your own developed app on the iOS device with Xcode and how to test the app. But I would like to test an app what is already installed on the device. Is this possible and how do I connect with the app via capabilities(“app”: “/path/to/my.app” )?
Can anyone help me with this and point me in to the right direction. Thank in advance.

Just don’t include the ‘app:’ capability. You’ll probably want to ‘launch-app’ before running a test:

https://appium.io/docs/en/commands/device/app/launch-app/

Example here:

https://stackoverflow.com/questions/39608711/how-to-launch-already-installed-app-from-iphone-using-appium

Ok, thanks I’m going to try this weekend.

Hi all,

Somehow ‘launch-app’ wasn’t working for me but got this setup working to launch the app.

public class Test01 {

    @Test
    public void Startup() throws MalformedURLException {
    
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("platformName", "iOS");
    capabilities.setCapability("platformVersion", "15.2.1");
    capabilities.setCapability("deviceName", "iPhone 13");
    capabilities.setCapability("udid", “<UDID OF MY PHONE>“);
    capabilities.setCapability("bundleId", “com.example.domain.app");
    capabilities.setCapability("xcodeOrgId", “<MY TEAMID>”);
    capabilities.setCapability("xcodeSigningId", "iPhone Developer");
    
    URL url = new URL("http://127.0.0.1:4723/wd/hub");
   AppiumDriver driver = new AppiumDriver(url, capabilities);

}