2012-05-18 1 views
1

Все,Использование com4j и Центр качества, чтобы добавить этапы проектирования для тестирования

Я использую com4j манипулировать центр качества и могут успешно создавать планы тестирования и лаборатории, вложенные папки и фактические элементы в обоих.

Я сейчас пытаюсь добавить шаги по изменению конструкции к испытанию т.д .:

ITestFactory iTestFactory = sNode.testFactory().queryInterface(ITestFactory.class); 
Com4jObject oTest = iTestFactory.addItem(name); 
ITest iTest = oTest.queryInterface(ITest.class); 
iTest.field("TS_DESCRIPTION", description); 
iTest.field("TS_STATUS", "Design"); 
iTest.field("TS_DEV_COMMENTS", comments); 
iTest.post(); 

Это все работает отлично, то я пытаюсь сделать:

IBaseFactory iFactory = iTest.designStepFactory().queryInterface(IBaseFactory.class); 

IStep iStep = iFactory.addItem(1).queryInterface(IStep.class); // ends up null 

iStep.field("ST_DESCRIPTION", "Step desc 1"); 
iStep.field("ST_EXPECTED", "Expected 1"); 
iStep.post(); 

Но Истэп всегда заканчивается утратившим. Нет интерфейса IDesignStepFactory, поэтому я пытаюсь использовать базовую фабрику в вызове queryInterface.

Проверка файлов справки QC и otaclient.dll кажется, указывает, что нет такого понятия, как IDesignStepFactory интерфейс и в (некоторых) примеров VB используется базовый завод, следовательно, моя попытка выше ...

Это один из нескольких мест, где фабричный метод доступен, но не явный интерфейс вроде бы, например:

ITestSet ts; ts.tsTestFactory() // no ITSTestFActory interface exists... 

Любые указатели с благодарностью получили,

Simon

ответ

3

Как правило, IBaseFactory.addItem должен получать эквивалент DBNull как его параметр, а не что-то еще, в вашем опубликованном коде это «1». Если в документации объекта не указано явно множество других значений, которые оно может принять и их назначение.

В случае шага проектирования я gessing должен быть DBNull.

 Смежные вопросы

  • Нет связанных вопросов^_^