Skip to main content

TAFLEX

Enterprise Test Automation Framework

Java Version Gradle Playwright License


๐ŸŽฏ 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โ€‹

FeatureDescription
๐Ÿš€ Quick SetupModern Gradle-based workflow with automated setup script.
๐Ÿงฉ Strategy PatternRuntime driver resolution between Web, API, and Mobile platforms.
๐Ÿ“„ Externalized LocatorsSelectors stored in .properties files, decoupled from test logic.
๐Ÿ›ก๏ธ Type-Safe ConfigCentralized configuration management via automation.properties.
๐Ÿ—„๏ธ Database SupportNative support for PostgreSQL and MySQL via HikariCP connection pooling.
๐Ÿ“Š Enterprise ReportingNative integration with ReportPortal and Xray (Jira).
๐Ÿ›ก๏ธ Code QualityAutomated 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?โ€‹

RoleBenefits
QA Engineers & TestersLow-code locator management ยท High-level unified API ยท Automatic retries & screenshots.
DevelopersModern Java 21 features ยท Strategy pattern extensibility ยท Mature Gradle ecosystem.
ManagersUnified stack for Web/API/Mobile ยท Requirement traceability via Xray ยท Detailed dashboards.
DevOps EngineersCI/CD ready ยท Seamless GitHub Actions integration ยท Parallel execution support.

๐Ÿ“„ Licenseโ€‹

TAFLEX is licensed under the Apache License 2.0.


Happy Testing! ๐Ÿš€