Closed Viveiros closed 7 years ago
Olá @Viveiros, as anotações @BeforeClass
e @AfterClass
podem ser úteis nesse caso, você já tentou usar elas?
outra abordagem para o seu caso específico seria criar um passo personalizado que ao iniciar um um caso de teste verifica se esta logado, e se não estiver ele faz o login e utilizar antes do caso de teste OU coloca no @BeforeClass
.
Julian, Fiz o testes com: //execute before class @BeforeClass public static void beforeClass() { System.out.println("in before class"); }
//execute after class
@AfterClass
public static void afterClass() {
System.out.println("in after class");
}
//execute before test
@Before
public void before() {
System.out.println("in before");
}
//execute after test
@After
public void after() {
System.out.println("in after");
}
porém é executado fora do contexto de execução do Behave
Running br.gov.esocial.bdd.tests.ESocialTest in before class in before 17:33:42,267 INFO (main) [BehaveContext]: -------------------------------- 17:33:42,268 INFO (main) [BehaveContext]: Demoiselle Behave Iniciado 17:33:42,268 INFO (main) [BehaveContext]: Demoiselle Behave 1.5.1 em: 12/08/2015 10:15 17:33:42,268 INFO (main) [BehaveContext]: -------------------------------- 17:33:42,958 INFO (main) [JBehaveParser]: Configurando Parser JBehave... 17:33:42,986 INFO (main) [JBehaveParser]: Iniciando Parser JBehave... 17:33:42,990 INFO (main) [JBehaveParser]: Executando história: [[stories/povoador/Copy of povoamento.storyConverted]]
Generating reports view to '/home/02731087609/workspace/esocial-testes-automatizados/target/jbehave' using formats '[defaultstoryreport, console, html, stats]' and view properties '{navigator=ftl/jbehave-navigator.ftl, views=ftl/jbehave-views.ftl, reports=ftl/jbehave-reports.ftl, nonDecorated=ftl/jbehave-report-non-decorated.ftl, decorated=ftl/jbehave-report-decorated.ftl, maps=ftl/jbehave-maps.ftl}' Reports view generated with 2 stories (of which 0 pending) containing 2 scenarios (of which 0 pending) Failures in reports view: 1 scenarios failed 17:38:11,193 INFO (main) [JBehaveParser]: Finalizando Parser JBehave... 17:38:11,193 INFO (main) [BehaveContext]: -------------------------------- 17:38:11,193 INFO (main) [BehaveContext]: Demoiselle Behave Finalizado 17:38:11,193 INFO (main) [BehaveContext]: -------------------------------- in after in after class
Na classe responsável pela configuração da pasta onde estão localizadas as histórias de usuários adicionados ao projeto(Steps.Java) no @Before criamos uma história que vai da tela de boas vindas até o OK do captcha e é usado antes da execução de todas as histórias.
Além disso usamos: @BeforeScenario >> usado para carregarDataset @BeforeStories >> usado para popular banco de dados com dados de domínio.
Acredito que este ponto esteja concluído, caso necessite pode reabrir a issue.
Como eu configuro setUp() tearDown() por caso de teste? O problema é que preciso fazer logout da aplicação assim que ocorre um erro qualquer no caso de teste. Como eu configuro o tearDown() "um passo de logout" que será executado assim que algum passo falhar?