Test Automation on iOS Apps using Java Maven
Sample iOS App Test Automation
Test Automation on iOS Apps using Java Maven

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:
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 :
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 :
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
.ipafile. - For Simulator, download
.zipfile, extract it, and you’ll find.appfile 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 :
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) :
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 :
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