我正在尝试从我的Parasoft测试套件中以可执行文件的形式运行java程序。可执行文件只在测试运行后执行,并将结果存储在一个文件夹中。但是现在,作为增强的一部分,我需要向Java代码传递一个参数,而java代码需要该参数在特定文件夹中生成结果。有没有人知道java代码需要如何与SOA测试集成,如何从SOA测试传递参数,以及如何在java代码中处理该参数?
会非常感谢大家的帮助..谢谢
发布于 2016-04-06 10:29:42
如果我理解错了,请纠正我。
您希望从SOATest内部启动一个Java应用程序。这将独立运行,您也可以从命令行启动它?在这种情况下,您可以使用Groovy生成进程,就像在命令行上一样。查看Groovy documentation。
*** SOATest.ExtensionTool ***
import com.parasoft.api.Application;
import com.parasoft.api.ScriptingContext;
def callJavaFromSoaTest(Object input, ScriptingContext scriptingContext) {
command = 'java -jar /path/to/your/java/class/JavaMain.jar Parameter';
result = command.execute().text;
Application.showMessage(result);
}
*** Java Class ***
public class JavaMain {
public static void main(String[] args) {
String name = "Harry";
if (args.length > 0) {
name = args[0];
}
System.out.println("Hello " + name + ", how is your day?");
}}
发布于 2016-02-19 04:01:18
为了获得所需的参数,您需要在java代码中实现com.parasoft.api;可以在帮助部分中找到更多详细信息,请搜索:“可扩展性(脚本)基础”
定义一个测试套件变量,将您的值存储在其中,然后调用:
varValue = context.getValue("x")
下面是一个从数据源获取值的Java示例。
package examples;
import soaptest.api.*;
import com.parasoft.api.*;
public class Keyword {
public Object getKeywords(Object input, ExtensionToolContext context)
throws com.parasoft.data.DataSourceException {
String[] titles = new String[1];
titles[0] = context.getValue("Books", "keywords");
return SOAPUtil.getXMLFromString(titles);
}
}https://stackoverflow.com/questions/35467223
复制相似问题