A Test Automation Framework (TAF) is a set of guidelines, libraries for creating and designing test cases. It is conceptual part of the automated testing, provides common functionalities and best practices that helps Test Automation Engineers to create reliable, maintainable, and well-structured Test Automation Solutions (TAS).
AXA WebEngine Framework makes it easier to build highly effective test automation solutions for Web, Mobile Web and Mobile App testing.
Built by Test Guild of AXA France, available in .NET and JAVA and used in dozens of test automation projects within AXA France. We decided to open source this framework to share our knowledge on Test Automation to the community and hopes we can improve the framework (and the quality of IT Systems, or course 😉) together.
WebEngine Framework resolves some common problems every test automation project can face, and it simplifies the writing of test scripts.
- It supports all Selenium based technologies on Desktop Browsers, Mobile Browsers on different Mobile Devices.
- Using Browser Factory, there is no need to download various selenium WebDriver when browser and its version changes.
- Description oriented Web Element identification and synchronization with browser out-of-box.
- Organizing Web Element in Page Model makes test scripts easy to read and to maintain.
- Fully object-oriented and compatible with Keyword-Driven and Data-driven approach.
- Compatible with other another Unit test frameworks such as NUnit, Cucumber
- Easy configuration and Set-up for Execution: Run test directly from Excel, as well as on DevOps platforms
- Graphical test report.
- Open Source, free usage and let’s improve it together!
- Introduction: Explains common concepts of the framework.
- API Reference: Explains every class, method and property.
- Tutorials: Follow some step by step turotial to build first test automation solution using different approach.
https://axafrance.github.io/webengine-dotnet/
The Framework is distributed via Package Management: When using .NET, please find AxaFrance.WebEngine packages on nuget.org When using JAVA, these pacakges will be available on Maven
WebEngine includes an MCP server that enables AI-powered coding agents (like GitHub Copilot) to observe your application, execute tests, and generate UI test scripts automatically.
Key Features:
- Observe: Capture page state, inspect elements, and analyze accessibility
- Execute: Interact with UI elements and perform bulk actions on live applications
- Generate: Automatically create code in your stack (Playwright+TS, Selenium, WebEngine C#) from observed behavior
Plugins (stdio, recommended): one webengine-mcp binary, two plugins — plugins/webengine-web (Selenium, 29 tools) and plugins/webengine-mobile (Appium, 17 tools) — each bundling Agent Skills + MCP server for Copilot (Agent Plugins 1.0) and Codex. Details in plugins/README.md.
Install the plugins in your coding agent:
| Agent | Install |
|---|---|
| GitHub Copilot CLI | copilot plugin marketplace add AxaFrance/webengine-dotnet, then install webengine-web@webengine-plugins or webengine-mobile@webengine-plugins |
| GitHub Copilot (VS Code) | Chat: Install Plugin From Source → this repository or a plugin subdirectory |
| Codex (CLI/IDE/desktop) | codex plugin marketplace add AxaFrance/webengine-dotnet --sparse .agents/plugins |
| Claude Code | copy plugins/<name>/skills/* to .claude/skills/ + stdio entry in mcpServers |
| OpenCode | copy skills to .agents/skills/ + type: local entry in opencode.json |
| Cursor | copy skills to .cursor/skills/ + entry in .cursor/mcp.json |
The standard NuGet distribution runs without a local repository clone via dnx AxaFrance.WebEngine.Mcp --profile <web|mobile> --transport stdio, but requires the .NET 10 SDK 10.0.100 or later. Modern .NET is not included with Windows by default. Full per-agent guide: documentation article MCP Plugins for Coding Agents.
For detailed information on running the MCP server locally, available tools, and how to use it with coding agents, see WebEngineMCP.md.
Some organizations do not allow MCP servers. WebEngine also provides a
standalone webengine .NET tool: the short-lived CLI is a thin client and a
local daemon owns persistent Selenium browser sessions. This path does not
use MCP or require a repository checkout.
The tool requires the .NET 10 SDK 10.0.100 or later. Install it from Microsoft, then install the prerelease package while it is being validated:
dotnet tool install --global AxaFrance.WebEngine.Cli --prerelease
webengine daemon start --jsonWhen the webengine-cli Copilot plugin is installed, its skill checks for the
command and performs this installation automatically. It tries the stable
NuGet package first and uses --prerelease only when no stable package is
available.
The current web command surface includes persistent sessions, navigation,
DOM inspection, CSS/ref-based click and type actions, native <select>
selection, and an action log:
webengine web session open --headless --json
webengine web navigate --session <id> --url https://example.test --json
webengine web inspect --session <id> --json
webengine web click --session <id> --ref ref=3 --json
webengine web type --session <id> --selector '#notes' --text-file .\notes.txt --json
Get-Content .\notes.txt -Raw | webengine web type --session <id> --selector '#notes' --stdin --json
webengine web key --session <id> --selector '#query' --key Enter --json
webengine web actions --session <id> --json
webengine web session close --session <id> --json
webengine daemon stop --jsonweb type accepts exactly one of --text, --text-file, or --stdin.
UTF-8 file and stdin input preserves embedded CR/LF characters as one value.
File and stdin input avoid command-line exposure but do not bypass the action
log; only recognized password fields are redacted. Use the explicit
web key --key <name> command for Enter, Tab, Escape,
Backspace, Delete, Space, Home, End, PageUp, PageDown, or arrow keys.
Use the webengine-cli plugin when MCP is prohibited:
copilot plugin install webengine-cli@webengine-plugins
Browser commands currently target Chrome, Edge, and Firefox. Mobile/Appium commands and package publication are planned follow-up work. Do not submit real quotes, personal data, credentials, payment details, or other irreversible transactions during exploratory agent runs.
The documentation build uses the pinned DocFX .NET tool and writes the site
to docs/:
powershell -ExecutionPolicy Bypass -File scripts/build-docs.ps1We are working on the next version of WebEngine Framework, in the next versions we will bring.
- Enhanced Page-Object Model.
- Enhanced Element Description Model (with more attributes and relative-identification mode)
- Integrates Acessibility Testing with axe-core library and comprehensive reports.
To get detailed information with this roadmap, please check WebEngine 2.0 Roadmap
Feel free to reach us if you want to adopt the Framework, report Bugs, or have good ideas to contribute on it.
- https://github.com/AxaFrance/webengine-dotnet
- Main contributor: Huaxing YUAN
- https://github.com/AxaFrance/webengine-java
- Main contributor: