How to create test plan before writing an automated test case for Appium

Nikita sharma
2 min readApr 25, 2018

--

As a beginner QA engineer it’s easy to jump straight on code while writing a test case, or testing a functionality.

However it’s much more important to have a plan in mind and all the required details documented before moving to code. This not only brings clarity on what we are going to achieve next, but also speedsup the process of writing automated test cases. The process is much more organised and has much less to-and-fro between team members.

This post shows how I have organized my test plan and written my test cases:

Details to be captured

common details

  • App package Name
  • Path of APK
  • Appium web driver address

Details specific to device

  • Platform name
  • Platform version

Details specific to test case

  • Screen Name
  • Screen Class
  • Test scenario details
  • UI element ids to manipulate/trigger
  • Expected behaviour
  • Test pass/fail status

Here is how I am testing an app for a client. I am using google docs to capture all the details for my test plan. You might want to use Trello board or JIRA ticket for tracking the same tasks. Below is the snapshot of that:

Test plan with all the relevant app/component details

Note:

  • Some of the details like the Screen Class might have to be asked from our dev team, or collected from the application code base from the activity.xml’s
  • The Id’s of the elements you would be working on can be collected from the android uiautomatorviewer tool. Here is a small post on capturing id’s from uiautomatorviewer tool.

Once We have all this details in place all we have to do is to replicate these actions via Appium code.

and, here is how my code looks like:

Utility class:

Appium python Test case:

Hope this is helpful. Would love to hear your experiences on how you have been managing your test plans. Cheers

Sign up to discover human stories that deepen your understanding of the world.

--

--

Nikita sharma
Nikita sharma

Written by Nikita sharma

Data Scientist | Python programmer

Responses (1)

Write a response