ios_LocalRealDevice {
webdriver.remote.driver.studentios = “appium”
appium.bundleId = “com.debug”
appium.hub= “"
appium.platformName = “iOS”
appium.platformVersion = “15.0”
appium.deviceName = “SAM’s iPhone”
appium.automationName = “XCUITest”
appium.xcodeOrgId = “XXXXXXXXXX”
appium.xcodeSigningId = “iPhone Developer”
appium.updatedWDABundleId = “com.fb.webdriveragent” = “/Users/sams/Downloads/ios.ipa” = “/Users/sams/Downloads/”

Step 1: Install Java JDK

Set environment variables



java -version

Step 2: Install Homebrew

/usr/bin/ruby -e “$(curl -fsSL"

Step 3: Install node js and npm

brew install node

Step 4: Install Appium : npm install -g appium

Install Appium Desktop (optional)

Step 5: Get XCode


Step 1 : Go to Download folder where you have downloaded the charles certificate i.e. pem file e.g. charles-ssl-proxying-certificate.pem

Step 2 : Open terminal for the downloaded folder.

Step 3 : Run the following command on terminal in downloaded path(e.g. /Users/sankalpsharma1/Downloads). Also, Check your keystore java path e.g. /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/lib/security/cacerts


In this article, we will see how to test an API.

A brief introduction of an API: API is an Application Programming Interface that enables two applications to communicate with each other. These are different types of APIs like REST, SOAP,

1. Check all the parameters in API like Method(GET..), protocol (https..), URI(, path(/search), query parameter(q=india), headers(-H ‘accept-language: en-GB,en-US;q=0.9,en;q=0.8’ …

4xx client-side error — the request contains bad syntax or cannot be fulfilled i.e. issue in request

405 Method Not Allowed : When you send an incorrect request method. The expected Method Type was POST but you send it GET, PUT, etc.

404 Not Found : When you send an incorrect hostname, incorrect path e.g. Actual: (incorrect hostname) ; Expected:

403 Forbidden : The request…

We have been intercepting calls of Devices and localhost calls on Charles but this article is about how you can intercept calls that are calling some other domain that needs to be intercepted in Charles.

Given below are the steps to intercept these calls if you cannot intercept them via…


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store