4
votes

Parallélisation Cypress sans tableau de bord Cypress

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!


0 commentaires

6 Réponses :


3
votes

vous pouvez essayer cette cypress-parallel-specs-localement


0 commentaires

0
votes

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.

entrez la description de l'image ici


0 commentaires

2
votes

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


1 commentaires

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



0
votes

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


0 commentaires

0
votes

entrez la description de l'image ici

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.


0 commentaires

0
votes

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 .


0 commentaires