私はさまざまなことを試し、何時間もグーグルで検索しましたが、私の問題の解決策を見つけることができませんでした。
Com4j経由でQualityCenterOTA 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でのPASSWORD()の呼び出しです。パラメータを追加して返し、名前と説明を付けることができます。VBでは、PASSWORDメソッドに引数として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);
今のところ問題ありません。すべての「キャスト」は成功しています。ここで、VBの場合と同様に、TestParameterFactoryでaddItemメソッドを呼び出します。
Com4jObject com = paramFac.addItem(null);
これは機能しません。addItem()-メソッドは常にnullを返します。ランダムな文字列、ランダムな整数、テストケースのIDなど、さまざまな引数を試しました。何も機能しません。
このメソッドをJavaで正しく使用するにはどうすればよいですか?
または一般的に:Javaを使用してテストプランの既存のテストケースにパラメーターを追加するにはどうすればよいですか?
クイックノート:テストプランへのテストケースの追加は、このテストケースへのパラメーターの追加と非常によく似ています。また、ファクトリとaddItemメソッドを使用します。VBではパラメータとしてnullを指定しますが、Javaでは文字列(テストの名前として解釈されます)を使用します。しかし、私が言ったように、それはここでは機能しません。