OpenSTF: Walk-through

Andre Kurnia
4 min readMar 11, 2022

Automation while testing is really needed for company to minimize time taken to testing application (most of it just to ensure the flow is doing fine). Does this thing really needed for everyone? Nope. Not all company must use automation, some of it just need manual tester to focus on the experience while using the app.

If you’re a QA tester, you must be familiar with Katalon Studio because that app is one of the most popular tools that every company use. OpenSTF able to make the ecosystem of QA testers to test or simulate an application from Katalon studio directly to the phone remotely without virtual android device or even cable connection.

Picture above is the dashboard of OpenSTF right after you logged in. There are several navigation bar on the top of the picture. This current dashboard is a “Devices” menu where you can choose the device you wanted to tested within the app you develop. The device itself will conditioned as “Use” when nobody use a device and ready to be used. “Disconnected” state is a condition where the device unable to be read by the server, and “In use” is a state where the device is used by another person. When you click “use” on one of the device, you will be directed to the “control” menu automatically.

Picture above is the “Control” dashboard. There are few things that can’t be used, but most of it are usable. Here are the list where you can use most of the features with some explanation,

  1. Dashboard/Navigation — a place where you can open a link directly from the blank column. The phone itself will open default browser automatically right after you press the enter.
  2. Dashboard/Clipboard — it shows what you copied earlier from the phone. if you copied something on the phone, it will automatically shows on that panel. (NB — not all android devices working, assumed it all based on the android OS [10 above])
  3. Dashboard/App Upload — the place where you can drag and drop an .apk file to make the device install the file.
  4. Dashboard/Shell — (tested before, but causing the device system crash and fail. so i’m not quite sure the feature)
  5. Dashboard/ADB Connect — is a template that generated by the OpenSTF for user to run it in the terminal. This command will let you run debug mode that allows you to control the device internally through the system with local terminal or third party app such as Katalon Studio.
  6. Screenshots — a place where all screenshot-ed display will be shows up there. Just like the clipboard feature, it only runs on Android 10 or above (since it’s based on the clipboard code too in my opinion)
  7. Automation — tested what possible here, but resulted nothing.
  8. Advanced — just utilities stuff where you can access the phone to turned it off, restart, etc. (remember, once you turned the device off, you have to manually press the power button physically to turned it on)
  9. File Explorer — a file explorer where you can see all folders and files there
  10. Info — an info about your device (?)

This is a grouping list. In this case, you are able to make a group and seperate the devices for each group. Here’s the example,

— You have 10 devices but there are 4 squad that each squad needed 3 phones with different OS version. In order to prevent the ‘seizing’ drama while testing in the same time, you can set each squad in each group there. Then you can set each group with 2 devices. This state will leave 2 devices not in the group. This 2 devices left is the only devices left that each squad have to queue when the squad want to use it (set these 2 devices with less priority specs that run positive test the most)

In the setting dashboard, there are several sub-menu that might useful for you. There are,

  1. General menu — general menu is the quick settings that settings the OpenSTF (not quitely useful settings to be honest.)
  2. Keys menu — is the place where critical that can generate access token and also save your ssh-rsa key from your local machine to be saved in the OpenSTF system for ADB conection between your local terminal and OpenSTF.
  3. Groups menu — the place where you can setting, add, delete group just like i explained before.
  4. Devices menu — is the place where you can setting the device, not quite much option. It’s just like delete unused or unwanted devices.
  5. Users menu — the place where you can add or delete user to let them in the OpenSTF dashboard.

--

--

Andre Kurnia

Obsessed in cloud computing, Linux, tech infrastructure. Currently work as a Senior DevSecOps Consultant in Logicalis Group. Let's connect!