Java TestNG套件的NumberFormatException
我试图通过命令行运行Selenium测试。为了实现它,我创建了一个带有几个测试的示例类和一个testng.xml文件 我在命令行中一个接一个地运行以下命令:Java TestNG套件的NumberFormatException,java,xml,testng,Java,Xml,Testng,我试图通过命令行运行Selenium测试。为了实现它,我创建了一个带有几个测试的示例类和一个testng.xml文件 我在命令行中一个接一个地运行以下命令: d: cd D:\Yes\selenium\sel_mock_aut_tests\Nothing set pp=D:\Yes\selenium\sel_mock_aut_tests\Nothing set classpath=%pp%\bin;%pp%\lib\* java org.testng.TestNG %pp%\ATestNG.x
d:
cd D:\Yes\selenium\sel_mock_aut_tests\Nothing
set pp=D:\Yes\selenium\sel_mock_aut_tests\Nothing
set classpath=%pp%\bin;%pp%\lib\*
java org.testng.TestNG %pp%\ATestNG.xml
这将导致以下错误:
[TestNG] [ERROR] java.lang.NumberFormatException: For input string: "1.0"
我的testng.xml文件如下所示(名为ATestNG.xml):
导致错误的原因是什么以及如何修复它?请查看TestNG文档:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1" >
<test name="Nopackage" >
<classes>
<class name="NoPackageTest" />
</classes>
</test>
<test name="Regression1">
<classes>
<class name="test.sample.ParameterSample"/>
<class name="test.sample.ParameterTest"/>
</classes>
</test>
</suite>
导致错误的原因是verbose=“1.0”
。TestNG试图将1.0
解析为int
,导致异常
您可能希望将verbose=“1”
放在那里
作为旁注,TestNG文档中关于
verbose
属性的内容相当少。很好地解释了属性可以具有哪些值:
在理解verbose属性的用法之前,首先必须了解它可以接受的值。详细属性可以取值范围为1到10,如下所示:
verbose=“1”verbose=“2”
verbose=“3”
verbose=“4”
verbose=“5”
verbose=“6”
verbose=“7”
verbose=“8”
verbose=“9”
verbose=“10” 如果我们用较小的数字指定verbose属性,那么eclipseide->“console”窗口中的测试结果日志详细信息将更少。但是,如果您希望获得更多详细信息,并希望在EclipseIDE->“console”窗口中查看测试结果日志详细信息,则必须为verbose属性分配更大的数字 当然,这不仅仅适用于Eclipse,它是一个TestNG配置
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1" >
<test name="Nopackage" >
<classes>
<class name="NoPackageTest" />
</classes>
</test>
<test name="Regression1">
<classes>
<class name="test.sample.ParameterSample"/>
<class name="test.sample.ParameterTest"/>
</classes>
</test>
</suite>