Как добавить параметры в тестовые случаи в Test Plan с помощью Java?

Я пробовал разные вещи и гуглил несколько часов, но не смог найти решение своей проблемы.

Я использую OTA API Quality Center через Com4j, чтобы моя программа могла общаться с QC. Это работает довольно хорошо, но теперь я наткнулся на эту проблему:

Я хочу добавить новые параметры в тестовый пример в «Плане тестирования», используя мою программу.

Если бы я использовал VB, это работало бы примерно так:

Dim supportParamTest As ISupportTestParameters
Set supportParamTest = TDConnection.TestFactory.Item(5)

Set testParamsFactory = supportParamTest.TestParameterFactory
Set parameter = testParamsFactory.AddItem(Null)
parameter.Name = name
parameter.Description = desc
parameter.Post

Set AddTestParameter = parameter

Важной частью является вызов AddItem() для TestParameterFactory. Он добавляет и возвращает параметр, которому вы затем можете дать имя и описание. В VB методу AddItem передается Null в качестве аргумента.

Использование Java на первый взгляд похоже:

Сначала я устанавливаю соединение и получаю TestFactory (и список тестов).

QcConnect qc = new QcConnect(server, login, password, domain, project);
ITDConnection qcConnection = qc.getConnection();

ITestFactory qcTestFactory = qcConnection.testFactory().queryInterface(ITestFactory.class);
IList qcTestList = qcTestFactory.newList("");   

qcTestList содержит все тесты из плана тестирования.

ITest test = qcTestList.item(1);      
ISupportTestParameters testParam = test.queryInterface(ISupportTestParameters.class);
ITestParameterFactory paramFac = testParam.testParameterFactory().queryInterface(ITestParameterFactory.class);

Пока нет проблем. Все «забросы» удачны. Теперь я хочу вызвать метод addItem для TestParameterFactory, как в VB.

Com4jObject com = paramFac.addItem(null);

Это не работает. Метод addItem() всегда возвращает null. Я пробовал различные аргументы, такие как случайная строка, случайное целое число, идентификатор тестового примера и т. Д. Ничего не работает.

Как правильно использовать этот метод в Java?

Или вообще: Как добавить параметры к существующим тестам в Test Plan с помощью Java?

Краткое примечание: добавление тестовых случаев в план тестирования очень похоже на добавление параметров в эти тестовые случаи. Вы также используете фабрику и метод addItem. В VB вы указываете null в качестве параметра, но в Java вы используете строку (которая интерпретируется как имя теста). Но, как я уже сказал, здесь это не работает.


person pDOTgetName    schedule 14.03.2012    source источник


Ответы (2)


Наконец-то я нашел ответ на этот вопрос:

Com4jObject obj = iTestParameterFactory.addItem(new Variant(Variant.Type.VT_NULL));
iTestParameter = obj.queryInterface(ITestParameter.class);
iTestParameter.name("AAB");
iTestParameter.defaultValue("BBB");
iTestParameter.description("CCC");
iTestParameter.post();

С уважением.

person brookesi    schedule 05.07.2012
comment
Это именно то, что мне нужно. - person pDOTgetName; 10.07.2012
comment
новый Variant(Variant.Type.VT_NULL) — очевидно ;) - person Roland; 21.09.2016

То, что вы хотите передать AddItem, это DBNull, а не null. В VB то же самое, а в Java и .NET — нет.

Не уверен, как DBNull выставляется с помощью Com4J.

Подробнее об этом читайте на этом сайте.

person Alex Shnayder    schedule 18.03.2012