← Back to list

Test Automation on iOS Apps using Java Maven

Sample iOS App Test Automation

Ahmad Azeri Chandra Bhuana · 2025-01-31 02:39 · 0 claps · 4.5 min read
#ios #java #maven #appium #ios-test-automation
Open on Medium ↗

Test Automation on iOS Apps using Java Maven

Image Credit to Karolina Grabowska

Image Credit to Karolina Grabowska

Alright, now’s the time to try Test Automation on iOS Apps using Java (Maven), as part of the continuity from my previous articles.

Here is my GitHub Repository for it : https://github.com/ahmadazerichandrabhuana/javamavenios

Grab it, download it or clone it, as usual, it’s free 😄

And make sure if below requirements are already fulfilled or not on your Local Machine to try it.

Disclaimer : I can only try this on MacOS machine, since it needs XCode. Not sure if it can be done on Windows or Linux. Seems to be too complicated to simulate it on non-MacOS environment.

Requirements

Requirement 1 : Install Java, setup JAVA_HOME, and setup MAVEN_HOME

For setting up JAVA_HOME manually, you can refer to my article here:

[embed]Setting up JAVA_HOME Guideline for Windows, MacOS, and Ubuntumedium.com

For setting up MAVEN_HOME manually, you can refer to my article here:

[embed]Install Maven by setting up MAVEN_HOME Guideline for Windows, MacOS, and Ubuntumedium.com

But, I’ll personally suggest to use SDKMAN! since it would be much easier for handling anything Java-related using this single tool. Check the reference for SDKMAN! on my article here:

[embed]Manage Java Version using SDKMAN! (including Maven, Gradle, Scala, Kotlin… and many more!) Tools to Make Life Easiermedium.com

Requirement 2 : IDE or Code Editor

Install any IDE or Code Editor you’re most comfort with. For IDE, I’ll suggest to use IntelliJ IDEA since this is a Java-based project. If you prefer to use Code Editor, I’ll suggest to use VS Code.

Requirement 3 : Install Appium and all of its dependencies

I already create one specific article of guideline for installing Appium, please check it out :

[embed]Appium and Appium Inspector — Let’s Inspect Element on Android Apps! A Guideline for Installing Appium and Appium Inspectormedium.com

And you’ll also need to make sure that Appium & Appium Inspector works on your iPhone Device or iPhone Simulator. Please check this article for reference :

[embed]Inspecting iOS Apps Element with Appium & Appium Inspector Continuation from Inspecting Element on Android Appsmedium.com

Requirement 4: Install Allure Report

Check Allure Report’s Official Website. There are already instructions for Windows, MacOS, and Linux.

Verify if the Allure Report is installed correctly by run this command :

allure --version

Requirement 5 : Install Demo Apps

Download this Demo Apps (credit to Wim Selles) :

  • For Real Device, use the .ipa file.
  • For Simulator, download .zip file, extract it, and you’ll find .app file which can be drag & dropped into Simulator.

Try to open the apps first inside your Device or Simulator, just to make sure that the Apps can be opened normally (the loading title is somehow takes a bit long time, though).

Note : Not all iPhone Device / iPhone simulator able to install .ipa file or .app file. You might need to do self-search related how to install .ipa file or .app file into desired devices / simulator.

Device Connection

Connect your iOS Real Device into your Local Machine or turn on your iOS Simulator. Open your Xcode and check the identifier / udid of your Device / Simulator. You can refer to my article below for reference :

[embed]Getting udid of Android Real Device, Android Emulator, iOS Real Device, and iOS Simulator A Quick Guidelinemedium.com

Put the identifier/udid into the first line of file config.yaml. For example :

Well, yeah, you can see the purple box I put there😄

Run Test

On your IDE / Code Editor’s terminal, run the test using command :

mvn clean test -DtestSuites=testsuites/test.xml

It will execute all of the test cases mentioned on test.xml file inside folder testsuites. You can comment line 6/7/8 to exclude any test cases from being executed.

For this iOS Test Automation, the initial time for the execution might take a while. It takes some time to start the WebDriverAgent, and the Apps opening screen is also a little slow. So please be patient. When the test is executed, you’ll see the Apps inside your Device or Simulator will be moved automatically. And when the test execution is finished, you will see the result on the terminal.

and you’ll notice there is a new folder allure-results created as well.

Open Report File

I use Allure Report as per mentioned on the section Requirements above. So, to open the Report File, run these command :

allure serve

or this command also OK :

allure generate --clean && allure open

It will automatically open Allure Report on your default browser :

And that’s it. Pretty easy, isn’t it? But, yes, need to be more patient compared with the one on Android 😄

Now, as usual, here are my other articles related with Test Automation on iOS Apps using different frameworks. This one is using Robot Framework :

[embed]Test Automation on iOS App using Robot Framework Sample iOS App Test Automationmedium.com

This one is using WebdriverIO (wdio) :

[embed]Test Automation on iOS Apps using WebdriverIO with Allure Report Sample iOS Apps Test Automationmedium.com

And, if you think Appium is too far complicated for being configured, you can try using Maestro by mobile.dev, here is my article about it :

[embed]Test Automation on Mobile Apps (Android & iOS) using Maestro by mobile.dev Sample Test Automation on Android & iOS Appsmedium.com

But unfortunately, specific for using Maestro by mobile.dev, currently it does not support for physical iOS Device. So, you might only be able to check it using Simulator if using this framework.

Anyway, thank you for reading this far, and see you on different article 👋


메타데이터
post_id
9afd091925bb
slug
test-automation-on-ios-apps-using-java-maven-9afd091925bb
url
https://medium.com/@zorozeri/test-automation-on-ios-apps-using-java-maven-9afd091925bb
canonical_url
https://medium.com/@zorozeri/test-automation-on-ios-apps-using-java-maven-9afd091925bb
author_url
https://medium.com/@zorozeri
status
ok
fetched_at
2026-07-21 03:40:02