Как автоматизировать процесс запуска теста с помощью TestComplete? - PullRequest
5 голосов
/ 18 сентября 2008

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

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

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

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

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

Спасибо.

Ответы [ 10 ]

4 голосов
/ 24 октября 2008

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

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

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

В зависимости от кода выхода, который я знаю, что происходило в тестах, возможные коды выхода:

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

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

3 голосов
/ 18 сентября 2008

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

2 голосов
/ 12 мая 2009

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

C:\PROGRA~1\AUTOMA~1\TESTEX~1\Bin\TestExecute.exe "path\Project.pjs" /r /e
2 голосов
/ 07 апреля 2009

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

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

1 голос
/ 09 марта 2017

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

Информация о плагине: https://plugins.jenkins.io/TestComplete

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

1 голос
/ 03 ноября 2008
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-сервер.

0 голосов
/ 18 марта 2016

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

0 голосов
/ 11 октября 2014

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

0 голосов
/ 18 декабря 2012

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

0 голосов
/ 12 января 2010

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

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

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

...