{"id":19702838,"url":"https://github.com/toatoes/selenium_automation","last_synced_at":"2026-03-04T02:01:23.193Z","repository":{"id":259329127,"uuid":"877603435","full_name":"ToaToes/Selenium_Automation","owner":"ToaToes","description":"Selenium Automation DevOps, involing repository Gitlab, Jenkins CI Line (or docker), Jenkins automation (UI, API(Postman)), then end product.","archived":false,"fork":false,"pushed_at":"2024-10-24T02:01:48.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-22T02:03:47.462Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/ToaToes.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-10-23T23:21:15.000Z","updated_at":"2024-10-24T02:01:51.000Z","dependencies_parsed_at":"2024-10-24T13:04:51.141Z","dependency_job_id":"fd90aed3-4fa7-469e-81bf-2a0d059b7aca","html_url":"https://github.com/ToaToes/Selenium_Automation","commit_stats":null,"previous_names":["toatoes/selenium_automation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ToaToes/Selenium_Automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToaToes%2FSelenium_Automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToaToes%2FSelenium_Automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToaToes%2FSelenium_Automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToaToes%2FSelenium_Automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ToaToes","download_url":"https://codeload.github.com/ToaToes/Selenium_Automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToaToes%2FSelenium_Automation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30069220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T01:03:42.280Z","status":"online","status_checked_at":"2026-03-04T02:00:07.464Z","response_time":59,"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":[],"created_at":"2024-11-11T21:16:15.224Z","updated_at":"2026-03-04T02:01:23.177Z","avatar_url":"https://github.com/ToaToes.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Selenium_Automation\nSelenium Automation DevOps, involing repository Gitlab, Jenkins CI Line (or docker), Jenkins automation (UI, API(Postman)), then end product.\n\n\nThe CI/CD pipeline is a set of automated processes that allow development teams to integrate  ```code changes```, ```run tests```, and ```deploy applications``` more efficiently. breakdown of the typical process and how the various components like:\n**GitLab**, \n**Jenkins**, \n**server backend**, \n**Postman**,\n**UI automation,** \n**API testing**\ninteract within this pipeline:\n\nCI/CD Pipeline Process\nCode Commit:\n\nDevelopers push code changes to a version control system (e.g., GitLab). This can include new features, bug fixes, or configuration changes.\nContinuous Integration (CI):\n\nTrigger: A commit to the repository triggers the CI process in Jenkins.\nBuild: Jenkins pulls the latest code from the GitLab repository and compiles/builds the application.\nTesting: Jenkins runs automated tests (including unit tests, integration tests, API tests, etc.). This can involve:\nAPI Testing: Using tools like Postman or Newman to run predefined API tests against the latest build.\nUI Automation: Running automated UI tests to verify the user interface and user experience.\nContinuous Deployment (CD):\n\nIf all tests pass, Jenkins automatically deploys the application to a staging or production server.\nThis could involve pushing code to the backend server where the application runs.\nMonitoring and Feedback:\n\nAfter deployment, the application is monitored for performance and errors. Feedback from users can also be collected for further improvements.\nIteration:\n\nDevelopers receive feedback and continue to make improvements or fix issues, starting the process again.\nRelationships Between Components\nGitLab Repository:\n\nActs as the source control where the product's codebase resides. Changes made by developers are pushed here.\nJenkins:\n\nCI/CD automation server that listens for changes in the GitLab repository. It orchestrates the build and testing process, triggering jobs based on repository events (like commits).\nServer Backend:\n\nThe environment where the application is deployed. Jenkins can deploy the built application here if all tests are successful.\nPostman:\n\nUsed for API testing. Postman collections can be run through Newman in Jenkins to ensure that API endpoints work as expected with the latest code.\nUI Automation:\n\nAutomated tests that interact with the user interface of the application, verifying that the front end behaves correctly after changes. These tests can also be triggered by Jenkins as part of the CI/CD process.\nAPI Testing:\n\nSpecifically focuses on validating the functionality and performance of API endpoints. This can be part of the testing phase in Jenkins, where Postman or other testing frameworks are used.\nVisual Workflow\nDeveloper pushes code → GitLab Repository\nJenkins detects the change → Triggers CI process\nJenkins pulls code, builds application, and runs tests:\nAPI Tests (Postman/Newman)\nUI Tests\nIf tests pass → Jenkins deploys to the server backend\n\n\n\n## Situation that not suitable for automation:\n1. Short-Lived Projects\nDescription: For projects with a very short lifespan or one-time applications, the time and effort needed to set up automated tests may outweigh the benefits.\n2. Highly Dynamic User Interfaces\nDescription: Applications with frequently changing UIs may require constant updates to the test scripts, leading to maintenance overhead that can negate the benefits of automation.\n3. Exploratory Testing\nDescription: Exploratory testing, which relies on human intuition and experience, cannot be easily automated. This type of testing is valuable for discovering unexpected issues.\n4. Complex Test Scenarios\nDescription: Tests that involve complex user interactions, require human judgment, or depend heavily on visual aspects (like design reviews) may be challenging to automate effectively.\n5. Initial Development Phases\nDescription: In the early stages of development, when requirements are still evolving, automation may not be suitable. The test cases can become obsolete quickly, leading to wasted effort.\n6. Low ROI on Automation\nDescription: If the cost of setting up and maintaining automated tests is higher than the benefits gained (e.g., in small teams or projects with minimal regression testing), it may not be justified.\n7. Test Cases with High Setup Costs\nDescription: Tests that require extensive setup, configuration, or specific environments can be cumbersome to automate and may be more efficiently executed manually.\n8. Non-Functional Testing\nDescription: While some non-functional tests can be automated (like performance testing), others, such as usability or accessibility testing, often require human input and subjective evaluation.\n9. Specialized Hardware or Devices\nDescription: Testing applications that rely on specific hardware configurations or devices (like IoT devices) may not be feasible to automate effectively.\nMonitoring occurs post-deployment → Feedback loop starts again\nConclusion\nIn summary, the CI/CD pipeline integrates various tools and processes to automate the development workflow, ensuring that code changes are continuously tested and deployed efficiently. Each component plays a crucial role in maintaining the quality and stability of the software throughout its lifecycle.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoatoes%2Fselenium_automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoatoes%2Fselenium_automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoatoes%2Fselenium_automation/lists"}