Challenge Overview

Welcome to the Topcoder Appium Learning Series! We are excited to introduce another open-source technology (test automation framework) for the Topcoder Community to learn! The Topcoder Learning Series was created to help everyone become more aware of new technologies and provide guidance and education that will benefit you in future challenges and future gig opportunities. 

Appium is an open-source automation tool for running scripts and testing native applications, mobile-web applications and hybrid applications on Android or iOS using a webdriver.

 

Why should one learn Appium?

Appium is the next big thing in Mobile App testing and has various advantages over it’s other automation testing frameworks. Many companies nowadays use Appium in their tech stacks and thus soon or later we will have Topcoder customers looking for Appium skills in the community to get their problems solved.

  • Appium is free and open-source. Specifically designed for mobile, whereas Selenium is not designed for Mobile

  • This framework can automate test scripts for native, web and hybrid mobile apps, and you can test on a real device, a simulator, or an emulator.

  • An HTTP server creates the WebDriver sessions, thus no concerns about language. Your test script can use almost all the languages

  • Appium integrates with continuous integration servers to ensure better results.

  • Appium supports Safari on iOS and Chrome or the built-in ‘Browser’ app on Android.

  • You don’t have to recompile your app for writing your scripts.

 

Challenge Prizes

Throughout the series, starting 5th Aug 2020 this challenge will be launched every week for the next 6 weeks, giving enough time to many members to get a chance to get started with Appium. Every week $25 will be awarded to the 5 submitters using a random draw. Your submission will only be considered once throughout the weekly reruns across the next six week. Which means once you have been considered for a random draw and If you submit again in the subsequent reruns, you will not be considered for the draw.

 

Technology Stack

- Appium (latest version)

Requirements

The requirement for this challenge is simple: 

(1) Install the Appium server to your machine (detailed steps are provided below)

(2) Set desired capabilities and open calculator app (to your mobile) from Appium

You don’t need to write a single line of code.

1. Install Appium Desktop Server

  • Download Appium Desktop and install to your machine.

  • Open Appium and Start the server.

2. Connect Device to Appium Server

  • Download  Android Studio and install it.

  • Set environment variables

  •  ANDROID_HOME = location of sdk folder

  •  Path : append path of platform_tools folder

  • Extract Device ID which you want to connect with appium server,  For more details please go here

3. Set Desired Capability and open app.

  • Now we are about to open an app (let’s say Calculator) which was installed in your Android Phone. For that, Open new session on the appium tool.

    

Now add desired capability here is sample desired capability to open calculator app, 

{

  "deviceName": "12455555555555",

  "autoAcceptAlerts": "true",

  "udid": "12455555555555",

  "appPackage": "com.google.android.calculator",

  "automationName": "UiAutomator1",

  "platformName": "Android",

  "appActivity": "com.android.calculator2.Calculator"

}

 

Note: To extract appPackage and platformName, please use this app.

 Save it and start a new session. If everything is ok, you will get below screen. 

 

Resource Learning

Appium Documentation : http://appium.io/docs/en/about-appium/intro/

Appium Desired Capabilities : http://appium.io/docs/en/writing-running-appium/caps/

Appium Setup Windows/MacOS and to connect Android Device : Go here Resources 

If you have any questions please post it on the forum.



Final Submission Guidelines

Zip file with

  • Submit a screenshot or a video verifying the setup and opening of Calculator App from Appium on your own mobile.

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30136910