{"id":13492034,"url":"https://github.com/cypress-io/cypress-example-kitchensink","last_synced_at":"2026-03-13T21:03:09.720Z","repository":{"id":3843594,"uuid":"51091201","full_name":"cypress-io/cypress-example-kitchensink","owner":"cypress-io","description":"This is an example app used to showcase Cypress.io testing.","archived":false,"fork":false,"pushed_at":"2025-04-30T22:03:16.000Z","size":7517,"stargazers_count":1228,"open_issues_count":23,"forks_count":2199,"subscribers_count":52,"default_branch":"master","last_synced_at":"2025-04-30T22:07:47.895Z","etag":null,"topics":["automated-tests","circle-ci","cypress","cypress-orb-example","e2e-tests","travis-ci"],"latest_commit_sha":null,"homepage":"https://example.cypress.io/","language":"HTML","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/cypress-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG_OLD.md","contributing":"CONTRIBUTING.md","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}},"created_at":"2016-02-04T17:04:49.000Z","updated_at":"2025-04-30T22:00:14.000Z","dependencies_parsed_at":"2023-07-05T18:31:57.273Z","dependency_job_id":"355bbc04-73e6-47a5-945a-8911e5f70621","html_url":"https://github.com/cypress-io/cypress-example-kitchensink","commit_stats":{"total_commits":1100,"total_committers":67,"mean_commits":"16.417910447761194","dds":0.75,"last_synced_commit":"d924e8ca63040f1749a3e4799fd23f1b9a6f3fa3"},"previous_names":[],"tags_count":87,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypress-io%2Fcypress-example-kitchensink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypress-io%2Fcypress-example-kitchensink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypress-io%2Fcypress-example-kitchensink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cypress-io%2Fcypress-example-kitchensink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cypress-io","download_url":"https://codeload.github.com/cypress-io/cypress-example-kitchensink/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253747352,"owners_count":21957745,"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":["automated-tests","circle-ci","cypress","cypress-orb-example","e2e-tests","travis-ci"],"created_at":"2024-07-31T19:01:02.543Z","updated_at":"2026-03-13T21:03:09.714Z","avatar_url":"https://github.com/cypress-io.png","language":"HTML","funding_links":[],"categories":["HTML","🛠️ Developer Tools"],"sub_categories":[],"readme":"# Kitchen Sink [![renovate-app badge][renovate-badge]][renovate-app] [![semantic-release][semantic-image] ][semantic-url]\n\nThis is an example app used to showcase [Cypress.io](https://www.cypress.io/) End-to-End (E2E) testing. The application demonstrates the use of most [Cypress API commands](https://on.cypress.io/api). Additionally this example app is configured to run E2E tests in various CI platforms.\nSeveral workflows demonstrate the CI use of [Cypress Docker images](https://github.com/cypress-io/cypress-docker-images) which provide convenient, pre-configured compatible environments for Cypress.\nThe [tests](https://github.com/cypress-io/cypress-example-kitchensink/tree/master/cypress/e2e) are also heavily commented.\n\nTo see the kitchen sink application, and to view the [Cypress API commands](https://on.cypress.io/api) demonstrated by the app, visit [example.cypress.io](https://example.cypress.io/).\n\nFor a full reference of our documentation, go to [docs.cypress.io](https://docs.cypress.io/).\n\nFor an example payment application demonstrating real-world usage of Cypress.io End-to-End (E2E) testing, go to the [cypress-io/cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app) repository.\n\n[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovatebot\n[renovate-app]: https://renovatebot.com/\n[semantic-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n[semantic-url]: https://github.com/semantic-release/semantic-release\n\n## CI Status\n\nThe following table lists live workflows from various CI providers. These each independently test the contents of this example repository. They run and record using [Cypress Cloud](https://on.cypress.io/guides/cloud/introduction) with their results displaying centrally under Cypress Cloud [ProjectId `4b7344`](https://cloud.cypress.io/#/projects/4b7344/runs). Each CI provider shows its build status on its own site:\n\n| CI Provider                                            | Workflow                                       | Build Status                                                            |   Docker example   |\n| :----------------------------------------------------- | :--------------------------------------------- | :---------------------------------------------------------------------- | :----------------: |\n| [AppVeyor][AppVeyor docs]                              | [appveyor.yml][AppVeyor workflow]              | [![AppVeyor CI][AppVeyor badge]][AppVeyor log]                          |                    |\n| [CircleCI][CircleCi docs]                              | [.circleci/config.yml][CircleCI workflow]      | [![CircleCI][CircleCI badge]][CircleCI log]                             | :white_check_mark: |\n| [**cypress-io/github-action**][Cy GitHub Actions docs] | [using-action.yml][Cy GitHub Actions workflow] | [![Cypress GHA status][Cy GitHub Actions badge]][Cy GitHub Actions log] |                    |\n| [GitHub Actions][GHA docs]                             | [single.yml][GHA workflow single]              | [![Single tests status][GHA badge single]][GHA log single]              |                    |\n| [GitHub Actions][GHA docs]                             | [parallel.yml][GHA workflow parallel]          | [![Parallel tests status][GHA badge parallel]][GHA log parallel]        |                    |\n\n\u003c!-- CI provider links --\u003e\n[AppVeyor docs]:            https://www.appveyor.com/docs/\n[AppVeyor badge]:           https://ci.appveyor.com/api/projects/status/bo4x59pha1eb18de/branch/master?svg=true\n[AppVeyor log]:             https://ci.appveyor.com/project/cypress-io/cypress-example-kitchensink\n[AppVeyor workflow]:        appveyor.yml\n\n[CircleCI docs]:            https://circleci.com/docs/\n[CircleCI badge]:           https://circleci.com/gh/cypress-io/cypress-example-kitchensink/tree/master.svg?style=shield\n[CircleCI log]:             https://circleci.com/gh/cypress-io/cypress-example-kitchensink/tree/master\n[CircleCI workflow]:        .circleci/config.yml\n\n[Cy GitHub Actions docs]:   https://github.com/cypress-io/github-action#readme\n[Cy GitHub Actions badge]:  https://github.com/cypress-io/cypress-example-kitchensink/actions/workflows/using-action.yml/badge.svg\n[Cy GitHub Actions log]:    https://github.com/cypress-io/cypress-example-kitchensink/actions/workflows/using-action.yml?query=branch%3Amaster\n[Cy GitHub Actions workflow]:  .github/workflows/using-action.yml\n\n[GHA docs]:      https://docs.github.com/en/actions\n[GHA badge single]:     https://github.com/cypress-io/cypress-example-kitchensink/actions/workflows/single.yml/badge.svg\n[GHA badge parallel]:     https://github.com/cypress-io/cypress-example-kitchensink/actions/workflows/parallel.yml/badge.svg\n[GHA log single]:       https://github.com/cypress-io/cypress-example-kitchensink/actions/workflows/single.yml?query=branch%3Amaster\n[GHA log parallel]:       https://github.com/cypress-io/cypress-example-kitchensink/actions/workflows/parallel.yml?query=branch%3Amaster\n[GHA workflow single]:  .github/workflows/single.yml\n[GHA workflow parallel]:  .github/workflows/parallel.yml\n\nYou can find all CI results recorded on the Cypress Cloud\n[![Cypress Cloud](https://img.shields.io/endpoint?url=https://cloud.cypress.io/badge/simple/4b7344/master\u0026style=flat\u0026logo=cypress)](https://cloud.cypress.io/projects/4b7344/runs)\n\n## CI Workflow Examples\n\nThis table shows additional examples of CI workflows. With the exception of GitHub Actions workflows, these are **not** live examples as in the table above and they may require modification before use. The GitHub Actions workflows are live and they run without recording to Cypress Cloud.\n\n| CI Provider                                           | Basic Config                                             | Full Parallel Config                                 |   Docker example   |\n| :---------------------------------------------------- | :------------------------------------------------------- | :--------------------------------------------------- | :----------------: |\n| [AWS Amplify][AWS Amplify docs]                       | [amplify.yml](amplify.yml)                               |                                                      |                    |\n| [AWS CodeBuild][AWS CodeBuild docs]                   | [basic/buildspec.yml](./basic/buildspec.yml)             | [buildspec.yml](buildspec.yml)                       |                    |\n| [Azure Pipelines][Azure Pipelines docs]               | [basic/azure-ci.yml](basic/azure-ci.yml)                 | [azure-ci.yml](azure-ci.yml)                         |                    |\n| [Buddy.works][Buddy.works docs]                       | [buddy.yml](buddy.yml)                                   |                                                      | :white_check_mark: |\n| [Buildkite][Buildkite docs]                           | [.buildkite/pipeline.yml](.buildkite/pipeline.yml)       |                                                      |                    |\n| [CircleCI][CircleCi docs]                             | [basic/.circleci/config.yml](basic/.circleci/config.yml) |                                                      | :white_check_mark: |\n| [GitHub Actions][GHA docs]                            | [chrome.yml](.github/workflows/chrome.yml)               |                                                      |                    |\n| [GitHub Actions][GHA docs]                            | [chrome-docker.yml](.github/workflows/chrome-docker.yml) |                                                      | :white_check_mark: |\n| [GitLab][GitLab docs]                                 | [basic/.gitlab-ci.yml](basic/.gitlab-ci.yml)             | [.gitlab-ci.yml](.gitlab-ci.yml)                     | :white_check_mark: |\n| [Jenkins][Jenkins docs]                               | [basic/Jenkinsfile](basic/Jenkinsfile)                   | [Jenkinsfile](Jenkinsfile)                           | :white_check_mark: |\n| [Semaphore 2.0][Semaphore 2.0 docs]                   | [basic/.semaphore.yml](basic/.semaphore.yml)             | [.semaphore/semaphore.yml](.semaphore/semaphore.yml) |                    |\n| [Travis CI][Travis CI docs]                           | [basic/.travis.yml](basic/.travis.yml)                   | [.travis.yml](.travis.yml)                           |                    |\n\n\u003c!-- CI provider doc links --\u003e\n[AWS Amplify docs]:             https://docs.amplify.aws/\n[AWS CodeBuild docs]:           https://docs.aws.amazon.com/codebuild/\n[Azure Pipelines docs]:         https://learn.microsoft.com/en-us/azure/devops/pipelines/\n[Buddy.works docs]:             https://buddy.works/docs\n[Buildkite docs]:               https://buildkite.com/docs\n[GitLab docs]:                  https://docs.gitlab.com/ee/ci/yaml/\n[Jenkins docs]:                 https://www.jenkins.io/doc/\n[Semaphore 2.0 docs]:           https://docs.semaphoreci.com/\n[Travis CI docs]:               https://docs.travis-ci.com/\n\nThe Cypress documentation page [CI Provider Examples](https://docs.cypress.io/guides/continuous-integration/ci-provider-examples) provides some more examples with extensive guides for using Cypress with some of the most popular CI providers.\n\n## Run Tests\n\n### Local testing\n\nTo run the tests from this repo on your local machine, first make sure your machine meets the [Cypress System Requirements](https://on.cypress.io/guides/getting-started/installing-cypress#System-requirements), including the installation of [Node.js](https://docs.cypress.io/guides/getting-started/installing-cypress#Installing-Nodejs) according to the version specified in the file [.node-version](./.node-version).\n\nExecuting the following instructions will clone the repository, install dependencies and run Cypress:\n\n```shell\ngit clone https://github.com/cypress-io/cypress-example-kitchensink.git\ncd cypress-example-kitchensink\nnpm ci # install dependencies\nnpm run local:run # run Cypress headlessly\n```\n\n`local:run` is a [package.json](./package.json) script that starts a local webserver and then uses [cypress run](https://on.cypress.io/command-line#cypress-run) to run Cypress headlessly.\nIf you would like to run Cypress tests interactively, then run the following command which uses [cypress open](https://on.cypress.io/command-line#cypress-open) to run Cypress in headed mode. You can pick individual tests to run.\n\n```shell\nnpm run local:open\n```\n\nAs an alternative to using the `local:open` and `local:run` scripts, you can also start the server in one step and then run Cypress in a second step.\n\n```shell\nnpm start # start server on port 8080\n```\n\nYou can check that the server is running if you open a web browser and navigate to `http://localhost:8080`.\n\nThen in a separate terminal window execute either\n\n```shell\nnpx cypress run # for headless mode\n```\n\nor\n\n```shell\nnpx cypress open # for headed interactive mode\n```\n\n#### Script and server structure\n\nThe scripts `local:run` and `local:open` use the `start-test` alias of the npm module [start-server-and-test](https://www.npmjs.com/package/start-server-and-test) to run [./scripts/start.js](./scripts/start.js), which starts the webserver, waits for it to become ready, and then launches Cypress.\n\nThe `start` script spawns a webserver using the npm module [serve](https://www.npmjs.com/package/serve) and displays the Kitchen Sink App on port `8080`.\n\n### Docker testing\n\nIf you have Docker installed locally, for instance using [Docker Desktop](https://docs.docker.com/desktop/), you can run the tests from this repo interactively in a Docker container.\nUse [Cypress Docker images](https://github.com/cypress-io/cypress-docker-images), which are built with all the prerequisites for running Cypress. They are available as [base](https://github.com/cypress-io/cypress-docker-images/tree/master/base), [browsers](https://github.com/cypress-io/cypress-docker-images/tree/master/browsers) and [included](https://github.com/cypress-io/cypress-docker-images/tree/master/included) options from [Docker Hub](https://hub.docker.com/u/cypress) and the [Amazon ECR (Elastic Container Registry) Public Gallery](https://gallery.ecr.aws/cypress-io).\n\nAs above, start by cloning the repo and installing dependencies:\n\n```shell\ngit clone https://github.com/cypress-io/cypress-example-kitchensink\ncd cypress-example-kitchensink\nnpm ci\n```\n\nNOTE: For simplicity, the Docker examples below use a repository reference such as `cypress/base` with the `latest` version tag. To select an earlier version, replace `latest` with an explicit tag, for example `cypress/base:20.15.1`. Explicit version tags are recommended for production. Usage is further explained in the [Tags](https://github.com/cypress-io/cypress-docker-images/blob/master/README.md#tags) section of the [Cypress Docker Images - README](https://github.com/cypress-io/cypress-docker-images/blob/master/README.md).\n\n#### cypress/base\n\nThe following example uses a [cypress/base](https://github.com/cypress-io/cypress-docker-images/tree/master/base) image which itself contains no browsers. You will use the Electron browser bundled with Cypress instead. To run the Docker container, execute the following:\n\n```shell\ndocker run -it --rm -v .:/app -w /app cypress/base:latest\n```\n\nWhen the container prompt appears, enter:\n\n```shell\nnpx cypress install     # install Cypress binary\nnpm run test:ci         # start server and run tests in Electron browser\nexit\n```\n\n#### cypress/browsers\n\nWith a [cypress/browsers](https://github.com/cypress-io/cypress-docker-images/tree/master/browsers) image you have the additional choice of Chrome, Edge and Firefox browsers. Execute the following:\n\n```shell\ndocker run -it --rm -v .:/app -w /app cypress/browsers:latest\n```\n\nWhen the container prompt appears, enter:\n\n```shell\nnpx cypress install     # install Cypress binary\nnpm run test:ci         # start server and run tests in Electron browser\nnpm run test:ci:chrome  # start server and run tests in Chrome browser\nnpm run test:ci:edge    # start server and run tests in Edge browser\nnpm run test:ci:firefox # start server and run tests in Firefox browser\nexit\n```\n\n#### cypress/included\n\nThe [cypress/included](https://github.com/cypress-io/cypress-docker-images/tree/master/included) images add a full Cypress installation compared to [cypress/browsers](https://github.com/cypress-io/cypress-docker-images/tree/master/browsers).\nExecute the following to run the container with a one-line command, testing with the Chrome browser:\n\n```shell\ndocker run -it --rm -v .:/app -w /app --entrypoint bash cypress/included:latest -c 'npm run test:ci:chrome' # use for matching Cypress versions\n```\n\nReplace the `latest` tag in the above command using the Cypress version from the repo's [package.json](./package.json), if this repository has not yet been updated to the latest released Cypress version.\nNote that mismatched versions will cause errors.\n\nNOTE: Additional browsers Chrome, Edge and Firefox are installed in `linux/amd64` architecture images `cypress/browsers` and `cypress/included`.\nFirefox is available pre-installed for `linux/arm64` architecture images based on Firefox `\u003e=136.0.2`.\nRefer to the [Cypress Docker images README](https://github.com/cypress-io/cypress-docker-images/blob/master/README.md#browsers) for details.\nThe Electron browser, which is built-in to Cypress, is available in all images and architectures.\n\n### CI Testing\n\nIf you would like to try out running tests in a Continuous Integration (CI) provider then you need to first [fork the repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) so that you have your own copy. Refer to the [GitHub documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo#configuring-git-to-sync-your-fork-with-the-upstream-repository) to set up aliases for `remote upstream` (to this repo) and `remote origin` (to your fork) correctly.\nYou will also need to have an account with the CI provider you want to test with.\n\n## Documentation\n\n- Use the [Cypress Documentation](https://on.cypress.io) for instructions on how to use Cypress\n- Read the [Command Line Guide](https://on.cypress.io/command-line) for run options\n- Refer to the [API](https://on.cypress.io/api/) documents to understand the Cypress API calls tested in this repo\n- Read [Installing Cypress](https://on.cypress.io/installing-cypress) for step-by-step information on installing Cypress in your own project\n\n## Support\n\n- For \"how-to\" questions and discussions, go to the Cypress [Discord Chat](https://on.cypress.io/discord) and be part of the worldwide user community!\n\n## Contributing\n\nCheck out the [Contributing Guideline](./CONTRIBUTING.md).\n\n## Changelog\n\nSee [Releases](https://github.com/cypress-io/cypress-example-kitchensink/releases).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypress-io%2Fcypress-example-kitchensink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcypress-io%2Fcypress-example-kitchensink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypress-io%2Fcypress-example-kitchensink/lists"}