如何将黄瓜测试转换为exe文件,没有主要方法

时间:2017-06-07 05:27:17

标签: java maven selenium cucumber

我通过功能文件或跑步者类运行我的测试。我无法创建一个Jar,因为我的项目中没有主方法。请告诉我如何使用此文件创建jar文件,或者如果我需要添加任何内容。

我想在服务器中执行功能方案,以实现我想要创建我当前项目的exe(Cucumber with selenium webdriver,Java使用eclipse IDE和Maven作为Build工具),但由于我没有我项目中的主要方法。请告诉我如何使用此文件创建jar文件,或者如果我需要添加任何其他插件以及如何在此处添加main方法。

    This is my POM.xml from the project :

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>

        <groupId>com.cucumber</groupId>
        <artifactId>BasePolicy</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>

        <name>BasePolicy</name>
        <url>http://maven.apache.org</url>

        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>

        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>1.2.5</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-picocontainer</artifactId>
                <version>1.2.5</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>1.2.5</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>jdom</groupId>
                <artifactId>jdom</artifactId>
                <version>1.1</version>
            </dependency>
        </dependencies>

    </project>

    --------------------------------------------------------------------
    and My java runner class : 

    package com.cucumber.testcases;

    import java.io.File;
    import java.util.concurrent.TimeUnit;

    import org.junit.Before;
    import org.junit.runner.RunWith;
    import org.openqa.selenium.phantomjs.PhantomJSDriver;

    import com.cucumber.Base.BaseDriver;

    import cucumber.api.CucumberOptions;

    import cucumber.api.junit.Cucumber;

    @RunWith(Cucumber.class)
    @CucumberOptions(
            // format = {"pretty","html:target/html/" } ,
            features = "src/test/java")
    public class RunnerClass {

        }

1 个答案:

答案 0 :(得分:0)

您可以通过调用static main method of Main.class(一个句子中有很多主电源)来创建一个运行黄瓜的主方法。

创建一个新类并向其添加以下main方法。

public static void main(String[] args) throws Throwable {

            Main.main(new String[]{"-g", "classpath to step definition file", "Full path to feature file"});

          // My stepdefinition is inside java package at cucumber.sample.test
          // My feature file is inside src/test/resources/features/sample.feature

        }

对于标签或插件等其他参数,请使用"-t","@Tags"重要的是,要素文件路径必须是最后一个选项。

您可以进一步配置它,以便在运行它时将这些参数传递给此类,从而使其更加灵活。您需要在代码中使用args参数。