A comprehensive testing suite for GitHub's login functionality and homepage performance using PHPUnit and PHP WebDriver.
This project provides automated tests for GitHub's web interface, focusing on:
- Login functionality validation
- Homepage performance metrics
- Reliability testing
- Stress testing
- PHP 7.4 or higher
- Composer
- Chrome/Firefox WebDriver
- Clone this repository
- Install dependencies:
composer install- Configure WebDriver (ensure browser driver is in PATH)
- GitHubLoginSmokeTest.php: Basic login functionality verification
- GitHubLoginValidationTest.php: Input validation and error handling tests
- GitHubHomePagePerformanceTest.php: Measures loading time and resource usage of GitHub homepage
- GitHubStressTest.php: Evaluates system behavior under high load
- GitHubReliabilityTest.php: Long-running tests to detect intermittent issues
Run all tests:
./vendor/bin/phpunitRun specific test suite:
./vendor/bin/phpunit --testsuite loginRun single test:
./vendor/bin/phpunit tests/GitHubLoginSmokeTest.phpTest reports are generated in the output/ directory:
homepage_performance_report.json: Performance metrics for GitHub homepagereliability_test_report.json: Details on system stabilitystress_test_metrics.log: Raw data from stress testing
The repository includes a detailed guide Software-Testing-PHPUnit.pdf that covers:
- PHPUnit fundamentals and best practices
- Web testing strategies using PHP WebDriver
- Implementing test suites for web applications
- Analyzing and interpreting test results
- Automated reporting and continuous integration setup
This document serves as both a reference guide and tutorial for extending the testing framework.
The framework includes a TransactionService for simulating and tracking test transactions.
Contributions are welcome! Please feel free to submit a Pull Request.