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

StackOverflow https://stackoverflow.com/questions/94684

Вопрос

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

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

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

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

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

Спасибо.

Это было полезно?

Решение

Отвечаю на свой собственный вопрос:

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

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

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

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

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

Другие советы

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

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

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

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

C:\PROGRA~1\AUTOMA~1\TESTEX~1\Bin\TestExecute.exe "path\Project.pjs" /r /e
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-сервер.

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top