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 .