Skip to main content

Command Palette

Search for a command to run...

Understanding GA-WDIO

An automation CLI tool that creates & runs tests project for Web, API & Mobile (iOS/Android) apps.

Published
2 min read
Understanding GA-WDIO
F

Principal Technical Consultant at GeekyAnts.

Bootstrapping our own Data Centre services.

I lead the development and management of innovative software products and frameworks at GeekyAnts, leveraging a wide range of technologies including OpenStack, Postgres, MySQL, GraphQL, Docker, Redis, API Gateway, Dapr, NodeJS, NextJS, and Laravel (PHP).

With over 9 years of hands-on experience, I specialize in agile software development, CI/CD implementation, security, scaling, design, architecture, and cloud infrastructure. My expertise extends to Metal as a Service (MaaS), Unattended OS Installation, OpenStack Cloud, Data Centre Automation & Management, and proficiency in utilizing tools like OpenNebula, Firecracker, FirecrackerContainerD, Qemu, and OpenVSwitch.

I guide and mentor a team of engineers, ensuring we meet our goals while fostering strong relationships with internal and external stakeholders. I contribute to various open-source projects on GitHub and share industry and technology insights on my blog at blog.faizahmed.in.

I hold an Engineer's Degree in Computer Science and Engineering from Raj Kumar Goel Engineering College and have multiple relevant certifications showcased on my LinkedIn skill badges.

GA-WDIO is an automation testing CLI tool, that supports WebDriverIO and provides solutions to our in-house issues.

GA-WDIO manages things like set-up, configurations, drivers, etc. internally for the Web, API & Mobile apps.

You can find the repository on GitHub — geekyants/ga-wdio.

Or

You can find the npm package on NPM - ga-wdio

Or

You can install the package locally using the following command:

npm install -g ga-wdio

Why we need this tool?

Web automation testing requires things like selenium driver, browser’s driver, configuration files for different browsers and platforms.

API testing mostly was done on Postman and we always needed something with state-management to reuse the response from an API to the other one’s request.

Mobile automation testing always had to go with configuring the Appium and running it before we run our test cases.

Once all the things were correctly configured, the developer will then focus on creating the app structure and writing those test cases.

So in all, writing test cases were never a pain but setting up one & then configuring it has always made our team avoid writing automation testing!

What does this tool provide?

  1. Support for:

    • Web App Testing
    • API Testing
    • iOS & Android Mobile App Testing
    • iOS & Android Mobile Browser Testing
    • Browser Stack’s Automate environment for Web & Mobile Testing
  2. CLI commands to:

    • Create boilerplate.
    • Run test cases.
    • Check the Appium’s necessary & optional dependencies on your system
    • Upload the mobile APK or IPA to the browser-stack cloud.

What are the commands? How do they work?

  • Create Command for All — It asks you various questions before creating the boilerplate!

create.png

  • Run Command — API

runapi.png

  • Run Command — Web

runweb.png

  • Run Command — Android Mobile

4.png

  • Run Command — iOS Mobile

runios.png

  • Check Command — Mobile (Checks if your system has all the required dependencies)

check.png

  • Upload Command — Uploads your app build to the Browser Stack and returns the necessary details to proceed!

upload.png


About Me 👨‍💻

I'm Faiz A. Farooqui. Software Engineer from Bengaluru, India. Find out more about me @ faizahmed.in