2014-11-26 6 views
0

Я знаю идентификатор теста, который находится в Testset, и вы хотите обновить свой статус, знаете, как это сделать, используя API OTA?HP ALM OTA-API: как обновить тест в testlab, зная идентификатор?

Edit:
Спасибо, но текущий ответ, к сожалению, не работает для меня. я поставил пример (Java):

ITestSetFactory sTestFactory = (itdc.testSetFactory()).queryInterface(ITestSetFactory.class); 
ITDFilter filterF=sTestFactory.filter().queryInterface(ITDFilter.class); 
filterF.filter("TC_TEST_ID","531729"); 
System.out.println(filterF.newList().count()); 

Ошибка:

 
Exception in thread "main" com4j.ComException: 800403ea (Unknown error) : Failed to Get Test Set Value : .\invoke.cpp:517 
    at com4j.Wrapper.invoke(Wrapper.java:166) 
    at com.sun.proxy.$Proxy13.newList(Unknown Source) 
    at TestQC.main(TestQC.java:64) 

Любые предложения?

+0

Вы должны предоставить дополнительную информацию, такую ​​как язык, который вы используете, или то, что вы пробовали до сих пор (какой-то код и где он не работает). – Roland

+0

Извините за задержку в ответе. Это в java. Большое спасибо! – jrodrigf

ответ

0

Ошибка возникает из-за использования TestSetFactory вместо TSTestFactory. Вы должны использовать itdc.tsTestFactory(), потому что это объекты TSTest, которые вы хотите манипулировать (как тестовые экземпляры), а не объекты TestSet. Самый простой способ - получить TSTestFactory вашего объекта TDConnection и использовать фильтр для получения объекта TSTest, а затем установить его статус. Пример кода в Ruby:

ts_test_factory = tdc.TSTestFactory 
filter = ts_test_factory.Filter 
filter["TC_TEST_ID"] = "123" # test id from test plan 
found_test_instances = filter.NewList 
test_instance = found_test_instances.Item(1) # be careful if the test occurs in many test sets 
test_instance.Status = "Passed" 
test_instance.Post