Как добавить параметры для тестовых случаев в плане тестирования с использованием Java? - PullRequest
1 голос
/ 14 марта 2012

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

Я использую 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?

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

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

Ответы [ 3 ]

2 голосов
/ 05 июля 2012

Я наконец нашел ответ на этот вопрос:

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();

С уважением.

0 голосов
/ 21 сентября 2016
//C# code snippet -> You have to use DBNull.Value instead of null        
//Add new parameter and assign values
    TestParameter newParam =(TestParameter)tParamFactory.AddItem(DBNull.Value);
    newParam.Name = "ParamNew";
    newParam.DefaultValue = "DefaultValue";
    newParam.Description = "AnyDesc";
    newParam.Post(); 
0 голосов
/ 19 марта 2012

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

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

Подробнее об этом можно узнать на этом сайте.

...