Skip to content

Repository files navigation

Selenium 101 Certification - LambdaTest

Overview

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.

Features

  • 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.

Technologies Used

  • Programming Language: Python
  • Automation Tool: Selenium WebDriver
  • Cloud Platform: LambdaTest Selenium Grid
  • Parallel Execution: Threading with concurrent.futures

Getting Started

Prerequisites

  • Python 3.13+
  • Selenium 4.27.1+
  • Active LambdaTest Account

Setup Instructions

  1. Clone the Repository:

    git clone https://github.com/oldregime/Selenium-101-Task.git
    cd Selenium-101-Task
  2. Install Dependencies:

    pip install -r requirements.txt
  3. Set LambdaTest Credentials: Create a .env file in the project root by copying the example:

    cp .env.example .env

    Then edit the .env file with your LambdaTest credentials:

    LT_USERNAME=your_username
    LT_ACCESS_KEY=your_access_key
    

    ⚠️SECURITY WARNING: Never commit your .env file or credentials to version control!

  4. Run Tests:

    python test_script.py

Key Highlights

Test Scenarios

  1. Simple Form Demo

    • Validate form submission.
    • Verify the input/output message displayed.
  2. Drag & Drop Sliders

    • Automate slider interactions.
    • Assert slider values post-movement.
  3. Input Form Validation

    • Test form submission without inputs.
    • Verify validation messages for required fields.

Parallel Execution

  • The framework runs tests concurrently on:
    • Windows 10, Chrome (latest)
    • macOS Catalina, Safari (latest)

Automation Capabilities

  • 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

Test IDs are automatically generated and can be found on your LambdaTest dashboard after execution. Please include them in your final submission if required.

Repository Structure

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

Security Best Practices

How to Revoke/Rotate LambdaTest Access Keys

If your access key has been exposed:

  1. Log in to LambdaTest: Go to LambdaTest Account Settings
  2. Navigate to Profile: Click on your profile icon → "Account Settings"
  3. Regenerate Access Key: Click on "Regenerate Access Key" button
  4. Update Your .env File: Copy the new access key to your local .env file
  5. Never commit credentials: Ensure .env is in your .gitignore

Storing Secrets Safely

  • Use environment variables (.env files) 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

Contributions

Feel free to fork this repository and submit pull requests for improvements or new test scenarios.

License

This project is licensed under the MIT License.

Contact

For any queries or support, reach out via email:

Showcase on Resume

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

About

Selenium

Resources

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages