Dexter 2.0: Genesis webUI: Test Automation Enhanced

 • 

Dexter, since its inception in August 2015, has grown significantly and is now offering more from a features perspective.

Our small team of automation engineers have worked towards bettering dexter framework and offer seamless test suite executions across platforms by designing a simple web interface. We now call our test automation web interface “Genesis”.

Here is how our framework evolved with the invention of Genesis:

Enhanced Framework
Enhanced Framework

One of the key features Genesis offers is the user roles. We grant and provide certain privileges to users across squads to perform certain operations like, triggering a test suite run only, add, modify and run their squad specific test cases only, an admin with all privileges, etc.

And since we now have hosted our setup on a cloud instance (powered by Alibaba’s Aliyun) and also use virtual machines, we manage to honor multiple test suite execution requests from different users at the same time. This is achieved through a load balancer code written in PHP using Laravel framework.

Genesis home page sneakpeek:

Not to forget our cloud device farm powered by [testdroid] (http://testdroid.com/) is used to run apps automation test cases. The cloud farm provides us with actual physical devices and hence we utilize their API to integrate with our framework and trigger test case executions on their cloud farm. For reference: Click [here] (http://docs.testdroid.com/testdroid-cloud-integration/api/)

Here is our complete automation technology stack:

1. Dexter Framework technology stack:

Core: - Selenium web driver 2.53.0 - TestNG 6.9.8 - Appium Client 4.0.0 - TestDroid client 2.9

Build tools: - Jenkins (CI) - Apache Maven (Build) - GIT (Version Control)

Reporting Library: - ExtentReportNG - AShot - apache xml. graphic - apache ant - javax.mail

2. Genesis Technology stack:

Framework: Laravel 5.1, PHP 5.5.9 UI/UX: css bootstrap, jquery Database: MySql 5.7.13

Libraries for API and remote trigger: - Zjango\Laracurl\LaracurlServiceProvider::class - Chrisbjr\ApiGuard\Providers\ApiGuardServiceProvider::class

Libraries for user management:
- Zizaco\Entrust\EntrustServiceProvider::class

Interested in working on some cool tech like this? You think you have more to bring to this table? Please rush your resumes to gautam.chakravarthy@tokopedia.com.