Как автоматизировать процесс запуска теста с помощью TestComplete?

Мы пытаемся интегрировать тесты в наши ежедневные сборки с помощью TestComplete, пока у нас есть машина, предназначенная для тестирования, и наш сценарий сборки копирует на эту машину все, что TestComplete нужно для своих тестов (приложение, база данных, проект сценария тестирования и исходные файлы и т. Д.) .

По сути, мы можем открыть проект TestComplete вручную и запустить тесты.

Теперь мы хотим автоматизировать этот процесс, так как же это сделать? Или, как вы думаете, был бы самый простой и лучший способ сделать эту автоматизацию?

Короче говоря, мы хотим автоматизировать процесс открытия TestComplete после каждой сборки, запустить все тесты и отправить электронное письмо с результатами тестирования.

Кто-нибудь может поделиться опытом по этому поводу?

Спасибо.


person Fabio Gomes    schedule 18.09.2008    source источник


Ответы (10)


Отвечая на свой вопрос:

Решением было написать небольшое приложение на C #, которое находится на панели задач и контролирует папку.

Когда новая папка (содержащая исходный код тестов) добавляется в отслеживаемую папку, TestComplete вызывается с помощью командной строки, затем приложение перехватывает его ExitCode и отправляет электронное письмо с прикрепленным к нему файлом журнала.

В зависимости от ExitCode я знаю, что произошло в тестах, возможные ExitCodes:

0 - Последний тест не вызывал ошибок или предупреждений.
1 - Последние результаты теста включают предупреждения, но не содержат ошибок.
2 - Последние результаты теста содержат ошибки.
3 - Тест не может быть запущен, потому что ошибки

Более подробную информацию о кодах выхода можно найти в файле справки TestComplete.

person Fabio Gomes    schedule 24.10.2008

Что ж, хотя я не использовал TestComplete, я использовал конкурирующий пакет под названием QA Wizard Pro. Поскольку вы задаете этот вопрос, я предполагаю, что это не то, что изначально поддерживается TestComplete. Мастер QA работает таким же образом, и они ожидают, что он будет запускаться вручную, а не автоматически, хотя есть файлы тестового запуска, которые можно запустить. Для мастера контроля качества я создал командный файл, который запускался каждую ночь из планировщика задач. Учетная запись для запуска программного обеспечения должна иметь возможность взаимодействовать с рабочим столом, а пользователь должен войти в систему с дисплеем. Я использовал бесплатное программное обеспечение под названием AutoHotKey, чтобы автоматизировать выполнение тестов, а затем некоторые Cygwin для анализа результатов и отправки электронного письма через Blat с результатами. Это не идеальное решение, но оно работает.

person pdavis    schedule 18.09.2008

Вам также следует обратить внимание на использование TestExecute. Это (намного более дешевая) программа от Automated QA, которая выполняет сценарии TestComplete.

Это избавит вас от необходимости иметь полную лицензию TestComplete для вашего сервера сборки / тестирования.

person Alistair Ward    schedule 06.04.2009

если у вас есть TestExecute, попробуйте это. работает каждый раз ....

C:\PROGRA~1\AUTOMA~1\TESTEX~1\Bin\TestExecute.exe "path\Project.pjs" /r /e
person Community    schedule 12.05.2009

Set wshShell = CreateObject("WScript.Shell")
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs(your script path)"" /r /p:(Project Name) /u:(Unit Name) /rt:(Method to be executed) /e /SilentMode")

Скопируйте приведенные выше строки в Блокнот и сохраните его как файл .vbs.
Создайте файл .bat и поместите его на свой интегрированный сервер.
Просмотрите путь к вышеупомянутому файлу .vbs через файл bat в TestComplete exe.

Для файла bat вы можете записать эти строки непосредственно в Блокноте как

C:\WINDOWS\system32\cmd.exe
WScript.Echo ""
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs"" /r /p:prj1 /u:Unit1 /rt:Test1 /e") 

Сохраните этот текстовый файл с расширением .bat. После этого сгенерируйте задачу через свой CI-сервер.

person Community    schedule 03.11.2008

Для людей, которые все еще ищут это: SmartBear выпустил плагин TestComplete для Jenkins. Таким образом, теперь его можно использовать без взлома.

Информация о подключаемом модуле: https://plugins.jenkins.io/TestComplete

Пресс-релиз: https://smartbear.com/news/news-releases/smartbear-simplizes-continuous-delivery/

person camria    schedule 09.03.2017
comment
Хотя теоретически это может дать ответ на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки. . - person Draken; 09.03.2017

Для этого есть разные методы. Самый лучший и самый мощный метод - использовать круиз-контроль .NET для непрерывной интеграции цикла тестирования / разработки.

Второй метод - создать пакетный файл для запуска сценария завершения теста с использованием параметра командной строки. Запланируйте запуск этого командного файла. Также включите одно простое приложение (которое обновит результат теста в Excel / Test Cases) как testApp. и вызывайте это после каждого запуска тестового примера / сценария. создайте почтовую функцию для отправки этого результата после завершения выполнения TC.

Я уже использую эти два метода,

person Community    schedule 12.01.2010

Самое простое решение - использовать командный файл для выполнения testcomplete из командной строки и добавить его в планировщик Windows.

person Zhe Li    schedule 18.12.2012

Вы можете попробовать Дженкинса. По сути, вы можете создать проект с одним этапом сборки (пакетный или bash-скрипт), который вызывает Test Complete или Test Execute из строки одобрения в запланированное время. Затем вы можете добавить дополнительные шаги сборки по мере необходимости. Например, при запуске наших тестов мы извлекаем последнюю версию сценариев Test Complete из системы управления версиями. Jenkins имеет приятные функции, такие как архивирование элементов сборки (в случае Test Complete это будут ваши журналы тестирования), уведомления по электронной почте и мониторинг репозиториев системы управления версиями. Большая библиотека плагинов охватывает большинство других вещей, которые вы, возможно, захотите добавить в свой проект.

person Chris B    schedule 11.10.2014

Вы можете использовать задачу TestComplete для Bamboo, чтобы запускать тесты TestComplete с помощью TestComplete или TestExecute, а также анализировать тесты в Bamboo и интегрировать их с JIRA. https://marketplace.atlassian.com/plugins/com.mdb.plugins.testcompletetask/server/overview

person Vikas Borse    schedule 18.03.2016