Java 仅使用jar或war文件运行testng套件

Java 仅使用jar或war文件运行testng套件,java,selenium-webdriver,testng,Java,Selenium Webdriver,Testng,我已经使用SeleniumWebDriver和java创建了一个testng测试。现在,我不想将我的代码共享给不同的用户,但我希望我的代码由使用jar或war文件的不同用户运行。 有人能帮我解决这个问题吗。是否可以在不共享testNG java代码的情况下运行测试?我没有机会与maven合作,但也可以与 让我举一个使用ant的例子来告诉你这个想法 假设您正在使用ant运行测试,并根据需要更改以下build.xmlsample文件 现在,在测试编译之后,使用target ant compile

我已经使用SeleniumWebDriver和java创建了一个testng测试。现在,我不想将我的代码共享给不同的用户,但我希望我的代码由使用jar或war文件的不同用户运行。
有人能帮我解决这个问题吗。是否可以在不共享testNG java代码的情况下运行测试?

我没有机会与maven合作,但也可以与

让我举一个使用ant的例子来告诉你这个想法

假设您正在使用ant运行测试,并根据需要更改以下build.xmlsample文件

现在,在测试编译之后,使用target ant compile来编译测试,您将在项目文件夹中的build文件夹中获得类文件,现在您可以删除src文件夹您的java文件并使用ant run来执行测试使用target ant run来运行测试。如果您计划将其交给您的客户机,那么您可以制作一个简单的batwindows或shellscriptlinux来执行命令ant run,然后单击该命令,测试将运行


希望它能帮助你。如果你有任何疑问,请回过头来,就像@vicky建议的那样,看看Maven,因为它可以让你用生产WAR/JAR和打包成测试JAR的测试打包你的项目。特别是在,您可以在罐子上贴标签

因此,将其作为插件添加到pom.xml中:

<build>
   <plugins>
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-jar-plugin</artifactId>
           <version>2.2</version>

           <executions>
               <execution>
                   <goals>
                       <goal>test-jar</goal>
                   </goals>
               </execution>
           </executions>
       </plugin>
    </plugins>
</build>
然后其他人可以将其作为依赖项使用:

 <dependency>
<groupId>com.foo</groupId>
<artifactId>bar</artifactId>
<version>1.2.3</version>
<type>test-jar</type>
<scope>test</scope>

这里有更多信息:

测试代码不属于JAR或WAR之类的可执行包。这有什么用处吗:?Duffymo,所以我不能在没有代码的情况下运行测试?有没有办法,我不想分享我的完整框架。卢克,我知道testng测试用例,但想知道我是否可以使用jar或war文件运行我的测试。使用ant之类的构建工具编译testng测试,然后删除src文件Java文件,并使用ant运行编译期间生成的类文件。您现在可以将项目发送到客户端,该客户端只提供.class文件。请如果你需要更多细节,请回来。有趣的是,Vicky,你能提供更多关于蚂蚁部分的细节吗?maven是否也可以,如果可以,请提供更多详细信息?
 <dependency>
<groupId>com.foo</groupId>
<artifactId>bar</artifactId>
<version>1.2.3</version>
<type>test-jar</type>
<scope>test</scope>