Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/snacsnoc/edgecaser
This tool uses Selenium with Python to take screenshots of a webpage at various stages of its loading process
https://github.com/snacsnoc/edgecaser
selenium-python
Last synced: about 2 months ago
JSON representation
This tool uses Selenium with Python to take screenshots of a webpage at various stages of its loading process
- Host: GitHub
- URL: https://github.com/snacsnoc/edgecaser
- Owner: snacsnoc
- Created: 2024-01-26T07:15:28.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-02-12T10:38:19.000Z (11 months ago)
- Last Synced: 2024-02-13T09:22:50.416Z (11 months ago)
- Topics: selenium-python
- Language: Python
- Homepage:
- Size: 31.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## edgecaser
Run your web app through multiple network conditions and test for unexpected issues.__Website demo:__ https://edgecaser.up.railway.app/
## How It Works
- **Quart**: Uses the async framework Quart handles HTTP requests and serves the web interface.
- **Playwright**: Replaces Selenium WebDriver (see `web_run.py`) with Playwright for browser automation. Playwright supports testing across Chrome, Firefox, and WebKit with a single API.
- **Dynamic Screenshot Capturing**: Utilizes Playwright's screenshot capabilities to capture the state of the webpage at regular intervals.
- **Chrome Network Condition Simulation**: Uses Chrome DevTools Profile ability to simulate various network conditions (such as Slow 3G, Fast 3G, LTE, 5G, and custom profiles) to test how network performance impacts user experience.
- **Video Creation**: Combines captured screenshots into a video using `ffmpeg`.## Features
- **Cross-Browser Testing**: Utilizes Playwright for testing across Chrome, Firefox, and WebKit (Safari).
- **Headless Mode**: Supports headless testing in all browsers.
- **Custom Settings**: Offers adjustable resolution and network condition simulation for specific testing scenarios.## Future Plans
- **Advanced Interactions**: Enables complex user interactions (clicks, submissions) via Playwright's API.
- **Logging and Diagnostics**: Plans to capture detailed logs and metrics for enhanced analysis.## Setup and Running
### Setup
Ensure you have Python 3.7+ and a smile on your face. Install the required dependencies:```bash
pip install -r requirements.txt
```### Running the Application
- Start Quart in debug mode:
```bash
quart --debug run
```