This repository contains the solution to the Selenium 101 Certification Assignment for LambdaTest. The project demonstrates proficiency in Selenium WebDriver for browser automation, running tests on LambdaTest's cloud Selenium Grid. It covers cross-browser compatibility testing, form validation, and result verification.
- Parallel Execution: Tests run simultaneously on multiple browser/OS combinations (e.g., Windows 10 Chrome, macOS Safari).
- Cross-Browser Testing: Ensures compatibility across different browsers and operating systems.
- Automation Logs: Enables network logs, video recordings, screenshots, and console logs.
- Scalable Framework: Designed for easy integration and scalability to include additional test scenarios.
- Programming Language: Python
- Automation Tool: Selenium WebDriver
- Cloud Platform: LambdaTest Selenium Grid
- Parallel Execution: Threading with
concurrent.futures
- Python 3.13+
- Selenium 4.27.1+
- Active LambdaTest Account
Clone the Repository:
git clone https://github.com/oldregime/Selenium-101-Task.git cd Selenium-101-TaskInstall Dependencies:
pip install -r requirements.txt
Set LambdaTest Credentials: Create a
.envfile in the project root by copying the example:cp .env.example .env
Then edit the
.envfile with your LambdaTest credentials:LT_USERNAME=your_username LT_ACCESS_KEY=your_access_key⚠️ SECURITY WARNING: Never commit your.envfile or credentials to version control!Run Tests:
python test_script.py
Simple Form Demo
- Validate form submission.
- Verify the input/output message displayed.
Drag & Drop Sliders
- Automate slider interactions.
- Assert slider values post-movement.
Input Form Validation
- Test form submission without inputs.
- Verify validation messages for required fields.
- The framework runs tests concurrently on:
- Windows 10, Chrome (latest)
- macOS Catalina, Safari (latest)
- Network Logs: Debugging network-level events.
- Video Recordings: Replay test runs for analysis.
- Screenshots: Capture browser states during execution.
- Console Logs: Monitor JavaScript errors and warnings.
Test IDs are automatically generated and can be found on your LambdaTest dashboard after execution. Please include them in your final submission if required.
Selenium-101-Task/
├── test_simple_form_demo.py # Script for Simple Form Demo test
├── test_drag_and_drop_slider.py # Script for Drag & Drop Sliders test
├── test_input_form_submit.py # Script for Input Form Validation test
├── requirements.txt # Python dependencies
├── .env.example # Example environment file (copy to .env)
├── .gitpod.yml # Gitpod configuration
└── README.md # Project documentation
If your access key has been exposed:
- Log in to LambdaTest: Go to LambdaTest Account Settings
- Navigate to Profile: Click on your profile icon → "Account Settings"
- Regenerate Access Key: Click on "Regenerate Access Key" button
- Update Your
.envFile: Copy the new access key to your local.envfile - Never commit credentials: Ensure
.envis in your.gitignore
- Use environment variables (
.envfiles) for local development - Use CI/CD secrets management for automated pipelines (GitHub Secrets, GitLab CI Variables, etc.)
- Never hardcode credentials in source files
- Rotate access keys periodically
Feel free to fork this repository and submit pull requests for improvements or new test scenarios.
This project is licensed under the MIT License.
For any queries or support, reach out via email:
- Email: divyansh8065@gmail.com
This project highlights:
- Expertise in Selenium WebDriver and Python for test automation.
- Hands-on experience with LambdaTest’s cloud Selenium Grid.
- Capability to design scalable, parallel test frameworks for cross-browser compatibility testing.
this repo will be made public on 1 feburary 2024