{"id":21414670,"url":"https://github.com/antonihub/c0d3x","last_synced_at":"2025-06-15T00:04:56.400Z","repository":{"id":64122147,"uuid":"475653629","full_name":"AntoniHub/C0D3X","owner":"AntoniHub","description":"Continuous Testing with Python   --\u003e  | Selenium | Gherkin | Cucumber | Firebase | Cloud Firestore | Pytest | Unittest | Playwright | QA | Linux | | Selenium WebDriver | CI/CD | Jenkins | Automated Tests | Tester | Software Engineering Analyst | Software Tester | Bash | Git | GitHub Actions | SQL \u0026 NoSQL |","archived":false,"fork":false,"pushed_at":"2025-06-13T06:15:37.000Z","size":10436,"stargazers_count":7,"open_issues_count":4309,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-13T07:25:58.624Z","etag":null,"topics":["ci-cd","cicd","firebase","firestore","gherkin","git","github-actions","jenkins","linux","nosql","python","qa","qa-automation","selenium","selenium-webdriver","sql","test","test-automation","testing"],"latest_commit_sha":null,"homepage":"https://rodriguezfarias.com/","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/AntoniHub.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,"zenodo":null}},"created_at":"2022-03-29T23:39:28.000Z","updated_at":"2025-06-13T06:15:40.000Z","dependencies_parsed_at":"2024-05-20T15:32:53.264Z","dependency_job_id":"99b1ca67-a437-4686-9bdb-c93162e9b978","html_url":"https://github.com/AntoniHub/C0D3X","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AntoniHub/C0D3X","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniHub%2FC0D3X","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniHub%2FC0D3X/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniHub%2FC0D3X/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniHub%2FC0D3X/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AntoniHub","download_url":"https://codeload.github.com/AntoniHub/C0D3X/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AntoniHub%2FC0D3X/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259901381,"owners_count":22929224,"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":["ci-cd","cicd","firebase","firestore","gherkin","git","github-actions","jenkins","linux","nosql","python","qa","qa-automation","selenium","selenium-webdriver","sql","test","test-automation","testing"],"created_at":"2024-11-22T18:32:26.856Z","updated_at":"2025-06-15T00:04:56.376Z","avatar_url":"https://github.com/AntoniHub.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- \u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/Antonio_Rodriguez-%23bc1224\"\u003e --\u003e \n\u003c!-- \u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/QA_Engineer_%7C_Antonio_Rodriguez_Farias-%23007bff\"\u003e --\u003e \n\u003c!-- \u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/QA_Engineer_%7C_Antonio_Rodriguez_Farias-%23007bff\"\u003e --\u003e \n\u003c!-- \u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/QA_Engineer_%7C_Antonio_Rodriguez_Farias-%2328a745\"\u003e --\u003e\n\u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/Antonio_Rodriguez_Farias-%2328a745?style=plastic\u0026label=QA%20Engineer\u0026labelColor=%23dc3545\"\u003e \n \n\n\u003ch1 align=\"center\"\u003e Python Tests \u003c/h1\u003e\n\n\n### Backend tests:\n* An automated endpoint test circuit is created by making the different calls implemented on them, using the \u003ca href=\"https://docs.python-requests.org/en/latest/index.html\"\u003e\u003ci\u003erequests\u003c/i\u003e\u003c/a\u003e library.\n* Sometimes it connects with \u003ca href=\"https://firebase.google.com/docs/firestore/quickstart?hl=es-419#python\"\u003e\u003ci\u003eCloud Firestore\u003c/i\u003e\u003c/a\u003e to be able to take data as unique identifiers to be able to set them in the next call as an environment variable since the response is empty.\n* Being able to delete data created from cloud firestore or using the corresponding endpoint (delete) if applicable.\n\u0026nbsp;\n### Frontend tests:\n* \u003ca href=\"https://www.selenium.dev/documentation/webdriver/getting_started/\"\u003e\u003ci\u003eSelenium\u003c/i\u003e\u003c/a\u003e is used as a working framework together with pytest to structure the implemented code\n\u003cli\u003e\u0026nbsp; \u0026nbsp; Among the libraries used: \u003c/li\u003e\n\u003cli\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u003ca href=\"https://faker.readthedocs.io/en/master/\"\u003e\u003ci\u003eFaker\u003c/i\u003e\u003c/a\u003e: to generate random data in tests \u003c/li\u003e\n\u003cli\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u003ca href=\"https://www.selenium.dev/selenium/docs/api/py/webdriver/selenium.webdriver.common.desired_capabilities.html\"\u003e\u003ci\u003eDesiredCapabilities\u003c/i\u003e\u003c/a\u003e: to capture logs \u003c/li\u003e\n\u003cli\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u003ca href=\"https://selenium-python.readthedocs.io/getting-started.html\"\u003e\u003ci\u003eOther\u003c/i\u003e\u003c/a\u003e Selenium libraries \u003c/li\u003e\n\u0026nbsp;\n\u003cli\u003e\u003ca href=\"https://playwright.dev/python/\"\u003ePlaywright\u003c/a\u003e used briefly as practice to understand its syntax and operation.\u003c/li\u003e\n\n### Continuous testing\n* \u003ca href=\"https://www.jenkins.io/\"\u003e\u003ci\u003eJenkins\u003c/i\u003e\u003c/a\u003e is used as a continuous integration tool. Create a freestyle project that includes the development branches, a cronjob with the desired runtimes, and a windows console run that sends to the project directory and runs the script.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantonihub%2Fc0d3x","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantonihub%2Fc0d3x","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantonihub%2Fc0d3x/lists"}