Register
Submit a solution
The challenge is finished.

Challenge Overview

  • Target environment: iOS, Android, REST API

  • Basic Requirements: Implement automated test by Appium for the existing Cordova app.

Project Background

Eaton Secure Connect App is a mobile app to give a user ability to connect to one or more intruder alarm panels and able to controlling and monitoring their installed intruder alarm (the logs report and output from the alarm panels)

 

We finished the frontend development of the mobile Cordova app and integrated it with the backend API (The API server is remote and hosted by the client).

 

Appium is an open source test automation framework for use with native, hybrid and mobile web apps. We need to leverage Appium to implement an automated test for the mobile app.

 

Technology Stack

Cordova

Angular 6

REST API

Swagger

Appium

Individual requirements

 

01 Setup Appium for Cordova testing

 

Follow this tutorial to setup Appium for Cordova testing.

02 Write scripts to implement the automated testing

 

The automated test should follow the workflow as below.

 
  1. Create a new account, email and password should be configurable.

    1. View the Terms and Conditions

    2. Go back

    3. View the Privacy Policy

    4. Go back

    5. Check “I have read and accept the Terms and Conditions”

    6. Check “I have read and accept the Privacy Policy”

    7. Click Done

  2. Login with the new account you created

    1. Enable quick access

    2. Enter quick access code 1111

    3. Don’t enable Fingerprint access

    4. Click the next

  3. Add a panel Y28GRFiaO64a7k7ApSravg, you will need to call an API to get the pairing code. The API details are provided in the forum

  4. Enter the panel details

    1. Set full set

    2. Unset the full set with Unset All

    3. Go back to the panel details

  5. Switch to the timeline panel

    1. Find one timeline with images

    2. View the image

    3. Go back to the timeline

  6. Switch to the output panel, open two outputs

  7. Switch to Settings

    1. Disable the quick access option

    2. Enable the quick access option again, enter the quick access code 22222

    3. Set notification sounds Alarm to Dong

  8. Switch to About

  9. Switch to Feedback

  10. Switch back to My Panels

  11. Change the pairing name, any name is ok

  12. Switch back to My Panels

  13. Remove the panel

  14. Logout

  15. Login again with the quick access code 22222

 

This video shows the workflow of automated testing.

 

More details refer to the test cases here https://gitlab.com/tc-eaton-app/eaton-test-cases/issues

Codebase

The code base is https://gitlab.com/tc-eaton-app/tc-eaton-mobile-app mobile-dev branch, the latest commit hash

 

If you don’t have access, you can grant yourself access via the Topcoder-X link (provided in the forum).

Important notes

  • Both iPhone and Android phones are in scope.

  • If you have any doubts, please feel free to ask questions in the forum. Any assumptions without approval won’t be accepted.



Final Submission Guidelines

  • The patch against https://gitlab.com/tc-eaton-app/tc-eaton-mobile-app mobile-dev branch, the latest commit hash

  • Update the existing README, including the steps about how to setup Appium, how to run Appium in both Android and iOS device.

  • A separate doc to describe how to apply your patch.

  • A video to demonstrate Appium automated test on both iOS and Android phones - verify your submission meets all the requirement

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30088032