首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在bat文件中运行testng.xml

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

Stack Overflow用户
提问于 2016-02-17 13:34:38
回答 3查看 1.5K关注 0票数 0

我是selenium的新手,我想在windows服务器上安排我的测试。因此,我打算创建一个.bat文件并使用windows调度程序。这是我的蝙蝠档案。请帮我一下

projectLocation=E:\Automation\Webdrive项目\HTML5 5 cd %投影定位% 设置classpath=%projectLocation%\bin;%projectLocation%\lib* java org.testng.TestNG %projectLocation%\testng.xml 暂停

项目

当我运行代码时会发现一些错误。

代码语言:javascript
复制
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)
EN

回答 3

Stack Overflow用户

发布于 2016-02-17 14:16:39

使用

代码语言:javascript
复制
cd /d "%projectLocation%"

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

代码语言:javascript
复制
java org.testng.TestNG "%projectLocation%\testng.xml"

但是,由于您已经修复了cd /d行,所以可以忽略%projectLocation%,因为这已经是当前的工作目录了。

不严格适用于当前情况,但是每当您将变量设置为字符串时,引用"variable=value"对是很好的做法。

最后,*通配符不会产生您预期的效果,我不认为。您将需要使用一个for /d循环来展开它,并使用延迟扩展来在该循环中追加%classpath%

代码语言:javascript
复制
setlocal enabledelayedexpansion
set "projectLocation=E:\Automation\Webdrive project\HTML5"
cd /d "%projectLocation%"
set "cp=%CLASSPATH%"

rem // append *.jar recursively to cp
for /r %%I in (*.jar) do (
    if not defined cp (set "cp=%%~fI") else set "cp=%%~fI;!cp!"
)

java -cp "%cp%" org.testng.TestNG "testng.xml"
pause
票数 0
EN

Stack Overflow用户

发布于 2016-02-17 19:26:58

在cd %射影定位%之后,驱动器路径仍在C:中。

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

试试这个:

代码语言:javascript
复制
projectLocation=E:\Automation\Webdrive project\HTML5

cd %projectLocation%

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

cd E:\

java org.testng.TestNG %projectLocation%\testng.xml
票数 0
EN

Stack Overflow用户

发布于 2018-01-08 14:46:44

我也面临着类似的问题,只要改变一下below.it就行了

代码语言:javascript
复制
projectLocation=E:\Automation\Webdrive project\HTML5
cd %projectLocation%
set classpath=%projectLocation%\bin;%projectLocation%\lib*
cd..
E:

java org.testng.TestNG %projectLocation%\testng.xml
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35458189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档