A simple, powerful automated UI testing framework based on Node.js.
testring is a modern testing framework specifically designed for automated testing of web applications. It provides:
- ๐ High Performance - Multi-process parallel test execution
- ๐ง Extensible - Rich plugin system architecture
- ๐ Multi-Browser - Support for Chrome, Firefox, Safari, Edge
- ๐ฑ Modern - Support for both Selenium and Playwright drivers
- ๐ ๏ธ Developer Friendly - Complete development toolchain
testring/
โโโ core/ # Core modules - Framework foundation
โ โโโ api/ # Test API controllers
โ โโโ cli/ # Command line interface
โ โโโ logger/ # Distributed logging system
โ โโโ transport/ # Inter-process communication
โ โโโ test-worker/ # Test worker processes
โ โโโ ... # Other core modules
โโโ packages/ # Extension packages - Plugins and tools
โ โโโ plugin-selenium-driver/ # Selenium driver plugin
โ โโโ plugin-playwright-driver/ # Playwright driver plugin
โ โโโ web-application/ # Web application testing
โ โโโ devtool-frontend/ # Developer tools frontend
โ โโโ ... # Other extension packages
โโโ docs/ # Documentation directory
โโโ utils/ # Build and maintenance tools
โโโ README.md # Project documentation
Core modules provide the framework's foundational functionality:
- API Layer - Test execution and control interfaces
- CLI Tools - Command line interface and argument processing
- Process Management - Multi-process test execution and communication
- File System - Test file discovery and reading
- Logging System - Distributed logging and management
- Plugin System - Extensible plugin architecture
Extension packages provide additional functionality and tools:
- Browser Drivers - Selenium and Playwright support
- Web Testing - Web application-specific testing features
- Developer Tools - Debugging and monitoring tools
- Network Communication - WebSocket and HTTP support
- File Handling - File upload, download, and storage
# Install the main framework
npm install testring
# Install Selenium driver (recommended)
npm install @testring/plugin-selenium-driver
# Or install Playwright driver
npm install @testring/plugin-playwright-driverCreate a .testringrc configuration file:
{
"tests": "./tests/**/*.spec.js",
"plugins": [
"@testring/plugin-selenium-driver"
],
"workerLimit": 2,
"retryCount": 3
}// tests/example.spec.js
describe('Example Test', () => {
it('should be able to access the homepage', async () => {
await browser.url('https://example.com');
const title = await browser.getTitle();
expect(title).toBe('Example Domain');
});
});# Run all tests
testring run
# Run specific tests
testring run --tests "./tests/login.spec.js"
# Set parallel execution
testring run --workerLimit 4
# Debug mode
testring run --logLevel debugFor detailed documentation, please refer to:
- API Reference - Framework API documentation
- Configuration Reference - Complete configuration options
- Plugin Development Guide - Plugin development guide
- Complete Documentation - Full documentation index
- Support for running multiple tests simultaneously
- Process isolation to prevent test interference
- Intelligent load balancing
- Chrome, Firefox, Safari, Edge
- Headless mode support
- Mobile browser testing
- Rich official plugins
- Simple plugin development API
- Community plugin support
- Visual debugging interface
- Real-time test monitoring
- Detailed test reports
# Clone the project
git clone https://github.com/ringcentral/testring.git
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm testContributions are welcome! Please follow these steps:
- Fork the project
- Create a feature branch
- Submit your changes
- Create a Pull Request
MIT License - See the LICENSE file for details.
- ๐ Documentation
- ๐ Issue Reporting
- ๐ฌ Discussions
่ฟไธช้กน็ฎๅ ๅซไธไธช็ฌ็ซ็ Cloudflare Worker๏ผๆไพๅจ็บฟๆต่ฏ็ฏๅข๏ผ
cloudflare-worker/
โโโ build.js # ๆๅปบ่ๆฌ
โโโ wrangler.toml # Worker ้
็ฝฎ
โโโ package.json # ไพ่ต็ฎก็
โโโ static-fixtures/ # ๆต่ฏ้กต้ขๆบๆไปถ (24ไธช)
โโโ worker.js # ็ๆ็ไปฃ็ (gitignored)
โโโ README.md # ่ฏฆ็ปๆๆกฃ
cd cloudflare-worker
npm install
npm run build
npm run deploy่ฏฆ็ปไฟกๆฏ่ฏทๆฅ็ cloudflare-worker/README.md