{"id":23296810,"url":"https://github.com/undisputed-jay/behavior-driven-development-testing-for-ecommerce-login","last_synced_at":"2025-04-06T19:51:24.197Z","repository":{"id":260556330,"uuid":"762846954","full_name":"Undisputed-jay/Behavior-Driven-Development-Testing-for-Ecommerce-Login","owner":"Undisputed-jay","description":"This project automates login testing with Behave and Selenium WebDriver, using BDD to verify login scenarios like valid and invalid credentials. The page object model (POM) keeps the code organized and easy to scale.","archived":false,"fork":false,"pushed_at":"2024-11-01T01:04:43.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T01:51:20.471Z","etag":null,"topics":["bdd-login-testing","behave-framework","page-object-model","python-test-automation","reusable-test-code","selenium-automation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Undisputed-jay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-02-24T21:15:03.000Z","updated_at":"2024-11-01T01:13:48.000Z","dependencies_parsed_at":"2024-11-01T02:17:50.559Z","dependency_job_id":"86db3a72-843f-43ec-86b7-2256493fb5d3","html_url":"https://github.com/Undisputed-jay/Behavior-Driven-Development-Testing-for-Ecommerce-Login","commit_stats":null,"previous_names":["undisputed-jay/behavior-driven-development-testing-for-ecommerce-login"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Undisputed-jay%2FBehavior-Driven-Development-Testing-for-Ecommerce-Login","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Undisputed-jay%2FBehavior-Driven-Development-Testing-for-Ecommerce-Login/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Undisputed-jay%2FBehavior-Driven-Development-Testing-for-Ecommerce-Login/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Undisputed-jay%2FBehavior-Driven-Development-Testing-for-Ecommerce-Login/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Undisputed-jay","download_url":"https://codeload.github.com/Undisputed-jay/Behavior-Driven-Development-Testing-for-Ecommerce-Login/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247543610,"owners_count":20955865,"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","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":["bdd-login-testing","behave-framework","page-object-model","python-test-automation","reusable-test-code","selenium-automation"],"created_at":"2024-12-20T07:15:20.138Z","updated_at":"2025-04-06T19:51:24.170Z","avatar_url":"https://github.com/Undisputed-jay.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Behavior-Driven-Testing-for-LoginPage\n\u003ch1\u003eAutomated Login Testing with Behave and Selenium\u003c/h1\u003e\n\n\u003cp\u003eThis project automates login functionality testing for a web application using \u003cstrong\u003eBehave\u003c/strong\u003e and \u003cstrong\u003eSelenium WebDriver\u003c/strong\u003e, following the behavior-driven development (BDD) approach. The framework tests various login scenarios, such as successful logins, invalid email or password entries, and empty credential submissions, using Selenium WebDriver to interact with the web application. Built with the page object model (POM), the project separates page-specific logic for better maintainability.\u003c/p\u003e\n\n\u003ch2\u003eTable of Contents\u003c/h2\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003ca href=\"#project-overview\"\u003eProject Overview\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#setup-instructions\"\u003eSetup Instructions\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#folder-structure\"\u003eFolder Structure\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#scenarios-tested\"\u003eScenarios Tested\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#utility-functions\"\u003eUtility Functions\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2 id=\"project-overview\"\u003eProject Overview\u003c/h2\u003e\n\u003cp\u003eThis test suite automates testing for the login functionality of a web application. Each test is written in a BDD style using Behave, and the steps interact with the web application through Selenium. The project utilizes a page object model for maintainable and reusable code.\u003c/p\u003e\n\n\u003ch2 id=\"features\"\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eLogin Functionality Testing:\u003c/strong\u003e Validates successful and unsuccessful login attempts.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003ePage Object Model (POM):\u003c/strong\u003e Separates page logic from test logic for readability and maintainability.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eTimestamped Email Generation:\u003c/strong\u003e Generates a unique email using a timestamp to test invalid email login attempts.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2 id=\"setup-instructions\"\u003eSetup Instructions\u003c/h2\u003e\n\u003col\u003e\n    \u003cli\u003e\u003cstrong\u003eClone the Repository\u003c/strong\u003e\n        \u003cpre\u003e\u003ccode\u003egit clone \u0026lt;repository-url\u0026gt;\ncd \u0026lt;repository-folder\u0026gt;\u003c/code\u003e\u003c/pre\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eInstall Dependencies\u003c/strong\u003e\n        \u003cpre\u003e\u003ccode\u003epip install -r requirements.txt\u003c/code\u003e\u003c/pre\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eSet Up WebDriver\u003c/strong\u003e Download the appropriate WebDriver for your browser (e.g., ChromeDriver for Chrome) and add it to your PATH.\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2 id=\"usage\"\u003eUsage\u003c/h2\u003e\n\u003col\u003e\n    \u003cli\u003e\u003cstrong\u003eRun Tests\u003c/strong\u003e\n        \u003cpre\u003e\u003ccode\u003ebehave\u003c/code\u003e\u003c/pre\u003e\n    \u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2 id=\"folder-structure\"\u003eFolder Structure\u003c/h2\u003e\n\u003cpre\u003e\u003ccode\u003e\n├── features/\n│   ├── login.feature           # Contains the login scenarios in Gherkin format\n│   └── steps/\n│       └── login_steps.py      # Step definitions for the login scenarios\n├── pageobject/\n│   ├── loginpage.py            # Page object for the login page\n│   └── accountpage.py          # Page object for the account page after login\n├── utils/\n│   └── helper_functions.py     # Utility functions such as email generator\n└── README.html                 # Project documentation\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2 id=\"scenarios-tested\"\u003eScenarios Tested\u003c/h2\u003e\n\u003col\u003e\n    \u003cli\u003e\u003cstrong\u003eSuccessful Login:\u003c/strong\u003e Validates that the user is redirected to the dashboard after entering valid credentials.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eLogin with Invalid Email:\u003c/strong\u003e Checks that an appropriate warning is displayed when an invalid email is used.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eLogin with Invalid Password:\u003c/strong\u003e Verifies that an error message is shown for incorrect passwords.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eLogin with Missing Credentials:\u003c/strong\u003e Ensures the correct warning is shown when no credentials are submitted.\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2 id=\"utility-functions\"\u003eUtility Functions\u003c/h2\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003egenerate_email_with_timestamp():\u003c/strong\u003e Generates a unique email address for testing invalid email scenarios.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cp\u003eThis project is designed to make testing the login functionality efficient and scalable, with a focus on ease of maintenance through the page object model.\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fundisputed-jay%2Fbehavior-driven-development-testing-for-ecommerce-login","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fundisputed-jay%2Fbehavior-driven-development-testing-for-ecommerce-login","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fundisputed-jay%2Fbehavior-driven-development-testing-for-ecommerce-login/lists"}