我有selenium testng框架,之前我们有用于启动和停止selenium网格的xml文件,因为它曾用于反映在测试报告中我们已经删除了xmls以启动和停止网格并且倾向于使用ant来实现这一点,因此我正在尝试创建一个接受参数并传递给java函数的目标。
我的功能 -
public static void main(String[] args) throws Exception {
if(args.length<1){
System.err.println("This execution requires arguments such as startGRID or stopGRID");
log.error("This execution requires argumentr such as startGRID or stopGRID");
} else if(args[0].equalsIgnoreCase("startGRID")){
System.out.println("Starting up GRID");
log.info("Starting up GRID");
setupSeleniumGrid();
} else if(args[0].equalsIgnoreCase("stopGRID")){
System.out.println("Shutting down GRID");
log.info("Shutting down GRID");
shutdownSeleniumGrid();
}else {
System.err.println("unrecognized arguments, please provide aruments such as startGRID or stopGRID");
log.error("unrecognized arguments, please provide aruments such as startGRID or stopGRID");
}
}
蚂蚁目标 -
<!-- start Grid -->
<target name="startGRID" depends="compile">
<echo>
Please wait .... GRID is starting up...
</echo>
<java classname="foo.bar.framework.selenium.SetupGrid" classpath="${test.dest}" classpathref="${test.c}" />
<echo>
GRID Start up complete !
</echo>
</target>
在上面的目标中我不确定classpathref="${test.c}
在遗留代码中的作用是什么,我们一直在使用它。
如果有人可以通过蚂蚁建议工作目标来完成这项任务。
答案 0 :(得分:0)
根据文档,必须有一个id =&#34; $ {test.c}&#34;的路径元素。在您的build.xml中。更多信息:http://ant.apache.org/manual/using.html#references
答案 1 :(得分:0)
从stackoverflow Use Ant for running program with command line arguments
中浏览此线程在你的&#34; java&#34;标记传递&#34; arg&#34;通过从命令行获取参数来标记。用线程中的例子清楚地解释......
答案 2 :(得分:0)
这对我有用 -
<target name="controlGRID" depends="compile">
<echo>
Please wait .... GRID is starting up...
</echo>
<java classname="foo.bar.framework.selenium.SetupGrid" classpath="${test.dest}" classpathref="test.c">
<arg value="${arg}"/>
</java>
<echo>
GRID Start up complete !
</echo>
</target>
和命令行
ant -Darg=startGRID controlGRID