根据您的问题描述,我认为有些问题需要我们解决,否则我们将无法进入解决方案。
- 我想知道是否要创建正确的 文件
batch
(即.bat
):从根本上讲, Maven 是一个 构建工具 ,可以广泛地与之协同工作,pom.xml
并且不需要任何 Windows批处理 文件。 - 如果您的用 例 是将 Windows批处理 文件传递给 Jenkins 进行 持续集成, 那么如果 Windows批处理 文件能够启动 Test Suite 的执行,则需要验证此步骤。
- 但是, Jenkins 也可以通过和 Maven 启动 测试套件 的执行。
pom.xml
__
现在,您的用 例 必须与上述需求之一匹配,如下所述:
- Windows批处理文件 + TestNG
- 詹金斯 + TestNG
- 詹金斯 + Maven
正如您广泛谈论 Windows批处理 文件一样,这是第一个选项 Windows批处理文件 + TestNG 的相关详细信息:
- 编写一个带有 TestNG
@Test
注释的简单代码块,如下所示: __
package demoJenkins; import org.testng.annotations.Test; public class DemoJenkinsJob { @Test public void testJenkins() { System.out.println("Welcome to Jenkins World"); } }运行方式
TestNG Test
成功执行后,使用
TestNG -> Convert to TestNG
和testng.xml
进行转换。- 该
testng.xml
会是这样的:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite"> <test name="Test"> <classes> <class name="demoJenkins.DemoJenkinsJob"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
从您的 IDE (即 Eclipse )获取绝对 项目位置 ,浏览至子目录,创建目录 lib* *
将所有相关的jar和库( Selenium 和 TestNG jar)复制到 lib 目录中。
selenium-server-standalone-3.13.0.jar
org.testng_6.14.2.r201802161450.jar
com.beust.jcommander_1.72.0.jar
org.apache-extras.beanshell.bsh_2.0.0.b6.jar
org.yaml.snakeyaml_1.17.0.jar
通过 CLI 浏览到 Project Directory 并提供以下 类路径 :
set classpath=
bin; lib*;
通过 CLI 执行
testng.xml
如下:Project_Directory>java org.testng.TestNG testng.xml
成功执行后,在 Project Directory中 创建一个新的文本文档并添加以下代码:
java -cp bin;lib/* org.testng.TestNG testng.xml
将文件另存为 run.bat
执行 Windows批处理 文件 run.bat, 并验证它是否按预期执行了 Test Suite 。
更新资料
根据您的问题和后续评论,
当您使用 TestNG 和/或 Maven时 ,这些框架/ buildtool会将所有相关的 jar 保留在各自的位置。但是,当您打算手动配置 构建路径时 ,必须手动创建 lib 目录并保留相关 jar 的副本。
也许您不需要手动创建 bin 目录,因为成功编译 Java程序时, 您的程序将自动创建 bin 并且在 执行 前保留 类 文件。 __



