How to create test plan before writing an automated test case for Appium
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:

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