Cucumber-js: questão: documentação de uso da API

Criado em 9 jan. 2018  ·  5Comentários  ·  Fonte: cucumber/cucumber-js

Eu gostaria de usar o cucumber-js com cypress ou webdrive.io. Para isso, é necessário executar o cucumber-js dentro do conjunto de testes cypress / webdriver.is. Eu pesquisei, mas não encontrei nenhuma documentação sobre o consumo de cucumber-js por meio de uma API em vez da abordagem CLI. O que estou procurando atualmente:

  • passando pelo mundo dinâmico personalizado (preciso fazer referência a cy para executar meus testes dentro das etapas.)
  • carregando arquivos de recursos dinamicamente

Existe alguma api consumível para isso que eu não encontrei?

documentation

Comentários muito úteis

Também encontrando isso. Atualmente construindo uma estrutura de teste e2e. Eu gostaria de testar esta estrutura. Para fazer isso, prefiro ter acesso à API para o tempo de execução. Algumas classes estão sendo expostas embora não sejam documentadas nem definidas no arquivo de definições do Typescript. Isso me deixa com a impressão de que as aulas, mesmo expostas, não devem ser utilizadas para produção.

Se alguém pudesse fornecer uma atualização sobre este problema e pudesse confirmar ou refutar minhas suposições, isso seria incrível.

Todos 5 comentários

Isso também parece ser bastante relevante para https://github.com/webdriverio/wdio-cucumber-framework/issues/95

Nenhum trabalho que eu saiba foi documentar como usar a API javascript. Alguns dos cli / runtime são expostos e relativamente estáveis.

Acho que uma maneira de fazer isso é discutir a API desejada e, em seguida, quando tivermos um conjunto de requisitos, podemos transformar a API para ajustá-la e documentá-la. Acho que precisamos de algo entre as interfaces CLI e Runtime.

Para passar um mundo dinâmico personalizado, você está dizendo que quer algo diferente do que definir o construtor de mundo?

Você pode fornecer mais detalhes sobre como carregar recursos dinamicamente. É de uma maneira diferente da aparência da CLI.

Só tenho experiência com o adaptador de pepino webdriver.io. A ideia aqui é usar o WDIO CLI fornecido como executor principal, onde o cucumber é chamado por meio de uma API por meio de um adaptador de estrutura.

Sim, houve dias em que (em nosso projeto) usamos o WDIO como principal instância mundial onde o pepino CLI era o verdadeiro executor. Mas, uma vez que existe essa abstração de adaptador de estrutura disponível no WDIO, faz sentido usá-los. Consulte também outros adaptadores: http://webdriver.io/guide/testrunner/frameworks.html

No momento, estou tentando usar a classe Runtime para atualizar a estrutura wdio-cucumber para oferecer suporte ao pepino 4 (atualmente, ele ainda visa apenas 2,3) e, de alguma forma, sinto problemas com a API do pepino.

Por exemplo, estou me perguntando por que esse EventDataCollector existe 😏. Por exemplo. por que todos os eventos emitidos não têm uma carga útil com o contexto completo (gherkinDocument, currentScenario, currentStep)? Isso tornaria tal colecionador obsoleto? Mas talvez eu esteja faltando alguma coisa aqui.

Aposto que existem muitas outras ideias, sugestões e requisitos. Vamos ver onde isso vai dar.

Este problema reapareceu para nós hoje também devido à integração com outros corredores.
O caso de ter uma API ainda é muito válido.
Algum plano para isso?

Também encontrando isso. Atualmente construindo uma estrutura de teste e2e. Eu gostaria de testar esta estrutura. Para fazer isso, prefiro ter acesso à API para o tempo de execução. Algumas classes estão sendo expostas embora não sejam documentadas nem definidas no arquivo de definições do Typescript. Isso me deixa com a impressão de que as aulas, mesmo expostas, não devem ser utilizadas para produção.

Se alguém pudesse fornecer uma atualização sobre este problema e pudesse confirmar ou refutar minhas suposições, isso seria incrível.

Esta página foi útil?
0 / 5 - 0 avaliações