Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用Jenkins中的批处理文件触发testng.xml_Windows_Batch File_Jenkins_Cmd_Appium - Fatal编程技术网

Windows 使用Jenkins中的批处理文件触发testng.xml

Windows 使用Jenkins中的批处理文件触发testng.xml,windows,batch-file,jenkins,cmd,appium,Windows,Batch File,Jenkins,Cmd,Appium,我正在尝试从测试用例内部运行批处理文件,以使用以下代码在特定端口启动appium服务器: String cmd="cmd /c \"cd C:\\Program Files\\Appium\\node_modules && start C:\\GitRapo\\MyProject\\samplenote2.bat\""; Runtime r=Runtime.getRuntime(); Process pr=r.exec(cmd); samplenote2.bat是一

我正在尝试从测试用例内部运行批处理文件,以使用以下代码在特定端口启动appium服务器:

String cmd="cmd /c \"cd C:\\Program Files\\Appium\\node_modules && start C:\\GitRapo\\MyProject\\samplenote2.bat\"";
Runtime r=Runtime.getRuntime(); 
    Process pr=r.exec(cmd); 
samplenote2.bat是一个批处理文件,它打开cmd prompt的一个新实例,并发出以下命令:

节点应用程序--地址127.0.0.1-第4727页 @停顿

在此之后,我的测试用例的其余部分应该在这个appium服务器上执行。当我手动运行testNGBatchFile.bat时,我能够调用testng.xml,它反过来调用测试用例中指定的samplenote2.bat并执行其他操作。但对于jenkins,执行时的testNGBatchFile.bat可以调用testng.xml,但无法调用代码中提到的批处理文件(即无法启动appium服务器)


有人能帮我吗?

这不是詹金的问题。当您手动运行它时,我假设您打开该目录并运行,这意味着您位于同一目录中

但在代码/批处理文件中运行时,不会发生同样的情况。您需要导航文件所在的目录

尝试添加cd命令,并在执行每个文件之前提及相应的目录(包括批处理文件和testNG xml)

例如: 如果要运行位于C:\Test\run.bat中的批处理文件

那么批处理文件中的第一条语句应该是

cd C:\Test
如果您正在运行testNG XML文件,则testNG文件也是如此


另外,在java代码中,如果调用任何批处理文件,则首先更改目录。它应该会起作用。

我已经按照你说的做了。在testNGBatchFile.bat中,我正在设置项目位置,cd%projectlocation%,为bin和lib文件夹设置类路径,然后执行testNG.xml。对于其他批处理文件,我已经提到了上面的代码。首先导航到位置,然后调用批处理文件。当我在Jenkins中调用testNGBatchFile.bat时,问题是它能够调用testNG.xml,但无法打开新的cmd提示符来启动“samplenote2.bat”,因此我的测试被跳过。在对整个代码执行cmd section code.PFB链接之前,我能够在控制台中打印一些消息。