Batch file 如何在bat文件中运行testng.xml

Batch file 如何在bat文件中运行testng.xml,batch-file,selenium,Batch File,Selenium,我是SeleniumWebDriver的新手,我想在windows服务器上安排我的测试。所以我打算创建一个.bat文件并使用windows调度器。这是我的bat文件。请帮我做这个 projectLocation=E:\Automation\Webdrive项目\HTML5 cd%项目位置% 设置类路径=%projectLocation%\bin;%projectLocation%\lib* java org.testng.testng%projectLocation%\testng.xml 停顿

我是SeleniumWebDriver的新手,我想在windows服务器上安排我的测试。所以我打算创建一个.bat文件并使用windows调度器。这是我的bat文件。请帮我做这个

projectLocation=E:\Automation\Webdrive项目\HTML5

cd%项目位置%

设置类路径=%projectLocation%\bin;%projectLocation%\lib*

java org.testng.testng%projectLocation%\testng.xml

停顿

当我运行代码时,得到一些错误

C:\Users\miskinr\Desktop    set projectLocation=E:\Automation\Webdrive project\HTML5
C:\Users\miskinr\Desktop    cd E:\Automation\Webdrive project\HTML5
C:\Users\miskinr\Desktop    set classpath=E:\Automation\Webdrive project\HTML5\bin;
E:\Automation\Webdrive project\HTML5\lib\*
C:\Users\miskinr\Desktop    java org.testng.TestNG E:\Automation\Webdrive project\HTML5\testng.xml
java.io.FileNotFoundException: E:\Automation\Webdrive (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init    (Unknown Source)
at java.io.FileInputStream.<init    (Unknown Source)
at org.testng.xml.Parser.parse(Parser.java:167)
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:300)
at org.testng.TestNG.run(TestNG.java:1021)
at org.testng.TestNG.privateMain(TestNG.java:1355)
at org.testng.TestNG.main(TestNG.java:1324)
java.io.FileNotFoundException:
  C:\Users\miskinr\Desktop\project\HTML5\testng.xml
(The system cannot find the path specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init    (Unknown Source)
at java.io.FileInputStream.<init    (Unknown Source)
at org.testng.xml.Parser.parse(Parser.java:167)
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:300)
at org.testng.TestNG.run(TestNG.java:1021)
at org.testng.TestNG.privateMain(TestNG.java:1355)
at org.testng.TestNG.main(TestNG.java:1324)
C:\Users\miskinr\Desktop set projectLocation=E:\Automation\Webdrive project\HTML5
C:\Users\miskinr\Desktop cd E:\Automation\Webdrive项目\HTML5
C:\Users\miskinr\Desktop set classpath=E:\Automation\Webdrive project\HTML5\bin;
E:\Automation\Webdrive项目\HTML5\lib\*
C:\Users\miskinr\Desktop java org.testng.testng E:\Automation\Webdrive project\HTML5\testng.xml
java.io.FileNotFoundException:E:\Automation\Webdrive(系统找不到指定的文件)
位于java.io.FileInputStream.open0(本机方法)
位于java.io.FileInputStream.open(未知源代码)
在java.io.FileInputStream中使用

cd/d“%projectLocation%”
/d
开关与工作目录同时更改驱动器号,引号将空间视为路径名的一部分,而不是标记分隔符。同样,出于同样的原因,您应该在中引用位置

java org.testng.testng“%projectLocation%\testng.xml”
但是,由于您已修复了
cd/d
行,您可以忽略
%projectLocation%
,因为它现在已经是当前的工作目录

不严格适用于当前情况,但每当您将变量设置为字符串时,最好引用
“variable=value”

最后,
*
通配符不会有你预期的效果,我不这么认为。您需要使用
for/d
循环来扩展它,并延迟扩展以在该循环中追加
%classpath%

setlocal enabledelayedexpansion
设置“projectLocation=E:\Automation\Webdrive项目\HTML5”
cd/d“%projectLocation%”
设置“cp=%CLASSPATH%”
rem//递归地将*.jar追加到cp
对于(*.jar)中的/r%%I,请执行以下操作(
如果未定义cp(设置“cp=%%~fI”),则设置“cp=%%~fI;!cp!”
)
java-cp“%cp%”org.testng.testng“testng.xml”
暂停

在cd%projectLocation%之后,驱动器路径仍为C:

执行cd E:\切换驱动程序。由于testng.xml存在于E:drive中,并且您正试图从C:\File运行,因此会触发未找到异常

试试这个:

projectLocation=E:\Automation\Webdrive project\HTML5

cd %projectLocation%

set classpath=%projectLocation%\bin;%projectLocation%\lib*

cd E:\

java org.testng.TestNG %projectLocation%\testng.xml

我遇到了类似的问题,只需如下更改。它会起作用

projectLocation=E:\Automation\Webdrive project\HTML5
cd %projectLocation%
set classpath=%projectLocation%\bin;%projectLocation%\lib*
cd..
E:

java org.testng.TestNG %projectLocation%\testng.xml

谢谢你的回复。。。但它仍然不起作用。E:\Automation\Webdrive project\HTML5>java org.testng.testng“testng.xml”错误:找不到或加载主类org.testng.testng
“java类文件路径-E:\Automation\Webdrive project\HTML5\bin\Automation”“Lib文件夹路径-E:\Automation\Webdrive project\HTML5”
Man,我所能做的就是指出批处理语法的问题。我不熟悉Java编程或其环境。我猜想类路径需要包含实际的.jar文件,而不仅仅是它们所在的目录。试试编辑,看看你是否运气更好。我试过这个。。但它仍然不工作E:\Automation\Webdrive project\HTML5>set-projectLocation=E:\Automation\Webdrive project\HTML5 E:\Automation\Webdrive project\HTML5>cd E:\Automation\Webdrive project\HTML5 E:\Automation\Webdrive project\HTML5>set-classpath=E:\Automation\Webdrive projec t\HTML5\bin;E:\Automation\Webdrive project\HTML5\lib*E:\Automation\Webdrive project\HTML5>cd E:\E:\>java org.testng.testng E:\Automation\Webdrive project\HTML5\testng.xml错误:找不到或加载主类org.testng.testng E:\>pauseMy文件夹路径为-“java类文件路径-E:\Automation\Webdrive project\HTML5\bin\Automation”“Lib文件夹路径-E:\Automation\Webdrive project\HTML5\Lib”“Testng.XML路径-E:\Automation\Webdrive project\HTML5”