2012-03-14 4 views
1

여러 가지 시도하고 여러 시간 봤지만 내 문제에 대한 해결책을 찾을 수 없습니다.Java를 사용하여 테스트 계획에서 테스트 케이스에 매개 변수를 추가하는 방법은 무엇입니까?

저는 Com4j를 통해 Quality Center OTA API를 사용하여 내 프로그램이 QC와 통신 할 수 있도록하고 있습니다. 잘 작동하지만, 이제는이 문제를 겪었습니다.

내 programm을 사용하여 "테스트 계획"의 테스트 케이스에 새 매개 변수를 추가하고 싶습니다. 나는 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이 인수로 제공됩니다.

먼저 내가 연결을 설정하고 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-method를 호출하려고합니다.

Com4jObject com = paramFac.addItem(null); 

이것은 작동하지 않습니다. addItem() - 메서드는 항상 null을 반환합니다. 나는 임의의 String, 임의의 Integer, 테스트 케이스의 ID 등과 같은 다양한 인수를 시도했다. 아무 것도 작동하지 않는다.

Java에서이 메소드를 올바르게 사용하려면 어떻게해야합니까?

또는 일반적으로 : Java를 사용하여 테스트 계획에서 기존 테스트 케이스에 매개 변수를 추가하려면 어떻게합니까?

참고 : 테스트 계획에 테스트 사례를 추가하는 작업은이 테스트 사례에 매개 변수를 추가하는 것과 매우 유사합니다. 또한 factory와 addItem-method를 사용합니다. VB에서는 매개 변수로 null을 제공하지만 Java에서는 String을 사용합니다 (테스트의 이름으로 해석됩니다). 하지만 제가 말했듯이, 그것은 여기서 작동하지 않습니다.

답변

2

나는 마침내 답을 발견했다.

+0

나는 이것을 시험해야 할 것이다 ... 그러나 이것이 작동한다면, 고마워! – pDOTgetName

+0

이것은 내가 필요한 것입니다. – pDOTgetName

+0

새 Variant (Variant.Type.VT_NULL) - 분명히;) – Roland

0

AddItem에 전달할 내용은 DBNull이며 null이 아닙니다. VB에서는 동일하지만 Java & .NET에서는 그렇지 않습니다.

Com4J를 사용하여 DBNull을 노출하는 방법을 잘 모르겠습니다.

자세한 내용은 this 사이트를 참조하십시오.

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
//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(); 
관련 문제