Я пробовал разные вещи и гуглил несколько часов, но не смог найти решение своей проблемы.
Я использую 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 вы используете строку (которая интерпретируется как имя теста). Но, как я уже сказал, здесь это не работает.