Skip to content
MhmdElGazzarPublic

About

No description, website, or topics provided.

Resources

Stars

18 stars

Watchers

5 watching

Forks

Repository files navigation

AgenTeX

Agentic QA for Claude Code — an agent plans, runs, and reports your tests so you don't click through them by hand.

Version License: MIT Claude Code Plugin Playwright Appium Azure DevOps

AgenTeX (Agentic Test eXecution) takes manual test execution off your plate. Instead of clicking the same scenarios by hand, an agent plans them, drives a real browser via @playwright/cli or a real native mobile app via Appium, captures screenshot/log evidence, and produces a consolidated defect report — either sequentially (human-in-the-loop) or in parallel (autonomous, one session per spec file). It never modifies your application code.

New here? Getting Started walks you through install → browser driver → /init-test → permissions → first run. The short version:

/plugin marketplace add MhmdElGazzar/elgazzar-plugins
/plugin install agentex@elgazzar-plugins
/init-test
/execute-test https://example.com

Features — how each one works

Feature How it works Docs
Test execution An agent plans scenarios and runs each step through its driver — a real playwright-cli browser, your APIs, or your database (API/DB-only specs need no browser) — capturing evidence and reporting defects, sequential (approve each step) or parallel (one qa-executor subagent per spec file). test-execution
Define flow /define-flow builds a spec by doing it: an agent-led session proposes each step, executes it live the moment you agree, and you assert the real outcome before the next step — the saved spec follows the normal conventions and runs unmodified via /execute-test. Point it at an existing spec to walk it through and clarify it. define-flow
Mobile testing Same flow for native Android/iOS apps, driven through a real Appium session (raw WebDriver REST or a bundled webdriverio wrapper) — sequential or parallel (one mobile-qa-executor subagent per spec file, per device/emulator). mobile-testing
API & DB steps api: / db: scenario steps run only the named, parameterized requests/queries in your integration/ catalog — the agent never composes its own SQL or HTTP; DDL is refused. api-db-steps
Ask the KB kb: steps (or /ask-kb) query your project's KB Ask API for advisory context — informs testing, never used as PASS/FAIL evidence. ask-kb
UI check steps ui-check: scenario steps compare the live page against a design baseline — a Figma frame (identifier only; file + token configured once) or a screenshot — in exact or reference mode; verdicts, warnings, and view-mismatch errors land in the reports with both images as evidence. ui-check
Optimize login Pay a web app's login once per session: drive it live, verify by landmark (never by URL), save the browser session, and reload it into a fresh browser to continue. optimize-login
Tracker planning (Azure DevOps or Jira Cloud) /estimate-story <ids> and /estimate-sprint create the [Testing] tasks your config/estimation.json defines (Jira: sub-tasks with time tracking), proposed on the first run from your team's own last closed sprints, with abnormal values asked about on the same screen; /design-test turns story ACs into linked test cases (Jira has no native Test Case type — you choose what to create) — both through bundled scripts over the tracker REST API (no az, no acli), validated fail-closed first, with one consolidated approval per flow. azure-devops · jira
Tracker bug filing (Azure DevOps or Jira Cloud) After a run, bug-report-azure files found defects as tracker Bugs through the same bundled scripts — recommends severity/priority, validates every field against your project's real values, links each bug to its parent User Story, validates & attaches screenshots, optionally fails the related test case (ADO); all writes behind one approval, with an exact per-write ledger if anything fails partway. azure-devops · jira
HTML report At the end of a run, generates a standalone, self-contained extent-report.html dashboard (donut chart, status cards, expandable per-test-case steps). extent-report
Configuration Three homes, one each: config/project.json (project settings), environments/<env>.json (targets, users, integrations), and a secrets-only .env — legacy keys-only .env projects still work untouched. After a plugin update, /update-agentex migrates a project to the new conventions, carrying your values. configuration
Standalone API tests /test-endpoints runs every cataloged endpoint's test cases in one pass, dispatching an api-executor subagent and reporting pass/fail per case. /test-endpoints --edit opens a local editor to review, fix and re-run cases. skills/endpoint-testing/SKILL.md
Swagger/OpenAPI import /import-swagger <path-or-url> generates the API catalog + suite from a Swagger 2.0 / OpenAPI 3.x spec — mapping fields, skipping what it can't infer, and picking an auth scheme. /import-swagger --wizard walks you through it with real test data and four basic checks per endpoint. skills/swagger-import/SKILL.md

See docs/ for the full reference on any feature.

How it fits together

What you run, and what it uses

11 commands, 17 skills and 3 subagents. Solid arrows: a command runs a skill. Dotted arrows: work handed to a subagent.

