我尝试了各种方法并在 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);
到目前为止没有问题。所有的“演员”都是成功的。现在我想在 TestParameterFactory 上调用 addItem 方法,就像在 VB 中一样。
Com4jObject com = paramFac.addItem(null);
这行不通。addItem() 方法总是返回 null。我尝试了各种参数,如随机字符串、随机整数、测试用例的 ID 等。没有任何效果。
如何在 Java 中正确使用此方法?
或者一般来说:如何在使用 Java 的测试计划中向现有测试用例添加参数?
快速说明:将测试用例添加到测试计划与向该测试用例添加参数非常相似。您还使用工厂和 addItem 方法。在 VB 中,您将 null 作为参数,但在 Java 中,您使用 String(被解释为测试的名称)。但正如我所说,这在这里不起作用。