java - 如何使用Java向测试计划中的测试用例添加参数?

标签 java hp-quality-center com4j

我尝试了各种方法并在 Google 上搜索了多个小时,但找不到解决我的问题的方法。

我通过 Com4j 使用 Quality Center OTA API 让我的程序与 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

重要的部分是对 TestParameterFactory 的 AddItem() 的调用。它添加并返回一个参数,然后您可以为该参数提供名称和描述。在 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);

到目前为止没有问题。所有“ Actor ”都成功了。 现在我想调用 TestParameterFactory 上的 addItem 方法,就像在 VB 中一样。

Com4jObject com = paramFac.addItem(null);

这不起作用。 addItem() 方法始终返回 null。我尝试了各种参数,例如随机字符串、随机整数、测试用例的 ID 等。没有任何效果。

如何在Java中正确使用这个方法?

或者一般来说:如何使用 Java 将参数添加到测试计划中的现有测试用例?

快速说明:将测试用例添加到测试计划的工作方式与向此测试用例添加参数非常相似。您还可以使用工厂和 addItem 方法。在 VB 中,您将 null 作为参数,但在 Java 中,您使用字符串(被解释为测试的名称)。但正如我所说,这在这里不起作用。

最佳答案

我终于找到了答案:

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

问候。

关于java - 如何使用Java向测试计划中的测试用例添加参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9706639/

相关文章:

java - 我的数据库中有 2500 万条记录,我想使用 java 检索它

rest - QC ALM REST 使用 REST API 创建缺陷

java - 无法执行 COM 类 : com4j. ComException : 80040154 CoCreateInstance failed : Class not registered : .\com4j.cpp:153

java - 为什么session的3个参数中有1个为null(Java),但在servlet中不为null

java - 为什么我的列表中有一个列表对象?

java - 自定义适配器中的 setOnItemClickListener

java - 使用 REST API 更新 QC ALM 缺陷注释部分

Javascript OTA 调用 HP QC

java - 通过 OTAClient - JAVA 获取测试计划中的所有 QC 测试

java - HP ALM OTAClient.dll 与 64 位操作系统不兼容