Balaji Singh .Y
No estoy seguro de si podemos ejecutar la clase de corredor de pepino que, a su vez, ejecuta todas las pruebas e incluso hace la parte de informes también.
Al igual que en el proyecto Cucumber Maven, ejecutamos el archivo del corredor Cucumber para ejecutar las pruebas e incluso genera los informes después de la ejecución en el mismo contexto, ¿es factible en gradle llamando a la clase del corredor Cucumber?
Mi corredor de pepino es el siguiente
import org.testng.annotations.AfterClass;
import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;
@CucumberOptions(features = { "classpath:featurefile" }, glue = { "classpath:com.hals.brands.test.stepdefinition",
"classpath:com.hals.brands.helper" }, plugin = { "pretty", "json:target/HalsprosBrands.json",
"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:" }, monochrome = true, tags = "@Api")
public class **HalProsbrandsTestRunner** extends AbstractTestNGCucumberTests {
@AfterClass(alwaysRun = true)
public static void writeExtentReport() {
ReporterUtil.archiveReport();
}
}
package runners;
import com.cucumber.listener.ExtentProperties;
import com.cucumber.listener.Reporter;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import stepDefinations.Hooks;
@RunWith(Cucumber.class)
@CucumberOptions(
features = ".//test//java//FeatureList",glue = "stepDefinations",
plugin = { "com.cucumber.listener.ExtentCucumberFormatter:",
"junit:target/cucumber-results.xml"},
tags="@Smoke-Login",
monochrome = true
)
public class TestRunner {
@BeforeClass
public static void setup(){
//Initializing extent reporting here
}
}
Aquí estoy básicamente inicializando mi característica de pepino y definición de clase.
plugins {
id 'java'
}
group 'org.mytest'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
repositories {
mavenCentral()
}
dependencies {
//junit
testCompile 'junit:junit:4.12'
compile group: 'org.testng', name: 'testng', version: '6.10'
//cucumber
compileOnly 'info.cukes:cucumber-jvm-deps:1.0.5'
compile group: 'info.cukes', name: 'gherkin', version: '2.12.2'
compile group: 'net.masterthought', name: 'cucumber-reporting', version: '3.18.0'
testCompile group: 'info.cukes', name: 'cucumber-junit', version: '1.2.5'
testCompile group: 'info.cukes', name: 'cucumber-picocontainer', version: '1.2.4'
compile group: 'info.cukes', name: 'cucumber-java', version: '1.2.4'
//reporting
compile 'com.vimalselvam:cucumber-extentsreport:3.0.2'
compile 'com.aventstack:extentreports:3.1.2'
compile 'com.aventstack:extentreports:3.1.2'
//logger
compile group: 'log4j', name: 'log4j', version: '1.2.17'
//selenium
compile group: 'org.seleniumhq.selenium', name: 'selenium-chrome-driver', version: '3.14.0'
compile group: 'org.seleniumhq.selenium', name: 'selenium-remote-driver', version: '3.14.0'
compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.14.0'
compile group: 'org.seleniumhq.selenium', name: 'selenium-server', version: '3.14.0'
//compile group: 'org.seleniumhq.selenium', name: 'selenium-server', version: '2.53.1'
}
test {
reports {
junitXml.enabled = true
html.enabled = false
}
testLogging {
events 'passed', 'failed', 'standardError'
showStandardStreams = true
}
}
Aquí para ejecutar esto, necesita usar el comando
construir o probar gradle
el comando debe ejecutarse en la terminal. Déjeme saber si esto ayuda.
-
Para mi caso esto no funciona. Mi configuración es un poco diferente. Lo descubrí con la tarea Cucumber, donde incluí el pegamento, el archivo de funciones y usé ExtentCucumberAdapter para los informes. Ahora funciona bien, lo único es que el registro no funciona, quiero decir que los registros se escriben en el archivo de registro
– Balaji Singh .Y
10 de septiembre de 2020 a las 15:24
-
De todos modos, gracias por responder y agradecería que me ayudes en la parte de registro. para iniciar sesión iam usando Log4j
– Balaji Singh .Y
10 sep 2020 a las 15:25