Как написать инструменты автоматизации тестирования, такие как QTP и winrunner, используя .net? - PullRequest
2 голосов
/ 01 сентября 2009

Я хотел бы знать, как работают инструменты автоматизации тестирования, такие как winrunner, QTP и т. Д. Используют ли эти инструменты какой-либо тестовый API, предоставляемый Windows, или они зависят от IPC и событий. Я не мог понять, как они работают. Для меня функция записи и воспроизведения QTP кажется волшебством. Любое руководство будет высоко оценено?

Ответы [ 4 ]

1 голос
/ 27 ноября 2009

На самом деле WatiN неплохое место для старта. Это не совсем система модульного тестирования. На первый взгляд он может выглядеть как один, но используется для написания функционального теста. Это полностью зависит от вас, если вы запускаете их как модульные тесты. Я писал один и тот же тест с использованием WatiN двумя способами (функциональный тест, имитирующий действия пользователя на веб-странице):

1) Написание скрипта в Powershell при запуске из командной строки, как и любой другой скрипт PS. Это было весело, хотя вам нужно написать много кода для отчетов, обработки исключений и прочего.
2) Написание модульного теста в MSVS на C # с использованием модульного теста C # из типа проекта MSVS. На самом деле это было весело, потому что вы просто запускаете его в MSVS, например, в модульном тесте, но у вас есть поддержка среды для написания кода, создания отчетов, запуска и т. Д.

Так что, если вы хотите начать с чего-то, взгляните на WatiN, тем более что WatiN имеет специальный регистратор, который записывает действия и выводит код на C #. Просмотр внутренней части библиотеки и инструмента даст вам некоторое начало.

Только одна вещь, которую стоит упомянуть - это только сеть. Рабочий стол совершенно другой. С помощью веб вы можете подключиться к IE, вы можете запросить HTML-документ для объектов, проверка состояния браузера и так далее. С рабочим столом это может быть сложнее. Вам нужно подключиться к приложению, возможно, через упомянутые Win32hooks. Может быть, попробуйте с Microsoft Scripting Host.

0 голосов
/ 19 декабря 2011

Это должно быть Win32 / 64 Программирование на C, C ++ с использованием технологий COM, OLE, и они могут использовать Active accesibility API. Определенно они могли бы создать большой API на этих технологиях. Даже они могли бы использовать немного программирования на ассемблере.

0 голосов
/ 04 ноября 2009

Я думаю, они используют Win32 Hooks.

edit : здесь пример определения хуков в .NET.

0 голосов
/ 01 сентября 2009

Я не знаю много о QTP. Но если вы хотите узнать внутреннее устройство, вы можете скачать проекты с открытым исходным кодом, такие как Watin - для dotnet и Watir - для ruby ​​ и посмотреть, что происходит внутри. Оба используются для автоматизации веб-тестирования. И код в свободном доступе ..

Если вы ищете модули модульного тестирования, такие как Nunit. они управляются атрибутами. Nunit идентифицирует классы по "TestFixtures" и методы по атрибутам "Test". Он сканирует все приложение для этих методов тестирования и запускает тесты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...