2012-02-17 2 views
2

Мне просто интересно - у QTP есть функции для вызова объектов .NET напрямую через объект DotNetFactory, см. this article from learnqtp.com, но он также может вызывать объекты через COM (см. this post from Joe Colantonio). Каким будет преимущество в использовании одного метода над другим? Насколько я могу судить, оба метода имеют схожие ограничения на объекты, которые могут быть вызваны (без конструкторов с параметрами и т. Д.), Но мне интересно узнать более подробные сведения.QTP DotNetFactory vs COM-Visible .NET Assemblies

Спасибо!

+1

Erm, один позволяет использовать код .NET, другой код COM. Не то же самое. Похоже, он использует Reflection, ничего необычного. –

ответ

3

Прежде всего, один из ваших предположений неверно, DotNetFactoryделает поддержки вызова конструкторов с параметрами (это то, что дополнительный args параметр для).

CreateObject функция built in for VBScript, так как тесты QTP написаны в VBScript эта функциональность приходит свободного и не является технически особенностью QTP. DotNetFactory- часть QTP и позволяет создавать объекты .NET, даже если они не являются COM видимыми.

Если у вас есть объект .NET, который является COM видимым, вы можете выбрать, какой из методов вам удобнее, но если у вас есть COM-объект, вы должны использовать CreateObject, и если у вас есть объект, не содержащий COM, вы должны использовать DotNetFactory.