Creating WDA File for iOS App Testing


WebDriverAgent (WDA) plays an important role in automating iOS tests. It bridges the code we write for testing and the actual iOS app, which helps us control the app, test how it behaves, and make sure it works correctly. This article discusses the steps and prerequisites for creating WDA files.


Prerequisites

  • Paid Apple Developer Account
  • Mac Machine
  • Xcode and Xcode Command line tools

Steps to Create WDA File

  1. Download from Appium Github.
  2. Open WDA Xcode Project in Xcode.

Xcode Project

  1. On Signing & Capabilities, add Apple Account for wherever necessary in Target OS & Integrations.

Signing & Capabilities

  1. Once the signing is done, run the following command to build the latest WDA WebDriverAgent. This command will build the WDA project and prepare it for testing.

    xcodebuild build-for-testing \
    -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner \ 
    -destination 'id=<DEVICE_UDID>'  
NOTE:

Replace <DEVICE_UDID> with the actual UDID (Unique Device Identifier) of the iOS device or simulator where you want to run the tests.

  1. Create a Zip Archive from the Products Folder
    Locate the Products folder within the Xcode derived data directory. The path looks like this:

    zip/Users/<user>/Library/Developer/Xcode/DerivedData/WebDriverAgent-<RANDOM-STRING>/Build/Products

    Here, you need to replace with your username and with the random string associated with your WDA build.

  2. Generating a New WDA for Installation

Run the following commands to create a new WDA package for installation.

  xcodebuild -scheme WebDriverAgentRunner -sdk iphoneos -configuration Release -derivedDataPath /tmp/derivedDataPath
  cd /tmp/derivedDataPath/Build/Products/Release-iphoneos
  mkdir -p Payload
  mv WebDriverAgentRunner-Runner Payload
  zip Payload wda.zip
  mv wda.zip wda.ipa

The above commands will generate a new wda.ipa file.