microsoft/WSEAutomationTests
PowerShell
Captured source
source ↗microsoft/WSEAutomationTests
Language: PowerShell
License: MIT
Stars: 5
Forks: 14
Open issues: 10
Created: 2025-01-28T21:01:27Z
Pushed: 2026-06-19T06:39:46Z
Default branch: main
Fork: no
Archived: no
README: Purpose ======= This repository contains the scripts and tools to conduct Windows Studio Effects (WSE) automated End-to-End Functional and Performance testing. These tests ensure the consistent functionality and reliability of Windows Studio Effects audio and camera effects across various settings. The tests utilize UIAutomationClient to automate UI interactions, simulating user actions like enabling/disabling effects or adjusting settings. By leveraging these automated tests, teams can confirm that Windows Studio Effects effects remain functional and performant, even under challenging conditions. Logs are collected and a test report is generated to help provide detailed information to troubleshoot issues.
State of the Repository ======================= The repository is actively maintained and updated to ensure compatibility with the latest firmware and Windows Studio Effects (WSE) versions. The repository is structured to facilitate easy access to the test scripts and guidelines, ensuring a smooth testing process for authorized personnel.
Set up Repo =========== Microsoft Employee: Link your public GitHub account with Microsoft Corp ID following the steps shared here - [Link](https://microsoft.sharepoint.com/:w:/r/teams/958_TOR/Shared%20Documents/Validation%20documents/SetupRepo.docx?d=w1768ccca7ad948a2b643c582ed018f69&csf=1&web=1&e=SLJekE) to create PR and propose changes.
Non-Microsoft: No access required. Fork the repo to propose changes.
- Fork the repository.
- Make changes.
- Submit a pull request for review.
- Two reviewers must approve the PR before it can be merged.
Getting Started =============== Installation ============
1. Clone/Fork/Download the Repository
# Clone the repository (if using Git) git clone # OR manually download and extract the zip file to C:\WSE\WSEAutomationTests\E2E
2. Verify Folder Structure
WSE\WSEAutomationTests\E2E\ ├── CheckInTest.ps1 ├── ReleaseTest.ps1 ├── StressTest.ps1 ├── MemoryUsage-Set.ps1 ├── ScenarioTest.ps1 ├── Framedrop-FPS-Testing.ps1 ├── CameraReliabilityTest.ps1 ├── Helper/ │ ├── InitializeTest.ps1 │ └── ... (other helper scripts) ├── Library/ │ ├── CameraAppHandlers.ps1 │ ├── TaskManager.ps1 │ └── ... (other libraries) ├── LoggerBinaries/ ├── Documents/ └── TestResults/ (generated during runs)
Test Environment Setup ----------------------
- Set up the test environment with a stable network and dedicated Wi-Fi to configure the smart plug.
_(Optional: Test scripts can be executed without smart plug setup. Please reach out to jdugar@microsoft.com if guidance is needed for configuration)_
- Ensure audio and video recording works, and Camera app, Settings page and Task manager opens maximized.
- Arrange posters or mannequins with human faces to activate auto-framing animations.
Typical Test Durations:
- CheckInTest: 30-60 minutes
- ReleaseTest: 1–4 days
_(Duration depends on supported features across different SOCs (V1, V2, V3), the number of selected video and photo resolutions, test coverage for both recording and preview, and plugged-in vs. unplugged scenarios)_ Feature coverage by SOCs: V1: Auto-framing, Blur, Eye Contact (Standard) V2: Eye Contact (Teleprompter), Portrait Light, Creative Filters (Illustrated, Animated, Watercolor) V3: Cinematic Framing
- StressTest: 3-4 hours
Coverage and Validation:
- Validates the availability and functionality of Windows Studio Effects (camera and audio) toggles, ensuring they can be toggled On/Off.
- Validates video fps > 29fps.
- Validates PeakWorkingSetSize does not increase by more than 1000KB during video recording.
- Validates tests are conducted across various parameters, including resolutions, power states etc
- Validates Windows Studio Effects(WSE) is not supported in Photo Mode.
- Validates the correct scenarioId is generated for both individual and combined effects
- Verifies the number of frames exceeding 33ms in processing time.
- Verifies that the PC session is properly initialized and completed, including logs for "Starting Microsoft.ASG.Perception" and "Stopping Microsoft.ASG.Perception."
- Captures KPIs - time to first frame, camera Init Time, video fps
- Captures NPU and CPU usage by taking Task Manager screenshots.
- Captures NPU and CPU and memory usage before test starts and while tests are running.
- Validates AvgWorkingSetSize 250MB , this may indicate a potential memory leak and should be manually investigated using Application Verifier and WinDbg on the Frameserver svchost.exe process with stress testing (e.g., repeatedly minimizing/maximizing the Camera app or revisiting the Camera settings page)
Test Scripts ============
1. CheckInTest.ps1 - Basic Validation
Purpose: Verify basic functionality of each Windows Studio Effect.
Features:
- Tests individual effect toggles (On/Off)
- Verifies correct scenario IDs are generated
- End-to-end camera and voice recorder tests
- Tests both plugged-in and unplugged scenarios
- Results are logged and converted into an Excel report for analysis.
How to Run Script
##### Basic Execution (No Parameters)
cd C:\WSE\WSEAutomationTests\E2E .\CheckInTest.ps1
##### With All Parameters
.\CheckInTest.ps1 -token "your_token" -SPId "your_SPId" -targetMepCameraVer "23.0.1" -targetMepAudioVer "23.0.1" -targetPerceptionCoreVer "1.0.0"
2. ReleaseTest.ps1 - Comprehensive Coverage
Purpose: Extensive testing across multiple resolutions and combinations
Features:
- 800+ test combinations
- Run tests with highest, 720p and lowest or 360p video resolutions (device-dependent)
- Run tests with single photo resolutions (Preferably 2.1MP)
- Multiple effect combinations
- Plugged-in and unplugged scenarios
- Battery management with smart plug integration
- Results are logged and converted into an Excel report for analysis.
- ReRunFailedTest.ps1 is generated with the details of all failed tests after ReleaseTest.ps1 finishes.
How to Run Script
##### Basic Execution (Plugged-In Only)
cd C:\WSE\WSEAutomationTests\E2E .\ReleaseTest.ps1
##### With Parameters ###### I. Both PluggedIn and Unplugged Tests Run all scenarios by switching between charging states:
Excerpt shown — open the source for the full document.
Notability
notability 2.0/10Test automation repo, low traction.