Skip to content
Back to skills

Web Application E2e Tester

ASecurity

When the user needs to run end-to-end tests on a web application, especially for e-commerce checkout flows, and requires manual or automated testing of UI functionality like adding items to cart, applying coupons, form validation, and responsive design. This skill includes browser automation, test execution, and validation of test cases against a live application.

  • 8 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
testinggonodekubernetestestinggitapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add zjunlp/Skills --skill web-application-e2e-tester --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Web Application E2e Tester?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Web Application E2e Tester
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zjunlp-web-application-e2e-tester/badge)](https://www.skillsdirectory.com/skills/zjunlp-web-application-e2e-tester)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: web-application-e2e-tester
description: When the user needs to run end-to-end tests on a web application, especially for e-commerce checkout flows, and requires manual or automated testing of UI functionality like adding items to cart, applying coupons, form validation, and responsive design. This skill includes browser automation, test execution, and validation of test cases against a live application.
---
# Instructions

## Objective
Deploy a web application to a Kubernetes preview environment, expose it via NodePort, and execute a comprehensive suite of end-to-end (E2E) tests. The final deliverable is a filled test results report.

## Prerequisites
1.  **Target Application:** A Git repository containing the application source code, a Kubernetes deployment manifest (`preview.yaml`), and a test suite.
2.  **Kubernetes Cluster:** Access to a `kubectl` configured cluster.
3.  **Browser Automation:** Access to a browser automation tool (e.g., Playwright via `playwright_with_chunk` tools).
4.  **Test Report Template:** A markdown file (`test-results-report.md`) with a predefined table structure for results.

## Core Workflow

### Phase 1: Environment Setup & Deployment
1.  **Clone Repository:** Clone the target Git repository, specifying the required branch (e.g., `feature/pr-123`).
2.  **Inspect Structure:** Examine the repository to locate key files: the Kubernetes manifest (`preview.yaml`), the test script, the test report template, and the application's main HTML file.
3.  **Deploy to Kubernetes:**
    a. Create the namespace defined in `preview.yaml` (if it doesn't exist).
    b. Apply the `preview.yaml` manifest to create the Deployment and ClusterIP Service.
    c. Create a ConfigMap from the application's `index.html` file, matching the volume mount specified in the deployment.
    d. Create a **NodePort Service** to expose the application on a specific host port (e.g., `30123`) for long-term external access. Ensure the selector matches the deployment's pod labels.
4.  **Verify Deployment:** Confirm the Pod is `Running` and the application is accessible via `curl` or browser at the NodePort URL (e.g., `http://localhost:30123`).

### Phase 2: Test Execution & Validation
**Approach:** Manually execute each test case defined in the test script using browser automation, simulating user interactions.
1.  **Prepare Test Environment:** Clear browser `localStorage` before critical test sequences to ensure a clean state.
2.  **Execute Test Cases:** For each test function in the suite (e.g., `should load the homepage`, `should add products to cart`):
    a. Navigate to the application URL.
    b. Perform the described user actions (click buttons, fill forms, change viewport size).
    c. Use browser automation tools to assert expected outcomes (check element visibility, text content, form validation messages).
    d. Record the result as **PASS (✅)** or **FAIL (❌)**.
3.  **Key Test Categories to Cover:**
    *   **Page Load & Metadata:** Title, headers, PR information display.
    *   **Shopping Cart Logic:** Add/remove items, total price calculation.
    *   **Business Rules:** Free shipping thresholds, coupon application (`SAVE10`), tax calculation logic.
    *   **Checkout Process:** Form filling, submission, order success confirmation.
    *   **Form Validation:** HTML5 validation for required fields.
    *   **Responsive Design:** Visibility of core components at mobile (`375x667`) and tablet (`768x1024`) viewports.
    *   **Performance & API Health:** Page load speed (<3s), HTTP `200` status, correct `Content-Type` header.

### Phase 3: Reporting
1.  **Fill Test Report:** Update the `test-results-report.md` template. **Only** replace the empty cells in the `Result` column with `✅` or `❌` and update the `Summary Statistics` (Total, Passed, Failed) at the bottom. Do not modify any other text, structure, or test names.
2.  **Save Final Report:** Save the completed report to the workspace root as `filled-test-results-report.md`.

## Critical Notes & Edge Cases
*   **Tax Calculation Bug:** The example trajectory revealed a test failure where tax was calculated on the subtotal *before* discount, but the test expected it to be calculated *after* discount. Document such discrepancies clearly in the report.
*   **State Persistence:** The application may use `localStorage`. Use `playwright_with_chunk-browser_evaluate` to run `localStorage.clear()` between tests to ensure isolation.
*   **Form `novalidate` Attribute:** If a form has the `novalidate` attribute, HTML5 validation pop-ups will not block submission. Use `element.validationMessage` to check for validation messages instead.
*   **Service Configuration:** The initial `preview.yaml` likely creates a `ClusterIP` service. You must create a separate `NodePort` Service to expose the application on the host machine.

Files in this skill

  • SKILL.md4.8 KB
  • references/test-execution-guide.md2.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…