gradle - 我需要通过gradle调用Cucumber Runner,然后依次执行所有测试执行和报告

标签 gradle cucumber build.gradle cucumber-jvm

我不确定我们是否可以运行“ cucumber 赛跑者”类,该类又可以运行所有测试,甚至还可以执行报告部分。
就像在Cucumber Maven项目中一样,我们运行Cucumber运行程序文件以执行测试,甚至在相同上下文中运行后生成报告,是否可以通过调用CucumberRunner类在gradle中实现。
我的 cucumber 赛跑者如下

    import org.testng.annotations.AfterClass;
import io.cucumber.testng.AbstractTestNGCucumberTests;
import io.cucumber.testng.CucumberOptions;


     @CucumberOptions(features = { "classpath:featurefile" }, glue = { "classpath:com.inspire.brands.test.stepdefinition",
            "classpath:com.inspire.brands.helper" }, plugin = { "pretty", "json:target/InspireBrands.json",
                    "com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:" }, monochrome = true, tags = "@Api")
    
    
    public class **InspireBrandsTestRunner** 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
}
}
在这里,我基本上是在初始化我的 cucumber 功能和类定义。
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
    }
}
在这里运行它-您需要使用命令

gradle build or test


该命令需要在终端中运行。
让我知道是否有帮助。

关于gradle - 我需要通过gradle调用Cucumber Runner,然后依次执行所有测试执行和报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63765077/

相关文章:

gradle - 如何通过独立插件将类文件添加到Gradle源集中?

java - 我将GWT依赖项添加到vaadin项目时无法启动tomcat

java - 如何在 Cucumber-JVM 中明确匹配这些步骤?

ruby - 获取 Ruby Cucumber 2.4 中的当前功能名称/描述?

android - 如何在ubuntu服务器上安装android SDK

android - RE:运行android项目时出错

cucumber - 无法连接到 chromedriver http://127.0.0.1:46050 (Selenium::WebDriver::Error::WebDriverError)

android - Cordova - Android - 此构建中使用了已弃用的 Gradle 功能,使其与 Gradle 8.0 不兼容

gradle - 排毒构建错误 : More than one file was found with OS independent path 'lib/x86/libc++_shared.so'

java - 错误 :- Execution failed for task ':app:dexDebug' in android studio