{"id":32692630,"url":"https://github.com/damianczer/selenium-smoke-tests","last_synced_at":"2026-05-07T09:32:35.188Z","repository":{"id":320725048,"uuid":"960517170","full_name":"damianczer/Selenium-Smoke-Tests","owner":"damianczer","description":"Robot Framework test suite for web applications. Includes interactive browser automation, smoke testing, and cross-browser support. Integrated with CI/CD for automated test runs across environments.","archived":false,"fork":false,"pushed_at":"2025-10-28T11:17:08.000Z","size":85,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-28T12:15:14.882Z","etag":null,"topics":["python","robot-framework","selenium","web-driver"],"latest_commit_sha":null,"homepage":"","language":"RobotFramework","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/damianczer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-04T15:12:43.000Z","updated_at":"2025-10-28T10:17:54.000Z","dependencies_parsed_at":"2025-10-28T12:15:34.919Z","dependency_job_id":null,"html_url":"https://github.com/damianczer/Selenium-Smoke-Tests","commit_stats":null,"previous_names":["damianczer/automatic-tests","damianczer/selenium-smoke-tests"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/damianczer/Selenium-Smoke-Tests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianczer%2FSelenium-Smoke-Tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianczer%2FSelenium-Smoke-Tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianczer%2FSelenium-Smoke-Tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianczer%2FSelenium-Smoke-Tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damianczer","download_url":"https://codeload.github.com/damianczer/Selenium-Smoke-Tests/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianczer%2FSelenium-Smoke-Tests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282166065,"owners_count":26625169,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-01T02:00:06.759Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","robot-framework","selenium","web-driver"],"created_at":"2025-11-01T16:01:42.015Z","updated_at":"2026-05-07T09:32:35.173Z","avatar_url":"https://github.com/damianczer.png","language":"RobotFramework","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \n# Selenium Smoke Tests\n\n*Production-ready test automation suite with comprehensive web testing scenarios*\n\n[![GitHub stars](https://img.shields.io/github/stars/damianczer/Selenium-Smoke-Tests?style=for-the-badge\u0026color=gold)](https://github.com/damianczer/Selenium-Smoke-Tests/stargazers)\n[![GitHub watchers](https://img.shields.io/github/watchers/damianczer/Selenium-Smoke-Tests?style=for-the-badge\u0026color=blue)](https://github.com/damianczer/Selenium-Smoke-Tests/watchers)\n[![GitHub issues](https://img.shields.io/github/issues/damianczer/Selenium-Smoke-Tests?style=for-the-badge\u0026color=red)](https://github.com/damianczer/Selenium-Smoke-Tests/issues)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\n\n| Technology | Purpose | Documentation |\n|------------|---------|---------------|\n| ![Robot Framework](https://img.shields.io/badge/Robot_Framework-000000?style=for-the-badge\u0026logo=robotframework\u0026logoColor=white) | Test Automation Framework | [User Guide](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html) |\n| ![SeleniumLibrary](https://img.shields.io/badge/SeleniumLibrary-43B02A?style=for-the-badge\u0026logo=selenium\u0026logoColor=white) | Browser Automation Library | [Documentation](https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html) |\n| ![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white) | Programming Language | [Documentation](https://docs.python.org/3/) |\n| ![The Internet](https://img.shields.io/badge/Test_Application-4A4A4A?style=for-the-badge\u0026logo=googlechrome\u0026logoColor=white) | Demo Web App for Testing | [The Internet](https://the-internet.herokuapp.com/) |\n| ![Robot Syntax](https://img.shields.io/badge/Robot_Syntax-000000?style=for-the-badge\u0026logo=robotframework\u0026logoColor=white) | Test Data \u0026 Keyword Syntax | [Syntax Guide](https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#test-data-syntax) |\n\nThis project demonstrates best practices in test automation with a focus on maintainability, scalability, and CI/CD integration.\n\n\n\n### Test Coverage\nCurrently implemented test suites covering **93 test scenarios**:\n\n| Test Suite | Test Cases | Coverage |\n|------------|------------|----------|\n| **A/B Testing** | 5 scenarios | Variant testing, page refresh, content validation |\n| **Add/Remove Elements** | 8 scenarios | DOM manipulation, performance testing |\n| **Basic Auth** | 8 scenarios | HTTP authentication, security validation |\n| **Checkboxes** | 8 scenarios | Form elements, state management, persistence testing |\n| **Context Menu** | 8 scenarios | Mouse interactions, element properties, UI testing |\n| **Dropdown** | 8 scenarios | Select elements, form validation, option management |\n| **Drag and Drop** | 8 scenarios | Element manipulation, drag interactions, UI controls |\n| **File Upload** | 8 scenarios | File handling, form submissions, upload validation |\n| **JavaScript Alerts** | 8 scenarios | Alert dialogs, confirm dialogs, prompt dialogs |\n| **Dynamic Loading** | 8 scenarios | Dynamic content loading, element visibility, AJAX testing |\n| **Hovers** | 8 scenarios | Mouse hover interactions, tooltip display, UI feedback |\n| **Inputs** | 8 scenarios | Number input validation, keyboard interactions, form fields |\n\nExecution:\n\n\u003cimg width=\"692\" height=\"312\" alt=\"image\" src=\"https://github.com/user-attachments/assets/3586fcf9-ad17-46ca-810c-7efd01138b34\" /\u003e\n\nRaport:\n\n\u003cimg width=\"913\" height=\"890\" alt=\"image\" src=\"https://github.com/user-attachments/assets/af25dfc8-8fcf-4112-afc3-c300d6613a3d\" /\u003e\n\n\u003c/div\u003e\n\n## Quick Demo\n\n```bash\n# Clone and run in 3 commands\ngit clone https://github.com/damianczer/Selenium-Smoke-Tests.git\ncd Automatic-Tests\npip install -r requirements.txt\n\n# Run smoke tests (takes ~2 minutes)\nrun_tests.bat smoke\n```\n## Prerequisites\n\n- Python 3.8 or higher\n- pip (Python package manager)\n- Google Chrome or Firefox browser\n- Git (for cloning the repository)\n\n## Installation\n\n### Step 1: Create virtual environment (recommended)\n```bash\n# Create virtual environment\npython -m venv venv\n\n# Activate virtual environment\n# On Windows:\nvenv\\Scripts\\activate\n# On macOS/Linux:\nsource venv/bin/activate\n```\n\n### Step 2: Install dependencies\n```bash\npip install -r requirements.txt\n```\n\n## Running Tests\n\n### Quick Start (Windows)\nUse the provided batch script for easy test execution:\n```cmd\n# Run all tests (93 test cases)\nrun_tests.bat\n\n# Run only smoke tests (16 critical test cases)\nrun_tests.bat smoke\n\n# Run A/B Testing tests only (5 test cases)\nrun_tests.bat ab_testing\n\n# Run Add/Remove Elements tests only (8 test cases)\nrun_tests.bat add_remove\n\n# Run Basic Auth tests only (8 test cases)\nrun_tests.bat basic_auth\n\n# Run Checkboxes tests only (8 test cases)\nrun_tests.bat checkboxes\n\n# Run Context Menu tests only (8 test cases)\nrun_tests.bat context_menu\n\n# Run Dropdown tests only (8 test cases)\nrun_tests.bat dropdown\n\n# Run Drag and Drop tests only (8 test cases)\nrun_tests.bat drag_and_drop\n\n# Run File Upload tests only (8 test cases)\nrun_tests.bat file_upload\n\n# Run JavaScript Alerts tests only (8 test cases)\nrun_tests.bat javascript_alerts\n\n# Run Dynamic Loading tests only (8 test cases)\nrun_tests.bat dynamic_loading\n\n# Run Hovers tests only (8 test cases)\nrun_tests.bat hovers\n\n# Run Inputs tests only (8 test cases)\nrun_tests.bat inputs\n\n# Run in headless mode\nrun_tests.bat basic_auth\n\n# Run tests in headless mode (no browser window)\nrun_tests.bat headless\n```\n\n### Manual Execution\n\n#### Run all tests:\n```bash\npython -m robot -d results tests/\n```\n\n#### Run specific test file:\n```bash\n# A/B Testing (5 test cases)\npython -m robot -d results tests/ab_testing.robot\n\n# Add/Remove Elements (8 test cases)\npython -m robot -d results tests/add_remove_elements.robot\n\n# Basic Auth (8 test cases)\npython -m robot -d results tests/basic_auth.robot\n\n# Checkboxes (8 test cases)\npython -m robot -d results tests/checkboxes.robot\n\n# Context Menu (8 test cases)\npython -m robot -d results tests/context_menu.robot\n\n# Dropdown (8 test cases)\npython -m robot -d results tests/dropdown.robot\n\n# Drag and Drop (8 test cases)\npython -m robot -d results tests/drag_and_drop.robot\n\n# File Upload (8 test cases)\npython -m robot -d results tests/file_upload.robot\n\n# JavaScript Alerts (8 test cases)\npython -m robot -d results tests/javascript_alerts.robot\n\n# Dynamic Loading (8 test cases)\npython -m robot -d results tests/dynamic_loading.robot\n\n# Hovers (8 test cases)\npython -m robot -d results tests/hovers.robot\n\n# Inputs (8 test cases)\npython -m robot -d results tests/inputs.robot\n```\n\n#### Run tests with specific browser:\n```bash\n# Chrome (default)\npython -m robot -v BROWSER:chrome -d results tests/\n\n# Firefox\npython -m robot -v BROWSER:firefox -d results tests/\n\n# Headless Chrome\npython -m robot -v BROWSER:chrome -v HEADLESS:True -d results tests/\n```\n\n#### Run tests with tags:\n```bash\n# Run only smoke tests (16 test cases)\npython -m robot -i smoke -d results tests/\n\n# Run authentication tests (Basic Auth - 8 test cases)\npython -m robot -i authentication -d results tests/\n\n# Run functionality tests (multiple test cases)\npython -m robot -i functionality -d results tests/\n\n# Run form elements tests\npython -m robot -i forms -d results tests/\n\n# Run tests excluding slow ones\npython -m robot -e slow -d results tests/\n\n# Run specific functionality tests\npython -m robot -i ab_testing -d results tests/\npython -m robot -i basic_auth -d results tests/\npython -m robot -i checkboxes -d results tests/\npython -m robot -i context_menu -d results tests/\npython -m robot -i dropdown -d results tests/\npython -m robot -i drag_and_drop -d results tests/\npython -m robot -i file_upload -d results tests/\n```\n\n## Test Results\n\nAfter running tests, results are available in the `results/` directory:\n- **report.html** - High-level test report\n- **log.html** - Detailed execution log\n- **output.xml** - Machine-readable results\n\n### Opening Results\n```bash\n# Open report in default browser (Windows)\nstart results/report.html\n\n# Open detailed log\nstart results/log.html\n```\n\n## Configuration\n\n### Browser Configuration\nEdit `resources/variables.robot` to change default settings:\n```robot\n${BROWSER}               chrome        # Default browser\n${HEADLESS}              False         # Run in headless mode\n${IMPLICIT_WAIT}         10            # Default wait time\n${WINDOW_WIDTH}          1920          # Browser window width\n${WINDOW_HEIGHT}         1080          # Browser window height\n```\n\n### Test Configuration\nEdit `robot.yaml` for global Robot Framework settings.\n\n## Available Test Suites\n\n### A/B Testing (`tests/ab_testing.robot`)\nTests the A/B Testing functionality on the-internet.herokuapp.com:\n- TC001: Check A/B Testing link availability on homepage\n- TC002: Navigate from homepage to A/B Testing page\n- TC003: Verify A/B Testing page content\n- TC004: Check A/B Testing variant display\n- TC005: Test page refresh behavior\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `ab_testing`, `refresh`\n\n### Add/Remove Elements (`tests/add_remove_elements.robot`)\nTests dynamic DOM manipulation functionality:\n- TC001: Check Add/Remove Elements link availability on homepage\n- TC002: Navigate to Add/Remove Elements page\n- TC003: Verify basic page functionality\n- TC004: Add single element\n- TC005: Add and remove element (full cycle)\n- TC006: Add multiple elements\n- TC007: Remove all elements\n- TC008: Performance test with many elements\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `performance`, `add_remove`\n\n### Basic Auth (`tests/basic_auth.robot`)\nTests HTTP Basic Authentication functionality:\n- TC001: Check Basic Auth link availability on homepage\n- TC002: Navigate to Basic Auth page with credentials\n- TC003: Verify Basic Auth success page content\n- TC004: Basic Auth via homepage navigation\n- TC005: Multiple Basic Auth access attempts\n- TC006: Basic Auth page refresh behavior\n- TC007: Basic Auth URL structure validation\n- TC008: Basic Auth security headers check\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `authentication`, `security`, `basic_auth`\n\n### Checkboxes (`tests/checkboxes.robot`)\nTests form elements and checkbox state management:\n- TC001: Check Checkboxes link availability on homepage\n- TC002: Navigate to Checkboxes page\n- TC003: Verify Checkboxes page content\n- TC004: Check initial checkbox states\n- TC005: Toggle first checkbox\n- TC006: Toggle second checkbox\n- TC007: Multiple checkbox operations\n- TC008: Checkbox persistence test\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `forms`, `checkboxes`\n\n### Context Menu (`tests/context_menu.robot`)\nTests context menu interactions and mouse event handling:\n- TC001: Check Context Menu link availability on homepage\n- TC002: Navigate to Context Menu page\n- TC003: Verify Context Menu page content\n- TC004: Test right click context menu alert (element interaction)\n- TC005: Test context menu element interaction\n- TC006: Test context menu box properties\n- TC007: Multiple context menu box interactions\n- TC008: Context menu page elements verification\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `interaction`, `context_menu`\n\n### Dropdown (`tests/dropdown.robot`)\nTests dropdown/select element functionality and form interactions:\n- TC001: Check Dropdown link availability on homepage\n- TC002: Navigate to Dropdown page\n- TC003: Verify Dropdown page content\n- TC004: Verify dropdown default state\n- TC005: Select Option 1 from dropdown\n- TC006: Select Option 2 from dropdown\n- TC007: Multiple dropdown selections\n- TC008: Dropdown options verification\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `forms`, `dropdown`\n\n### Drag and Drop (`tests/drag_and_drop.robot`)\nTests drag and drop interactions and element manipulation:\n- TC001: Check Drag and Drop link availability on homepage\n- TC002: Navigate to Drag and Drop page\n- TC003: Verify Drag and Drop page content\n- TC004: Verify initial state of drag and drop elements\n- TC005: Drag element from column A to column B\n- TC006: Drag element from column B to column A\n- TC007: Multiple drag and drop operations\n- TC008: Drag and drop elements properties verification\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `interaction`, `drag_and_drop`\n\n### File Upload (`tests/file_upload.robot`)\nTests file upload functionality and form submissions:\n- TC001: Check File Upload link availability on homepage\n- TC002: Navigate to File Upload page\n- TC003: Verify File Upload page content\n- TC004: Verify file upload elements properties\n- TC005: Upload text file\n- TC006: Upload different file types\n- TC007: Multiple file upload operations\n- TC008: File upload form validation\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `forms`, `file_upload`\n\n### JavaScript Alerts (`tests/javascript_alerts.robot`)\nTests JavaScript alert dialogs, confirm dialogs, and prompt dialogs:\n- TC001: Check JavaScript Alerts link availability on homepage\n- TC002: Navigate to JavaScript Alerts page\n- TC003: Verify JavaScript Alerts page content\n- TC004: Test JavaScript Alert dialog\n- TC005: Test JavaScript Confirm dialog accept\n- TC006: Test JavaScript Confirm dialog dismiss\n- TC007: Test JavaScript Prompt dialog\n- TC008: Multiple JavaScript alerts operations\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `alerts`, `javascript_alerts`\n\n### Dynamic Loading (`tests/dynamic_loading.robot`)\nTests dynamic content loading and element visibility changes:\n- TC001: Check Dynamic Loading link availability on homepage\n- TC002: Navigate to Dynamic Loading page\n- TC003: Verify Dynamic Loading page content\n- TC004: Test dynamic loading Example 1 - hidden element\n- TC005: Test dynamic loading Example 2 - rendered element\n- TC006: Verify loading states Example 1\n- TC007: Verify loading states Example 2\n- TC008: Multiple dynamic loading operations\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `ajax`, `dynamic_loading`\n\n### Hovers (`tests/hovers.robot`)\nTests mouse hover interactions and tooltip display:\n- TC001: Check Hovers link availability on homepage\n- TC002: Navigate to Hovers page\n- TC003: Verify Hovers page content\n- TC004: Test hover on User 1\n- TC005: Test hover on User 2\n- TC006: Test hover on User 3\n- TC007: Verify user profile links\n- TC008: Multiple hover operations\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `interactions`, `hovers`\n\n### Inputs (`tests/inputs.robot`)\nTests number input fields and keyboard interactions:\n- TC001: Check Inputs link availability on homepage\n- TC002: Navigate to Inputs page\n- TC003: Verify Inputs page content\n- TC004: Test number input with valid number\n- TC005: Test number input with negative number\n- TC006: Test number input with zero\n- TC007: Test number input increment and decrement\n- TC008: Multiple input operations\n\n**Tags:** `smoke`, `navigation`, `content`, `functionality`, `forms`, `inputs`\n\n\u003cdiv align=\"center\"\u003e\n\n### Author: Damian Czerwiński\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ for the TEST Community**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamianczer%2Fselenium-smoke-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamianczer%2Fselenium-smoke-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamianczer%2Fselenium-smoke-tests/lists"}