Skip to content

deepakkamboj/playwright-power-platform-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Playwright Power Platform Toolkit

Build Status npm version TypeScript Playwright License: MIT Node.js

Enterprise Test Automation Framework for Microsoft Power Platform

A production-ready, comprehensive testing framework library for Power Platform applications built on Playwright. Supports Canvas Apps, Model-Driven Apps, and Power Platform services with robust authentication, API testing, accessibility testing, and intelligent reporting capabilities.


πŸ—οΈ Architecture

This monorepo contains the Enterprise Test Automation Framework library and example Consumer Test Infrastructure demonstrating best practices.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     Consumer Test Infrastructure                         β”‚
β”‚                    (e2e-tests/ - Your Test Projects)                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
β”‚  β”‚    Utils     β”‚   β”‚    Test Infrastructure              β”‚             β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€             β”‚
β”‚  β”‚ β€’ Fixtures   β”‚   β”‚ β€’ Test Setup  β€’ Test Scripts        β”‚             β”‚
β”‚  β”‚ β€’ Functions  β”‚   β”‚ β€’ Test Utils  β€’ Shared Steps        β”‚             β”‚
β”‚  β”‚ β€’ Annotationsβ”‚   β”‚ β€’ Test Teardown                     β”‚             β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚ β€’ Globals (setup & teardown)        β”‚             β”‚
β”‚                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
β”‚                                                                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
β”‚  β”‚              Configurations                             β”‚             β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€             β”‚
β”‚  β”‚ β€’ Environments   β€’ Accounts/Teams                       β”‚             β”‚
β”‚  β”‚ β€’ playwright.config.ts (with globalSetup/Teardown)      β”‚             β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β”‚ imports
                                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Enterprise Test Automation Framework (This Library)                β”‚
β”‚              playwright-power-platform-toolkit/                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚ Page Object Model    β”‚  β”‚  Accessibility       β”‚  β”‚  API Testing   β”‚β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
β”‚  β”‚ β€’ Page Classes       β”‚  β”‚ β€’ WCAG Rules         β”‚  β”‚ β€’ Endpoints    β”‚β”‚
β”‚  β”‚ β€’ Locators Repo      β”‚  β”‚ β€’ Axe-Core           β”‚  β”‚ β€’ Assertions   β”‚β”‚
β”‚  β”‚ β€’ Utils              β”‚  β”‚ β€’ Assertions         β”‚  β”‚ β€’ API Recorder β”‚β”‚
β”‚  β”‚ β€’ Auth Helper        β”‚  β”‚ β€’ Violations Report  β”‚  β”‚ β€’ Dataverse    β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β”‚ uses
                                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 Authentication (playwright-ms-auth)                      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β€’ Cert-based Auth  β€’ Password Auth  β€’ Token Refresh                     β”‚
β”‚ β€’ Storage State Management  β€’ KeyVault Management                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β”‚ built on
                                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Playwright Core Libraries and Test Runner                       β”‚
β”‚                   (@playwright/test package)                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                  β”‚
                                  β”‚ outputs to
                                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Reporting Layer (playwright-ai-reporter)                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β€’ Trace Logs  β€’ Screenshots & Videos  β€’ AI-powered Analysis             β”‚
β”‚ β€’ Test Suite Logs  β€’ Email Notifications  β€’ Bug Tracking Integration    β”‚
β”‚ β€’ Test Failure Suggestions & Fix  β€’ Reporting & Dashboard               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“¦ What's Included

This monorepo contains:

Core Components

Page Object Model

  • PowerAppsPage: Full POM for Power Apps Maker Portal
  • CanvasAppPage: Canvas app-specific page interactions
  • ModelDrivenAppPage: Model-Driven app-specific page interactions
  • Locators Repository: Maintainable selector management
  • Utilities: Common helper functions for page interactions
  • Auth Helper: Microsoft authentication integration

API Testing

  • REST API Testing: Full HTTP methods support (GET, POST, PATCH, DELETE)
  • Endpoints: Pre-defined Power Platform API endpoints
  • Assertions: Validation helpers for API responses
  • API Recorder: Record and replay browser API calls
  • Dataverse: Dataverse-specific API utilities

Accessibility Testing

  • WCAG Rules: Complete WCAG 2.0/2.1 compliance testing
  • Axe-Core Integration: Industry-standard accessibility engine
  • Assertions: Accessibility-specific validation
  • Violations Reporting: Detailed accessibility reports

Authentication

Powered by playwright-ms-auth:

  • Certificate-based authentication
  • Password-based authentication
  • Automatic token refresh
  • Storage state management
  • Azure KeyVault integration

πŸš€ Features

  • βœ… Page Object Model: Pre-built POMs for Power Apps Portal
  • βœ… Microsoft Authentication: Certificate & password auth via playwright-ms-auth
  • βœ… API Testing: Comprehensive REST API testing utilities
  • βœ… Accessibility Testing: WCAG 2.0/2.1 compliance validation
  • βœ… API Recorder: Capture and analyze browser API calls
  • βœ… Test Logger: Colored console output for better debugging
  • βœ… AI-Powered Reporting: Intelligent test failure analysis
  • βœ… TypeScript Support: Full type definitions
  • βœ… Path Aliases: Clean imports (@pages, @locators, @utils, @auth)
  • βœ… Best Practices: Follows Playwright recommended patterns
  • βœ… Monorepo Structure: Rush-based package management

πŸ“¦ Installation

Using the Published Package

npm install playwright-power-platform-toolkit --save-dev

Peer Dependencies

npm install @playwright/test playwright-ms-auth @axe-core/playwright dotenv --save-dev

Developing from Source

# Clone the repository
git clone https://github.com/deepakkamboj/playwright-power-platform.git
cd playwright-power-platform

# Install Node.js version
nvm install
nvm use

# Install Rush
npm install -g @microsoft/rush

# Install dependencies
rush install

# Build all packages
rush build

🎯 Quick Start

1. Import Components

import {
  PowerAppsPage,
  CanvasAppPage,
  ModelDrivenAppPage,
  ApiTestHelper,
  AccessibilityTestHelper,
  ConfigHelper,
  TestLogger,
} from 'playwright-power-platform-toolkit';

2. Use Page Objects

import { test } from '@playwright/test';
import { PowerAppsPage } from 'playwright-power-platform-toolkit';

test('Navigate to Apps', async ({ page }) => {
  const powerAppsPage = new PowerAppsPage(page);
  await powerAppsPage.navigateToApps();
});

3. Test APIs

import { test } from '@playwright/test';
import { ApiTestHelper, ConfigHelper } from 'playwright-power-platform-toolkit';

test('Test Power Apps API', async ({ request }) => {
  const config = ConfigHelper.getInstance();
  const apiHelper = new ApiTestHelper(request, config);

  const response = await apiHelper.get('/providers/Microsoft.PowerApps/apps');
  await apiHelper.validateStatusCode(response, 200);
});

4. Check Accessibility

import { test, expect } from '@playwright/test';
import { AccessibilityTestHelper } from 'playwright-power-platform-toolkit';

test('Check WCAG compliance', async ({ page }) => {
  await page.goto('https://make.powerapps.com');

  const a11yHelper = new AccessibilityTestHelper(page);
  const results = await a11yHelper.scanPage();

  expect(results.violations).toHaveLength(0);
});

πŸ“š Documentation

For comprehensive documentation, see:

Online Documentation

Visit the documentation site at: https://deepakkamboj.github.io/playwright-power-platform-toolkit/ (deployed from packages/docs/)


πŸ§ͺ Example Test Project

The packages/e2e-tests/ directory contains a complete example of how to use this library in your test project. The example includes:

  • Test fixtures with auto-injection of library utilities
  • Global setup/teardown hooks for test lifecycle management
  • Environment-based test filtering (local, dev, test, staging, prod)
  • Pre-configured test types (smoke, nightly, API, accessibility, E2E)
  • Complete playwright.config.ts with all optimizations
cd packages/e2e-tests
npm install
npm run auth:headful
npm test

The example project demonstrates best practices for organizing tests, using fixtures, and structuring a consumer test infrastructure that leverages this library.


πŸ—οΈ Monorepo Structure

This project uses Rush for monorepo management:

playwright-power-platform/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ playwright-power-platform-toolkit/  # Main library package
β”‚   β”‚   β”œβ”€β”€ src/                            # Library source code
β”‚   β”‚   β”œβ”€β”€ dist/                           # Compiled output
β”‚   β”‚   └── docs/                           # Documentation
β”‚   β”œβ”€β”€ e2e-tests/                          # Example tests
β”‚   β”‚   β”œβ”€β”€ tests/                          # Test files
β”‚   β”‚   └── scripts/                        # Helper scripts
β”‚   └── docs/                               # Documentation site
β”œβ”€β”€ common/                                 # Rush configuration
β”œβ”€β”€ .github/workflows/                      # CI/CD pipelines
└── rush.json                               # Rush configuration

