{"id":21306385,"url":"https://github.com/davidemoro/cookiecutter-qa","last_synced_at":"2025-08-03T17:36:37.980Z","repository":{"id":149264353,"uuid":"92808618","full_name":"davidemoro/cookiecutter-qa","owner":"davidemoro","description":"Coookiecutter QA let you create QA projects based on the Cookiecutter scaffolding project based on Splinter","archived":false,"fork":false,"pushed_at":"2019-02-22T07:48:25.000Z","size":2331,"stargazers_count":13,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-11T21:36:06.891Z","etag":null,"topics":["bdd","pytest","python","python3","qa","selenium","splinter"],"latest_commit_sha":null,"homepage":"http://cookiecutter-qa.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidemoro.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","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}},"created_at":"2017-05-30T07:33:22.000Z","updated_at":"2022-05-12T22:20:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"0f93cbff-3d2b-4762-a365-ce6e1b1c128c","html_url":"https://github.com/davidemoro/cookiecutter-qa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/davidemoro/cookiecutter-qa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidemoro%2Fcookiecutter-qa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidemoro%2Fcookiecutter-qa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidemoro%2Fcookiecutter-qa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidemoro%2Fcookiecutter-qa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidemoro","download_url":"https://codeload.github.com/davidemoro/cookiecutter-qa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidemoro%2Fcookiecutter-qa/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266572303,"owners_count":23949997,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["bdd","pytest","python","python3","qa","selenium","splinter"],"created_at":"2024-11-21T16:23:34.019Z","updated_at":"2025-07-22T21:04:33.266Z","avatar_url":"https://github.com/davidemoro.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"===============\ncookiecutter QA\n===============\n\n.. image:: https://travis-ci.org/davidemoro/cookiecutter-qa.svg?branch=master\n       :target: https://travis-ci.org/davidemoro/cookiecutter-qa\n\n.. image:: https://readthedocs.org/projects/cookiecutter-qa/badge/?version=latest\n       :target: http://cookiecutter-qa.readthedocs.io\n\nCoookiecutter QA let you create QA projects based on the Cookiecutter_ scaffolding project.\n\nUsage\n=====\n\nInstall Cookiecutter_, use ``cookiecutter-qa`` as project template\nand bake your new QA package providing some information::\n\n    $ pip install cookiecutter\n    $ cookiecutter https://github.com/davidemoro/cookiecutter-qa\n    email [davide.moro@gmail.com]: \n    project_name [Project QA]: \n    project_slug [project_qa]: \n    project_short_description [Project QA contains all the boilerplate you need to create a QA package]: \n    version [0.0.1]: \n    base_url [https://github.com/davidemoro/cookiecutter-qa]:\n    selenium_grid_url [http://USERNAME:ACCESS_KEY@hub.browserstack.com:80/wd/hub]: YOUR_SELENIUM_GRID_URL_HERE\n    pytest_play [y]:\n    testrail [y]:\n    $ cd project_qa\n\nAs result cookiecutter will create for you a new package with a hello world test pytest_, Splinter_, pytest-play_,\nBDD and page objects ready.\n\n**Important note**: be aware that the `selenium_grid_url` will be saved in ``project_name/pytest.ini``!\n\nAnd now you can launch your helo world project test (linux)::\n\n    $ docker run --rm -it -v $(pwd):/src davidemoro/pytest-play\n\nor you are using Windows substitute the `$(pwd)` command with your project full path.\n\nYou can also use custom options provided by pytest and other installed third party plugins\nor request for custom browser capabilities. For example::\n\n    $ docker run --rm -it -v $(pwd):/src davidemoro/pytest-play \\\n        --variables capabilities/os/WIN10.json\n        --variables capabilities/browsers/chrome/CHROME.json\n        --variables capabilities/resolutions/1280x1024.json\n        -x\n        --pdb\n\nLocal browsers testing is supported too (covered in next sections).\n\nSetup\n=====\n\nPrerequisites:\n\n* python \u003e= 3.6, needed for the scaffolding tool\n\n* cookiecutter scaffolding tool for generating your project (``pip install cookiecutter`` command)\n\n* docker, suggested method for executing your tests using the well\n  tested https://github.com/davidemoro/pytest-play-docker container.\n  Using docker is the easiest and faster solution for running your tests\n\n* a selenium grid url or ``geckodriver``/``chromedriver`` installed\n\nBrowsers setup and selenium_grid_url\n------------------------------------\n\nIf you are not yet comfortable with `geckodriver`/`chromedriver` installations, `PATH` environment variable\nupdate I suggest to start creating a BrowserStack_ free account and you will be able to\nrun your tests against a real remote browser without having to install locally all the needed\nprerequisites.\n\nOnce logged in on BrowserStack_ visit ``Account \u003e Settings``, copy the Automate's username and access key\nand generate a new cookiecutter project providing the remote selenium grid url following the format::\n\n    http://USERNAME:ACCESS_KEY@hub.browserstack.com:80/wd/hub\n\nYou can use any Selenium grid provider (SauceLabs_, BrowserStack_, TestingBot_) or using your own local\ngrid with Zalenium_.\n\nOtherwise local browsers testing is supported too thanks to the option ``splinter-webdriver``, read the\nfollowing section. \n\nRun tests with local browsers\n=============================\n\nYou can launch tests based on local browsers instead of relying to a\nremote (SauceLabs_, BrowserStack_, TestingBot_) or local grid (using Zalenium_)\nusing the ``--splinter-webdriver firefox`` option for example.\n\nSee https://github.com/pytest-dev/pytest-splinter#command-line-options\n\nSupported browser options:\n\n* firefox\n\n* remote (you need to provide a value for the ``--splinter-remote-url`` option)\n\n* chrome\n\nUsing local browsers it's up to you the configuration of geckodriver, chromedriver,\nexecutable path settings, using the latest drivers\n(eg: https://github.com/mozilla/geckodriver/releases) and updated browser versions.\n\npytest-play ready!\n==================\n\n``cookiecutter-qa`` supports also pytest-play_ including by default all the third\nparty external plugins like play_selenium_, play_requests_ and their brothers\n(see `Third party pytest-play plugins`_) so you can execute plain **yaml** files.\n\nCredits\n=======\n\n* heavily based on `cookiecutter-pypackage`_: `@audreyr`_'s ultimate Python package project\n  template.\n\nTwitter\n=======\n\ncookiecutter-qa tweets happens here:\n\n* `@davidemoro`_\n\n\nBased on\n========\n\n.. image:: https://raw.github.com/audreyr/cookiecutter/3ac078356adf5a1a72042dfe72ebfa4a9cd5ef38/logo/cookiecutter_medium.png\n\nSponsored by\n============\n\n.. image:: http://cookiecutter-qa.readthedocs.io/en/latest/_static/browserstack.svg\n     :target: https://www.browserstack.com\n     :alt: Browserstack\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _BrowserStack: https://www.browserstack.com\n.. _`@audreyr`: https://github.com/audreyr\n.. _`cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n.. _`@davidemoro`: https://twitter.com/davidemoro\n.. _`Splinter`: https://splinter.readthedocs.io/en/latest/\n.. _`pytest`: https://docs.pytest.org/en/latest/\n.. _`pytest-play`: http://pytest-play.readthedocs.io/en/latest/\n.. _`play_selenium`: https://github.com/davidemoro/play_selenium\n.. _`play_requests`: https://github.com/davidemoro/play_request\n.. _`Third party pytest-play plugins`: https://github.com/pytest-dev/pytest-play#third-party-pytest-play-plugins\n.. _`Zalenium`: https://github.com/zalando/zalenium\n.. _`SauceLabs`: https://saucelabs.com/\n.. _`TestingBot`: https://testingbot.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidemoro%2Fcookiecutter-qa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidemoro%2Fcookiecutter-qa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidemoro%2Fcookiecutter-qa/lists"}