Setting Up Appium for iOS Automation on macOS: Beginner’s Guide

Appium for iOS Simulator running Xcode project on macOS

Introduction

Appium for iOS simulator is essential for mobile test automation on macOS, but setting it up can feel overwhelming. Setting up Appium for iOS automation on macOS can feel a bit overwhelming – there are so many tools, environment variables, and hidden gotchas. But don’t worry – we’ve got you covered. 

Whether you’re a QA engineer, SDET, or just starting out with mobile test automation, this guide will walk you through everything you need to run Appium tests on an iOS simulator.

Steps with real examples and tips from the trenches. 

First, Check Your Shell for Appium for iOS Simulator Setup

Your shell controls how environment variables are loaded, and this matters when setting things up.

To find out which shell you’re using, run this in Terminal:

echo $SHELL

You’ll probably see either:

/bin/zsh (Zsh – the default on newer Macs)

/bin/bash (Bash – common on older versions)

Now, Open the Right Config File for Appium for iOS Simulator

Depending on your shell:

For Zsh (most common now):
nano ~/.zshrc

For Bash:
nano ~/.bash_profile

Add Java Path to Run Appium for iOS Simulator

Paste this into your file:

export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$PATH:$JAVA_HOME/bin

Then save and reload your shell config:

source ~/.zshrc  or ~/.bash_profile if you’re using Bash

Step-by-Step Setup

Install Homebrew for Appium for iOS Simulator Dependencies

Homebrew is the package manager that makes everything easier on macOS.

/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

Install Node.js and npm

Appium runs on Node.js, so let’s install that next:

brew install node

Check that it worked:

node -v

npm -v

Install Appium for iOS Simulator on macOS

Now that Node is ready, install Appium globally:

npm install -g appium

And confirm it’s installed:

appium -v

Use Appium Doctor to Verify Appium for iOS Simulator Setup

This handy tool checks if your system is Appium-ready:

npm install -g appium-doctor

appium-doctor

Follow the suggestions it gives you – this step saves a lot of future headaches.

Configure Xcode for Appium for iOS Simulator

Install Xcode: Grab the latest version from the Mac App Store and launch it once.

Install Command Line Tools: xcode-select –install

Accept the License Agreement: sudo xcodebuild -license accept

Check Xcode Path

Run: xcode-select -p

You should see: /Applications/Xcode.app/Contents/Developer

If not, fix it: sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Install iOS Simulators for Appium for iOS Simulator Testing

You’ve got options here:

Via Xcode:
Open Xcode → Settings → Components → Download simulators

Via Terminal:
xcodebuild -downloadPlatform iOS

Open Simulator manually:
open -a Simulator

Confirm iOS SDK is Installed

Check that the SDK is in place:

xcrun –show-sdk-path –sdk iphonesimulator

You should see something like:

/Applications/Xcode.app/…/iPhoneSimulator.sdk

Install Extra iOS Tools for Appium for iOS Simulator

These tools help with device communication and testing – even if you’re only using simulators, it’s good to have them:

brew install carthage brew install ios-deploy brew install libimobiledevice

Troubleshoot Common Issues in Appium for iOS Simulator

Even with a solid setup, things can go sideways. Here are some common problems – and how to fix them.

Problem: “Node Not Found” in Eclipse or IntelliJ

What’s going on? macOS GUI apps don’t load your terminal environment variables.

Fix it:

Open Run > Run Configurations in your IDE

Select your test config

Go to the Environment tab

Add the following:

PATH – Use the value from echo $PATH

NODE_HOME – Path to your Node install

ANDROID_HOME – (Only needed if you’re also testing Android)

Problem: npm ERR! EACCES

This happens when you install npm packages using sudo, which messes up permissions.

Fix it:

sudo chown -R $(whoami):$(id -gn) ~/.npm npm install -g appium

You’re Ready to Automate!

With this setup, your Mac is now fully prepped for running Appium tests on iOS simulators

If you’d like to go further:

Build your first test script

Set up real device automation

Or configure Android automation

More Blogs : Key Factors to Consider When Choosing a QA Testing Partner

Comprehensive Guide to API Testing Using Postman

API testing using Postman

Introduction

So before getting into the details of API Testing or how to perform API testing, I think it is relevant to discuss why API testing is essential.

As we all know, the main objective of API testing is to ensure that the API is working as expected under all positive and negative scenarios. API testing is not only about testing the functionality but also about testing its reliability, performance, and security.

Apart from this, there are a couple of other factors that make API testing important

  1. API Testing has broader test coverage when compared to unit testing as it helps in identifying bugs at the unit, database, and server levels.
  2. API Tests can run faster compared to UI tests. As the time taken for the page load and identification of web elements is not required in API testing
  3. The core functionality testing can be started before the user interface is ready so that errors or weaknesses can be identified in the early phases of development. These errors may be costly to fix and may require a significant amount of code change if specified later.
  4. There are many tools and libraries to automate the API calls, using which we can create an automation test suite that can be hooked to the deployment process.
  5. One who performs API testing will get a better understanding of the application features and flow
  6. API Testing helps in checking the performance as well as security of the APIs

There is much software available for API Testing and one of the main software is POSTMAN. In this blog, I am going to explain how to configure and execute a simple REST API request in Postman.

What is POSTMAN?

POSTMAN is an API client used to develop, test, share and document APIs.Postman is available for Windows, Linux, and Mac as a standalone application.

  1.  Go to https://www.getpostman.com/apps and download PostMan for your Operating System
  2. Click on the downloaded executable file and install it on your system.

  3. Or else you can use the PostMan web application.

Creating a new Collection in PostMan

In Postman similar kinds of requests can be grouped into a collection and on opening a collection we will get all the requests under that collection. Its acts like a folder for the files in our system

Click on the New button in the header and create a new Collection

Creating a new GET request in Postman

I am using a sample public REST API –

http://universities.hipolabs.com/search?name=middle from the below link – https://documenter.getpostman.com/view/
8854915/Sz
f7znEe#068625c4-95f6-4e06-afb3-7ca055e72eb0.

It is a GET request that accepts a parameter called ‘name’ and searches for a university whose name contains the value of ‘name’

Click on ‘Add a request’ under the collection

Enter a meaningful name for the request

Select the request type – whether GET, POST, PUT, or DELETE … Here it is a GET request

Enter the request URL

As this API is expecting a request parameter ‘name’ we need to specify the same while configuring the request. For that go to the ‘Params’ tab and enter the required parameters as key-value pairs.

On entering the parameters it gets automatically appended to the requested URL

Once all the details are entered, click on the Send button to send the request.

Response in Postman

Once we click on the Send button,  we will get a detailed response from the API. Postman has a beautiful user-friendly interface for a response that displays the response status code, response body, response cookies, and headers.

We can view the response in 3 ways :

  1. Pretty – The content will be more readable with colored keywords
  2. Raw – Raw version without any colorful keywords
  3. Preview – Shows the preview of the page as you would have seen in the browser

Likewise, you can try configuring other types of requests (POST, PUT, DELETE…) and see the response for those requests with different combinations of data and explore the wide possibilities of Postman.

More Blog: 6 API Security Best Practices: Protect APIs with mTLS, JWT, and Positive Security

  • Copyright © 2026 codelynks.com. All rights reserved.

  • Terms of Use | Privacy Policy