Existe-t-il un moyen d'exécuter des exécuteurs parallèles de cyprès sans accéder au tableau de bord de cyprès?
J'essaie de demander à Cypress d'exécuter mes tests en parallèle, mais il semble que vous devez avoir une connectivité Internet pour accéder au tableau de bord Cypress afin d'enregistrer les tests.
Tout le monde sait comment je peux contourner cela et faire exécuter des tests en parallèle sans dépendre de Cypress Dashboard ou d'un outil CI spécifique comme Circle CI?
Merci d'avance!
6 Réponses :
Essayez d'ajouter l'action Cypress dans Buddy CI / CD. De cette façon, vous construirez et testerez votre application à chaque push (et elles se déploieront où vous le souhaitez). Je pense que Buddy devrait vous aider avec ce problème.
Regardez cette solution gratuite https://github.com/agoldis/sorry-cypress J'utilise uniquement le service de directeur dans docker-compose pour que les tests soient exécutés en parallèle, à titre d'exemple simple:
version: '3.7'
networks:
default:
external:
name: bridge
services:
cypress:
container_name: cypress
build:
context: ../
dockerfile: ./docker/cy.Dockerfile
links:
- director
ports:
- '5555:5555'
network_mode: bridge
cypress2:
container_name: cypress2
build:
context: ../
dockerfile: ./docker/cy.Dockerfile
links:
- director
ports:
- '5556:5556'
network_mode: bridge
mongo:
image: mongo:4.0
network_mode: bridge
ports:
- 27017:27017
director:
image: agoldis/sorry-cypress-director:latest
environment:
MONGODB_URI: "mongodb://mongo:27017"
network_mode: bridge
ports:
- 1234:1234
depends_on:
- mongo
Je pense que vous n'aurez peut-être même pas besoin du mongodb si vous utilisez l'option stateless ou en mémoire? github.com/agoldis/sorry-cypress#drivers
Si vous utilisez GitLab, vous pouvez toujours fractionner manuellement les travaux via le fichier .gitlab-ci.yml , comme ceci:
1-job:
stage: acceptance-test
script:
- npm install
- npm i -g wait-on
- wait-on -t 60000 -i 5000 http://yourbuild
- npm run cypress -- --config baseUrl=http://yourbuild --spec ./**/yourspec1
2-job:
stage: acceptance-test
script:
- npm install
- npm i -g wait-on
- wait-on -t 60000 -i 5000 http://yourbuild
- npm run cypress -- --config baseUrl=http://yourbuild --spec ./**/yourspec2
J'ai créé l'outil orchestrateur pour pouvoir le faire. Il vous permet de déployer n'importe quel nombre de conteneurs docker de cyprès et de diviser toutes les spécifications entre eux et à la fin, cela va générer un beau rapport HTML.
Il est open-source, gratuit à utiliser et vous pouvez l'utiliser avec Jenkins, TravisCI, les actions github ou tout autre CI.
Testery.io est une plate-forme de test basée sur le cloud qui prend en charge l'exécution des tests Cypress en parallèle. Vous pouvez vous inscrire à un plan gratuit pour exécuter jusqu'à 5 tests en parallèle, intégrer l'exécution dans votre système ci / cd et afficher les résultats sur la plateforme. Vous pouvez également exécuter 15 à 30 tests en parallèle si vous choisissez un forfait payant: https://testery.io/pricing .