繁体   English   中英

parasoft SOA测试-如何在parasoft中调用Java代码

[英]parasoft SOA Test - How to call Java code in parasoft

我试图从我的Parasoft测试套件中将Java程序作为可执行文件运行。 可执行文件仅在测试运行后才执行,并将结果存储在一个文件夹中。.但是,作为增强功能的一部分,我需要将参数传递给Java代码,而Java代码需要该参数才能在特定文件夹中生成结果。 有谁知道如何将Java代码与SOA Test集成在一起,如何从SOA测试中传递参数,以及如何在Java代码中处理该参数?

希望对此有所帮助。谢谢

如果我理解这个错误,请纠正我。

您想从SOATest内部启动Java应用程序。 这将独立运行,您还可以从命令行启动它吗? 在这种情况下,您可以像在命令行上一样使用Groovy生成该进程。 查看Groovy文档

*** 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?");
  }

}

您需要在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);
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM