Jan 18, 2020  In Windows, it launches the Appium Server but fails to inspect elements. However, UIAutomator viewer can be used as an option for Inspecting elements. Steps to start with Appium Inspector on Mac machine:- Step 1) Download and start your Appium server with the default IP Address 0.0.0.0 and the port 4725. Appium setup.; 7 minutes to read; In this article. There are two ways to install and run an Appium server, via npm on the command line, and by downloading and installing the Appium GUI tool. Because our focus in this documentation is using Appium for test automation, we’ll be working with Appium from the command line and through code.

Appium
  1. Set up for Appium:

    • Reference:
    • install xcode:
      • make sure you are NOT installing the latest version. Install v7 here: https://developer.apple.com/download/more/

      • make sure the correct simulators are downloaded at xcode -> preferences -> components

        NOTE: If you don't have the correct simulators downloaded then you will get the error: 'Could not find a device to launch..'

        A microscope for your videos. Kinovea is a video player for sport analysis. It provides a set of tools to capture, slow down, study, compare, annotate and measure technical performances. Kinovea is completely free and open source. Kinovea for mac.

    • install carthage which is an appium dependency: https://github.com/Carthage/Carthage
    • make sure npm is updated: sudo npm install npm@latest -g
    • Install appium > 1.5:
      • sudo npm install -g appium@1.6.2 --no-shrinkwrap
      • Possible issue with Mac Sierra. Solve by uninstalling and reinstalling appium-doctor: https://github.com/appium/appium/issues/6609
    • sudo npm install -g authorize-ios
    • sudo authorize-ios
    • set java_homeReference: http://www.sajeconsultants.com/how-to-set-java_home-on-mac-os-x/
      • To find java: 'which java'
      • JAVA_HOME is the path to the directory that contains the bin directory where java is.
      • in ~/.bash_profile: export JAVA_HOME='
      • Add $JAVA_HOME/bin to your path variable
    • npm install appium-doctor
    • appium-doctor (--ios or --android) to check setup
  2. Set up for Android:

    • Reference:

    • Download, install and launch Android Studio

    • click on 'configure' > 'SDK Manager' > 'Android SDK'

    • Make sure following are installed (under 'SDK Tools'):

      • Android SDK Tools
      • Android SDK Platform-tools'
      • Android SDK Build-tools (highest version)
      • Android Support Repository/Library
      • Google Repository
      • Intex x86 Emulator Accelerator (HAXM Installer)
    • Under the SDK platforms section make sure the correct platform version is installed (should correspond to the android settings in appium)

    • Note the path to SDK from this sdk manager screen.

    • Add ANDROID_HOME environment variable with path to sdk and add that to your path

    • nano ~/.bash_profile

    • export ANDROID_HOME={YOUR_PATH}

    • Add to your current path variable: export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

    • ctrl + o, enter, ctrl + x

    • source ~/.bash_profile

    • type ```adb devices`` in the command line to check if ANDROID_HOME environment variable set correctlyNOTE: If 'adb' command is not found then you need to check if the path to Android sdk platform-tools is in your path.

  3. Connect iPhone:

    • Reference: https://discuss.appium.io/t/mobile-web-automation-on-ios-real-device-safari/4900
    • Get UDID of iphone and use it in desired capabilities:
      • connect iphone to mac computer via usb
      • open itunes and go to file --> devices
    • Get a bundle ID and use it in desired capabilities (bundleID)
      • You have to register as an apple developer
      • Then set up a wildcard bundle ID
        • Reference: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingProfiles/MaintainingProfiles.html
    • Install ideviceinstaller
      • Reference: http://macappstore.org/ideviceinstaller/
      • ruby -e '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)' < /dev/null 2> /dev/null
      • brew install ideviceinstaller
  4. Use correct desired capabilities: https://appium.io/slate/en/master/?ruby#appium-server-capabilities