Qaf: StepNotFoundException é lançada mesmo quando a etapa é implementada

Criado em 18 set. 2019  ·  8Comentários  ·  Fonte: qmetry/qaf

Versão QAF: 2.1.14

Nota: apenas a versão mais recente é compatível

Passos para reproduzir

Este é um problema intermitente e parece não haver um padrão.

Comportamento esperado

A etapa deve ser executada.

Comportamento real

StepNotFoundException é lançada

O problema pode ser reproduzido no runner?

  • [] QAS
  • [] Maven
  • [] Gradle
  • [] Formiga
  • [x] Eclipse
help wanted

Comentários muito úteis

Voce pode fornecer mais informação ?
Ainda com base na exceção, existem 2 possibilidades:
1) Parece que há nomes de métodos duplicados em java e com descrições de BDD diferentes. Certifique-se de que os nomes dos métodos sejam diferentes em java.
2) Método Java não existe / criado que está sendo chamado do BDD.

Todos 8 comentários

Voce pode fornecer mais informação ?
Ainda com base na exceção, existem 2 possibilidades:
1) Parece que há nomes de métodos duplicados em java e com descrições de BDD diferentes. Certifique-se de que os nomes dos métodos sejam diferentes em java.
2) Método Java não existe / criado que está sendo chamado do BDD.

Oi Ravi,

Primeiro verifique com a propriedade step.provider.pkg , certifique-se de que aponta para o pacote correto.

Se isso estiver correto, tente fornecer stepName exclusivo para a implementação de sua etapa.

@QAFTestStep(description="user logins with {username} and {password}",stepName="user login with username and password")
public void login(String username,String password){
}

Voce pode fornecer mais informação ?
Ainda com base na exceção, existem 2 possibilidades:

1. It seems duplicate method names in java and having different BDD description. Make sure method names are different in java.

2. Java method not exist/created which is being called from BDD.

@mishalhshah Sim, conforme você apontou. Eu estava usando diferentes descrições de etapas para 2 métodos sobrecarregados. Obrigado por informar sobre esta limitação no QAF.

Oi Ravi,

Primeiro verifique com a propriedade step.provider.pkg , certifique-se de que aponta para o pacote correto.

Se isso estiver correto, tente fornecer stepName exclusivo para a implementação de sua etapa.

@QAFTestStep(description="user logins with {username} and {password}",stepName="user login with username and password")
public void login(String username,String password){
}

Qual é a diferença entre "descrição" e "stepName"? Em nossos projetos atuais, usamos "descrição" e funciona bem.

@mishalhshah Os mesmos nomes de métodos em classes diferentes também podem criar problemas?

Obrigado pela resposta rápida @mishalhshah @amitbhoraniya e @ naeem-github

@mishalhshah Os mesmos nomes de métodos em classes diferentes também podem criar problemas?

@raviguptasmarsh yes os mesmos nomes de método java sem "StepName" exclusivo em QAFTestStep criarão o problema.
Portanto, conforme sugerido por @amitbhoraniya , adicione o stepName exclusivo na anotação QAFTestStep ou forneça os diferentes nomes de métodos java. deixe-me saber depois de aplicar qualquer uma das soluções acima funcionar para você ou não.

stepName é um identificador exclusivo para QAFTestStep. Se stepName não for fornecido, o QAF considera o nome do método como stepName .
description é usado para chamar teststep do arquivo bdd.

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

Questões relacionadas

cjayswal picture cjayswal  ·  17Comentários

Rupak-66 picture Rupak-66  ·  12Comentários

Nandesh7 picture Nandesh7  ·  8Comentários

APrem picture APrem  ·  7Comentários

BChitrakannan picture BChitrakannan  ·  9Comentários