2016-02-17 4 views
0

Я пытаюсь запустить java-программу в качестве исполняемого файла из своего пакета Parasoft Test. Исполняемый выполняется только после запуска теста и сохранения результатов в одной папке. Но теперь, как часть улучшения, мне нужно передать аргумент в код Java, а java-код нуждается в этом аргументе для генерации результатов в определенных папках. Кто-нибудь знает, как Java-код необходимо интегрировать с SOA Test и как аргумент может быть передан из теста SOA и как этот аргумент должен быть обработан в Java-коде?parasoft SOA Test - Как вызвать код Java в parasoft

бы признателен за любую помощь по этому .. Спасибо

+0

Вы можете разместить любой код, показывающий, что вы пробовали? – Tapani

+0

Мой java-код работает абсолютно нормально, когда я запускаю его снаружи или предоставляю в качестве исполняемого файла из SOA TEST. Но теперь, как часть улучшения, мне нужно получить входные данные из parasoft, и мне нужно использовать этот ввод в моем java-коде. нужна помощь в этой области .. спасибо за быстрый ответ – Lokesh

ответ

0

Вы должны реализовать com.parasoft.api в вас Java код, чтобы получить аргумент, что нужно; Более подробную информацию можно найти в справочном разделе поиска для: «расширяемости (Scripting) Основ»

Определить переменный набор тестов, хранить в нем ценность, то звоните:

varValue = context.getValue ("х ")

Вот пример 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); 
    } 

} 
+0

У меня уже есть отдельный Java-код, который имеет несколько классов и MAIN(). Если я реализую это, должен ли я вносить изменения в текущий Java-код? – Lokesh

+0

Да - если вы хотите поделиться своим кодом, который вам поможет. –

2

Пожалуйста, исправьте меня, если я пойму это неправильно.

Вы хотите запустить приложение Java изнутри SOATest. Это будет работать независимо, и вы также можете запустить его из командной строки? В этом случае вы можете использовать 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?"); 
    } 

}

Смежные вопросы