1.0.0 • Published 10 months ago

@qaflow/report v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

QAFlow Report

QAFlow Report is a comprehensive reporting module for your test automation efforts. It seamlessly integrates with Playwright, Jest, and other test frameworks.

Installation

npm install @qaflow/report
# or
yarn add @qaflow/report
# or
pnpm add @qaflow/report

Quick Start

Creating a Configuration File

To use QAFlow Report, you need to create a configuration file that contains your API key. You can generate this file using the following command:

npx @qaflow/report init

This command will interactively prompt you for your API key and generate a reporter.config.js or reporter.config.ts file.

Alternatively, you can specify your API key directly:

npx @qaflow/report init --key=<apiKey>

The generated configuration file will look like this:

reporter.config.js

module.exports = {
  apiKey: 'YOUR_API_KEY_HERE',
}

reporter.config.ts

export default {
  apiKey: 'YOUR_API_KEY_HERE'
};

Basic Usage

To use the reporter in your test files:

// Import the reporter
import reporter from "@qaflow/report";

// Create a test
reporter.createTest(
  "Login Test", // Test name
  "Testing the login functionality of our application", // Description
  { author: "QA Tester", email: "tester@example.com" }, // Tester info
  { name: "Chrome", version: "118.0.0", os: "macOS", browser: "Chrome" } // Environment
);

// Add test steps
await reporter.step("Navigate to the login page", () => {
  return true; // Step successful
});

await reporter.step("Enter username", () => {
  return true;
});

// End the test and retrieve results
const results = await reporter.end();
console.log(`Total steps: ${results.summary.total}`);
console.log(`Passed steps: ${results.summary.passed}`);
console.log(`Failed steps: ${results.summary.failed}`);
console.log(`Skipped steps: ${results.summary.skipped}`);

API Usage

reporter.initialize(apiKey, options)

If you are not using a configuration file, you can initialize the reporter programmatically:

reporter.initialize("your-api-key-here");

reporter.createTest(testName, description, tester, environment)

Creates a new test and registers it as the active test:

reporter.createTest(
  "Search Test",
  "Tests the search functionality on the homepage",
  { author: "QA Tester", email: "tester@example.com" },
  { name: "Firefox", version: "115.0", os: "Windows" }
);

reporter.step(name, fn, options)

Adds a step to the active test and executes it:

// Successful step
await reporter.step("Navigate to homepage", () => {
  return true;
});

// Failed step
await reporter.step("Perform login", () => {
  throw new Error("Login failed");
});

// Skipped step
await reporter.step("View profile", () => {}, { skipped: true });

// Step with screenshot
await reporter.step("Verify search results", () => {
  return true;
}, { screenshot: "base64-screenshot-data" });

reporter.end()

Ends the active test and sends results to the API:

const results = await reporter.end();
console.log("Test result:", results);

Documentation

For detailed documentation, visit QAFlow Docs.

Website

Learn more about QAFlow at QAFlow Website.

📜 License

This project is licensed under the MIT License.

👤 Author

1.0.0

10 months ago