This project contains automated tests for the Pixel Streaming web UI using Python, pytest, and Selenium.
- Windows 10/11 machine
- Python 3.13
- Chrome browser installed
-
Clone repository:
git clone https://github.com/JnProfile/unreal_auto.git
-
Download and unzip UE5 project
-
Start Pixel Streaming servers:
# Run VehicleTouch50/PixelStreaming/WebServers/get_ps_servers.bat # Run VehicleTouch50/PixelStreaming\WebServers\SignallingWebServer\platform_scripts\cmd\setup.bat # Run Start_WithTURN_SignallingServer.ps1
-
Launch and test the application:
- Run VehicleTouch50_Launch
- Test the connection at http://127.0.0.1
-
Set up Python environment:
# Create virtual environment python -m venv venv # Activate virtual environment # On Windows: venv\Scripts\activate # On Unix/MacOS: source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
Before running tests, make sure to:
- Start Pixel Streaming servers manually(Start_WithTURN_SignallingServer.ps1 has to be lauched (Setup article 3)):
- Run VehicleTouch50/PixelStreaming/WebServers/get_ps_servers.bat
- Run VehicleTouch50/PixelStreaming\WebServers\SignallingWebServer\platform_scripts\cmd\setup.bat
- Run Start_WithTURN_SignallingServer.ps1
- Launch the UE5 project manually (VehicleTouch50_Launch has to be lauched (Setup article 4))
Once the UE5 project and Pixel Streaming servers are running, you can execute the tests:
To run all tests:
pytestTo run with detailed output:
pytest -vTo run with HTML report:
pytest --html=report.htmlconftest.py- Contains pytest fixtures and configurationpages/- Contains page object classestests/- Contains test filesbaselines/- Contains baseline screenshots for visual comparison
The main test scenario covers:
- Page load and button availability check
- Play button functionality
- Fullscreen toggle
- Settings panel
- Stats panel
- Disconnection test
- Reconnection attempt test
- The first time you run the tests, baseline screenshots will be created automatically, next tests run will be with comparison of screenshots and baselines
- IMPORTANT: Pixel Streaming and UE5 project must be launched manually before running tests, as automated launch is currently disabled due to reliability issues
- Some tests include small delays to account for UI state changes