Rush Commands

# Install all dependencies
rush install

# Build all packages
rush build

# Rebuild all packages
rush rebuild

# Update dependencies
rush update

# Lint all packages
rush lint

# Format code
npm run format

# Check formatting
npm run format:check

πŸ” Authentication

This library uses playwright-ms-auth for Microsoft authentication.

Certificate Authentication

MS_AUTH_EMAIL=user@domain.com
MS_AUTH_CREDENTIAL_TYPE=certificate
MS_CERTIFICATE_PATH=./cert.pfx
MS_CERTIFICATE_PASSWORD=YourPassword

Password Authentication

MS_AUTH_EMAIL=user@domain.com
MS_AUTH_CREDENTIAL_TYPE=password
MS_USER_PASSWORD=password

See PIPELINE-SETUP.md for complete authentication setup instructions.


πŸš€ CI/CD Pipelines

This repository includes GitHub Actions workflows:

See .github/workflows/README.md for detailed pipeline documentation.


🀝 Contributing

Development Workflow

  1. Clone the repository

    git clone https://github.com/deepakkamboj/playwright-power-platform.git
    cd playwright-power-platform
  2. Install dependencies

    nvm use
    npm install -g @microsoft/rush
    rush install
  3. Make changes to library source

    • Edit files in packages/playwright-power-platform-toolkit/src/ directory
    • Update exports in src/index.ts if adding new features
  4. Build the library

    rush build
  5. Test your changes

    cd packages/e2e-tests
    npm run auth:headful  # Authenticate (first time only)
    npm test              # Run all tests
  6. Format and lint

    npm run format        # Format all code
    rush lint             # Lint all packages
  7. Submit pull request

    • Create a feature branch
    • Make your changes
    • Push and create a PR

Project Structure

  • Library code: packages/playwright-power-platform-toolkit/src/
  • Test code: packages/e2e-tests/tests/
  • Documentation: packages/docs/ and packages/playwright-power-platform-toolkit/docs/
  • Build output: packages/playwright-power-platform-toolkit/dist/

πŸ“ License

MIT


πŸ”— Related Projects


πŸ’‘ Tips

  1. Use the library as a dependency: Install via npm in your test projects
  2. Create custom fixtures: Extend the library with your own fixtures in your test project
  3. Organize tests: Separate library code from test code
  4. Handle auth properly: Run authentication once, reuse storage state
  5. Leverage API testing: Use ApiTestHelper for backend validation
  6. Check accessibility: Run AccessibilityTestHelper early and often
  7. Record APIs: Use ApiRecorder to understand application behavior
  8. Use colored logging: TestLogger helps debug issues faster
  9. Follow the example: See packages/e2e-tests/ for best practices
  10. Use Rush commands: Leverage Rush for efficient monorepo management

πŸ› Troubleshooting

Build Issues

# Clean and rebuild
rush rebuild

# Update dependencies
rush update

# Check Rush version
rush --version

Import Issues

Make sure the library is properly built:

cd packages/playwright-power-platform-toolkit
npm run build

Authentication Fails

  • Verify credentials in .env
  • Check certificate/password is correct
  • Ensure MFA is handled if required
  • See PIPELINE-SETUP.md for detailed setup

TypeScript Errors

  • Ensure @playwright/test peer dependency is installed
  • Check TypeScript version compatibility
  • Run rush build to ensure all packages are built

πŸ“ž Support

For issues and questions:


πŸ“Š Project Stats

  • Packages: 3 (toolkit, e2e-tests, docs)
  • Build System: Rush
  • CI/CD: GitHub Actions
  • Test Runner: Playwright
  • Language: TypeScript
  • Node Version: 20.16.0

🎯 Roadmap

  • Add support for Power Automate testing
  • Expand Dataverse API utilities
  • Add visual regression testing
  • Create VSCode extension
  • Add performance testing utilities
  • Expand documentation with more examples

πŸ“§ Contact

Deepak Kamboj


⭐ Star this repository if you find it helpful!

About

Enterprise Test Automation Framework for Microsoft Power Platform

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors