如何使用 testng.xml 和 beanshell 设置系统 属性
How to set system property using testng.xml and beanshell
我有一个 XML 这样配置的
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="SuiteName" verbose="7">
<test name="TestName">
<method-selectors>
<method-selector>
<script language="beanshell">
<![CDATA[
driverType = System.getProperty("driverType");
if (driverType.equals("IOS")){
return groups.containsKey("All") && (!groups.containsKey("wip") && !groups.containsKey("iOS"));
} else {
return groups.containsKey("All") && (!groups.containsKey("wip"));
}
]]></script>
</method-selector>
</method-selectors>
<classes>
<class name="classnameHere"/>
</classes>
</test>
</suite>
现在我有一个发送命令的 Jenkins 作业 -DsuiteXmlFile=${suiteXmlfile}。xml(我配置了多个套件 XML 个文件)
测试创建的报告在名称中包含 "suiteXmlFile" 参数值,但为了调试或当我必须 运行 不是来自 Jenkins 的东西时,我只需右键单击 XML文件,但记者看到 suiteXmlFile 为空(很明显)。
我试过了System.setProperty("suiteXmlFile","suiteName"); (我在内部方法中使用了这个并且效果很好)但是从 XML 文件看来它不起作用。有没有其他方法可以设置 属性?
System.setProperty("suiteXmlFile","suiteName") 确实有效。问题是我试图在 xml
设置之前读取 属性
我有一个 XML 这样配置的
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="SuiteName" verbose="7">
<test name="TestName">
<method-selectors>
<method-selector>
<script language="beanshell">
<![CDATA[
driverType = System.getProperty("driverType");
if (driverType.equals("IOS")){
return groups.containsKey("All") && (!groups.containsKey("wip") && !groups.containsKey("iOS"));
} else {
return groups.containsKey("All") && (!groups.containsKey("wip"));
}
]]></script>
</method-selector>
</method-selectors>
<classes>
<class name="classnameHere"/>
</classes>
</test>
</suite>
现在我有一个发送命令的 Jenkins 作业 -DsuiteXmlFile=${suiteXmlfile}。xml(我配置了多个套件 XML 个文件)
测试创建的报告在名称中包含 "suiteXmlFile" 参数值,但为了调试或当我必须 运行 不是来自 Jenkins 的东西时,我只需右键单击 XML文件,但记者看到 suiteXmlFile 为空(很明显)。
我试过了System.setProperty("suiteXmlFile","suiteName"); (我在内部方法中使用了这个并且效果很好)但是从 XML 文件看来它不起作用。有没有其他方法可以设置 属性?
System.setProperty("suiteXmlFile","suiteName") 确实有效。问题是我试图在 xml
设置之前读取 属性