All Projects → cypress-io → Cypress Example Docker Circle

cypress-io / Cypress Example Docker Circle

Cypress + Docker + CircleCI = ❤️

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Cypress Example Docker Circle

cypress-example-circleci-orb
Demo of using the Cypress CircleCI Orb
Stars: ✭ 26 (-78.15%)
Mutual labels:  example, circle
CI-Utils
Utilities for running Common Lisp on CI platforms
Stars: ✭ 18 (-84.87%)
Mutual labels:  circleci, ci
jt tools
Ruby on Rails Continuous Deployment Ecosystem to maintain Healthy Stable Development
Stars: ✭ 13 (-89.08%)
Mutual labels:  circleci, ci
ci playground
Playground for Cloud CI development for C++
Stars: ✭ 23 (-80.67%)
Mutual labels:  circleci, ci
Condition Circle
Checks CircleCI environment before publishing successful build using semantic-release
Stars: ✭ 32 (-73.11%)
Mutual labels:  ci, circleci
lighthouse-circleci-example
An example repo demonstrating Lighthouse testing in CircleCi
Stars: ✭ 21 (-82.35%)
Mutual labels:  circleci, ci
build-status
Emacs minor mode that monitors and shows a buffer's build status in the mode line.
Stars: ✭ 26 (-78.15%)
Mutual labels:  circleci, ci
Terraform With Circleci Example
This is an example of automatic deployments of your infrastructure using terraform and CircleCI 2.0 workflows
Stars: ✭ 142 (+19.33%)
Mutual labels:  example, circleci
Cibuildwheel
🎡 Build Python wheels for all the platforms on CI with minimal configuration.
Stars: ✭ 620 (+421.01%)
Mutual labels:  ci, circleci
Danger
🚫 Stop saying "you forgot to …" in code review (in Ruby)
Stars: ✭ 4,691 (+3842.02%)
Mutual labels:  ci, circle
developer-ci-benefits
Talk docs—includes CI (Continuous Integration) benefits, description, and setup tips 💡💪
Stars: ✭ 29 (-75.63%)
Mutual labels:  circleci, ci
Circleci Demo Python Django
Example Django application running on CircleCI
Stars: ✭ 100 (-15.97%)
Mutual labels:  example, circleci
ci-minikube
run minikube on ci
Stars: ✭ 28 (-76.47%)
Mutual labels:  circleci, ci
docker-coala-base
coala base docker image
Stars: ✭ 20 (-83.19%)
Mutual labels:  circleci, ci
circleci-config-sdk-ts
Generate CircleCI Configuration YAML from JavaScript or TypeScript. Use Dynamic Configuration and the Config SDK together for live generative config.
Stars: ✭ 59 (-50.42%)
Mutual labels:  circleci, ci
CIAnalyzer
A tool collecting multi CI services build data and export it for creating self-hosting build dashboard.
Stars: ✭ 52 (-56.3%)
Mutual labels:  circleci, ci
Pupernetes
Spin up a full fledged Kubernetes environment designed for local development & CI
Stars: ✭ 199 (+67.23%)
Mutual labels:  ci, circleci
Rok8s Scripts
Opinionated scripts for managing application deployment lifecycle in Kubernetes
Stars: ✭ 248 (+108.4%)
Mutual labels:  ci, circleci
Danger Js
⚠️ Stop saying "you forgot to …" in code review
Stars: ✭ 4,076 (+3325.21%)
Mutual labels:  ci, circle
Aliyungradleconfig
自用的安卓开源项目工程模板。阿里云远程仓库加速,发布到maven仓库、上传到jcenter,代码混淆、资源混淆,持续集成(CI),多渠道自动打包。在天朝使用jcenter、mavenCentral及google三个远程仓库,Gradle Sync太慢?一招教你配置阿里云镜像源。init.d/init.gradle
Stars: ✭ 37 (-68.91%)
Mutual labels:  ci, circleci

cypress-example-docker-circle CircleCI

Greenkeeper badge

Cypress + Docker + CircleCI = ❤️

Running your Cypress E2E tests on Circle CI v2.0 is very simple. See circle.yml for the current build commands. You can use our base image cypress/base with all dependencies pre-installed.

Then check out the code and call cypress run command. That is it! See test runs for this example at circleci.com

Note: if you want to use CircleCI Workflows feature to run multiple tests in parallel, check out our example repo cypress-example-docker-circle-workflows.

Artifacts

You can save generated videos and screenshots as CircleCI artifacts

steps:
  - checkout
  - run:
      name: Running E2E tests
      command: cypress run
  - store_artifacts:
      path: cypress/videos
  - store_artifacts:
      path: cypress/screenshots

Test summary

Generate just XML report

CircleCI can store test results from a large number of test reporters. Cypress can output test results with custom reporters, including using built-in junit format. Just add the following options to the CI command to generate and store test results.

- run:
    name: Running E2E tests
    command: cypress run --reporter junit --reporter-options "mochaFile=results/my-test-output.xml"
- store_test_results:
    path: results

The generated file will be placed in folder results and the folder will be uploaded to CircleCI storage. This summary will be really helpful when a test fails. For example, I have introduced a different label into the test, the word testing never appears on the page, yet the test is looking for it.

// a-spec.js
it('has h2', () => {
  cy.contains('h2', 'testing')
})

See the failed CI test run at https://circleci.com/gh/cypress-io/cypress-example-docker-circle/10.

The CircleCI test summary shows failed test and user-friendly message.

Failed test message

Switching to the artifacts tab, we can find the screenshot PNG image taken at the failure moment.

Failed test artifact

Finally, we can open either the video, or the screenshot artifact

Failed to find "testing" H2 element

The failure is now easy to see and fix.

In this repository take a look at test-junit script inside package.json

Spec + XML reports

You can generate XML junit report and see spec output while CI is running using mocha-multi-reporters.

npm install --save-dev mocha mocha-multi-reporters mocha-junit-reporter
cypress run --reporter mocha-multi-reporters --reporter-options configFile=config.json

File config.json has

{
  "reporterEnabled": "spec, mocha-junit-reporter",
  "mochaJunitReporterReporterOptions": {
    "mochaFile": "multiple-results/results.xml"
  }
}

The standard output will have spec names during the test run, and the final result will be saved in JUnit XML format in file multiple-results/results.xml.

Take a look at test-multiple script inside package.json for example.

Happy testing

If you find problems with Cypress and CI, please

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].