flowchart LR
  subgraph CMD["Commands you type"]
    c_ask_kb["/ask-kb"]
    c_define_flow["/define-flow"]
    c_design_test["/design-test"]
    c_estimate_sprint["/estimate-sprint"]
    c_estimate_story["/estimate-story"]
    c_execute_mobile_test["/execute-mobile-test"]
    c_execute_test["/execute-test"]
    c_import_swagger["/import-swagger"]
    c_init_test["/init-test"]
    c_test_endpoints["/test-endpoints"]
    c_update_agentex["/update-agentex"]
  end
  subgraph SK["Skills a command runs"]
    s_ask_kb["ask-kb"]
    s_browser_driver["browser-driver"]
    s_define_flow["define-flow"]
    s_endpoint_testing["endpoint-testing"]
    s_mobile_testing["mobile-testing"]
    s_swagger_import["swagger-import"]
    s_task_estimation["task-estimation"]
    s_test_design["test-design"]
    s_test_execution["test-execution"]
  end
  subgraph SK2["Skills triggered by spec steps or other skills"]
    s_api_integration["api-integration"]
    s_azure_integration["azure-integration"]
    s_bug_report_azure["bug-report-azure"]
    s_db_integration["db-integration"]
    s_extent_report["extent-report"]
    s_optimize_login["optimize-login"]
    s_tracker_ops["tracker-ops"]
    s_ui_check["ui-check"]
  end
  subgraph AG["Subagents (parallel runs)"]
    a_api_executor(["api-executor"])
    a_mobile_qa_executor(["mobile-qa-executor"])
    a_qa_executor(["qa-executor"])
  end
  c_ask_kb --> s_ask_kb
  c_define_flow --> s_define_flow
  c_design_test --> s_test_design
  c_estimate_sprint --> s_task_estimation
  c_estimate_story --> s_task_estimation
  c_execute_mobile_test --> s_mobile_testing
  c_execute_test --> s_browser_driver
  c_execute_test --> s_test_execution
  c_import_swagger --> s_swagger_import
  c_test_endpoints --> s_endpoint_testing
  s_endpoint_testing -.-> a_api_executor
  s_endpoint_testing -.-> a_qa_executor
  s_mobile_testing -.-> a_mobile_qa_executor
  s_swagger_import -.-> a_api_executor
  s_test_execution -.-> a_qa_executor
Loading

Which skill relies on which

An arrow means the skill reads the other skill's instructions or runs its scripts. Arrows both ways mark two skills that depend on each other.

flowchart LR
  s_api_integration["api-integration"]
  s_ask_kb["ask-kb"]
  s_browser_driver["browser-driver"]
  s_bug_report_azure["bug-report-azure"]
  s_db_integration["db-integration"]
  s_define_flow["define-flow"]
  s_endpoint_testing["endpoint-testing"]
  s_extent_report["extent-report"]
  s_mobile_testing["mobile-testing"]
  s_optimize_login["optimize-login"]
  s_swagger_import["swagger-import"]
  s_test_design["test-design"]
  s_test_execution["test-execution"]
  s_ui_check["ui-check"]
  s_browser_driver --> s_optimize_login
  s_browser_driver --> s_test_execution
  s_bug_report_azure --> s_test_design
  s_define_flow --> s_ask_kb
  s_define_flow --> s_browser_driver
  s_define_flow --> s_optimize_login
  s_define_flow --> s_test_execution
  s_endpoint_testing --> s_api_integration
  s_endpoint_testing --> s_swagger_import
  s_mobile_testing --> s_ask_kb
  s_mobile_testing --> s_db_integration
  s_mobile_testing --> s_extent_report
  s_test_execution --> s_browser_driver
  s_test_execution --> s_extent_report
  s_test_execution --> s_ui_check
Loading

Usage at a glance

# Sequential (human-in-the-loop) — natural language:
Test https://example.com — the signup form: happy path plus empty and bad-email cases.

# Parallel (autonomous) — one subagent per spec file:
Run a parallel regression against https://example.com from the specs in test/suite1/.

# Slash commands:
/execute-test https://example.com
/define-flow https://example.com     # build a spec step by step, executing each step live
/execute-mobile-test suite1          # runs ./test/mobile-suite1/ (not ./test/suite1/)
/test-endpoints
/import-swagger ./openapi.json --name acme-api
/import-swagger --wizard ./openapi.json   # guided: real test data, basic checks, one approval
/test-endpoints --edit                    # local suite editor
/estimate-story 12345 12346
/estimate-sprint         # every story in the current sprint
/design-test 12345
/ask-kb acme-store: how does the checkout flow work?
/update-agentex        # after a plugin update: migrate this project to the new conventions

Every run writes to a timestamped executions/execu_<timestamp>/ folder — report.md, extent-report.html, per-session logs/screenshots, and a merged bug list.

Contributing

New to the codebase? docs/contributing/ teaches Claude Code concepts from zero, AgenTeX's architecture, and walks through adding a skill end to end. Open issues and PRs on the GitHub repository.

Contributors

  • Mohamed Elgazzar — creator & maintainer
  • Marwah Zain
  • @mabdel130 — extent-report skill (PR #1)
  • @YoussefAbdellah2023 — extent-report v2/v3, Jira and Figma integration work (PRs #5, #6, #7, #8, #11, #13, #14)
  • Hager-Helmy
  • @MahmoudElSharkawy — annotated screenshots on filed Azure bugs (PR #20)
  • @abdo-mohamed-ezzat — session login reuse (PR #17), multi-context flows RFC (#18)

License

MIT — see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

18 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages