TAFLEX
Enterprise Test Automation Framework
๐ฏ What is TAFLEX?โ
TAFLEX is a unified, enterprise-grade test automation framework designed for testing Web, API, and Mobile applications using a single codebase. It leverages modern Java 21, Playwright, Appium, and Apache HttpClient to deliver fast, reliable, and maintainable automation.
โจ Key Highlightsโ
| Feature | Description |
|---|---|
| ๐ Quick Setup | Modern Gradle-based workflow with automated setup script. |
| ๐งฉ Strategy Pattern | Runtime driver resolution between Web, API, and Mobile platforms. |
| ๐ Externalized Locators | Selectors stored in .properties files, decoupled from test logic. |
| ๐ก๏ธ Type-Safe Config | Centralized configuration management via automation.properties. |
| ๐๏ธ Database Support | Native support for PostgreSQL and MySQL via HikariCP connection pooling. |
| ๐ Enterprise Reporting | Native integration with ReportPortal and Xray (Jira). |
| ๐ก๏ธ Code Quality | Automated hygiene checks with Checkstyle and PMD. |
๐ Quick Startโ
Get up and running in 3 simple steps:
1. Clone and Setupโ
# Clone the repository
git clone https://github.com/vinipx/taflex.git
cd taflex
# Run the automated setup
./setup.sh
2. Configure Environmentโ
Update the automation.properties file with your specific settings:
# Update with your specific credentials
execution.mode=web
web.browser=chromium
web.base.url=https://www.example.com
3. Run Your First Testโ
# Run Web tests
./gradlew webTest
# Run API tests
./gradlew apiTest
๐๏ธ Architecture Overviewโ
๐ป Code Exampleโ
Web Testโ
package io.github.vinipx.taflex.tests.web;
import io.github.vinipx.taflex.base.BaseTest;
import org.testng.Assert;
import org.testng.annotations.Test;
public class LoginTests extends BaseTest {
@Test(groups = {"smoke"})
public void shouldLoginSuccessfully() {
// Navigate using externalized URL locator
driver.navigateTo("login.page.url");
// Use externalized locators
driver.type("login.username.field", "testuser");
driver.type("login.password.field", "password123");
driver.click("login.submit.button");
// Assertions
Assert.assertTrue(driver.isVisible("dashboard.welcome.message"));
}
}
๐ฏ Who Should Use TAFLEX?โ
| Role | Benefits |
|---|---|
| QA Engineers & Testers | Low-code locator management ยท High-level unified API ยท Automatic retries & screenshots. |
| Developers | Modern Java 21 features ยท Strategy pattern extensibility ยท Mature Gradle ecosystem. |
| Managers | Unified stack for Web/API/Mobile ยท Requirement traceability via Xray ยท Detailed dashboards. |
| DevOps Engineers | CI/CD ready ยท Seamless GitHub Actions integration ยท Parallel execution support. |
๐ Licenseโ
TAFLEX is licensed under the Apache License 2.0.
Happy Testing! ๐