Основы TestComplete
Введение
TestComplete - это функциональная платформа автоматизированного тестирования, разработанная
SmartBear Software - компания, известная по таким продуктам как
Soap UI
,
Swagger, плагин Zephyr для
Jira
и другим.
TestComplete предоставляет тестировщикам возможность создавать автоматические тесты для приложений
Microsoft Windows
,
Web
,
Android
и iOS. Тесты могут быть записаны, написаны по сценарию или созданы вручную с помощью операций, управляемых ключевыми словами,
и использоваться для автоматического воспроизведения и протоколирования ошибок.
Тест runner для TestComplete называется TestExecute и может устанавливаться отдельно
от TestComplete.
TestComplete содержит три модуля:
- Рабочий стол
- Сеть
- Мобильный
Каждый модуль содержит функциональность для создания автоматических тестов на указанной платформе.
TestComplete используется для тестирования множества различных типов приложений, включая Web, Windows,
Android, iOS, WPF, HTML5, Flash, Flex, Silverlight,
.NET
, VCL и
Java
. Он автоматизирует функциональное тестирование и серверное тестирование, такое как тестирование базы данных.
TestComplete используется для создания и автоматизации множества различных типов тестов программного обеспечения.
Создание теста для записи и воспроизведения записывает тестировщика, выполняющего ручное тестирование, и
позволяет воспроизводить его и поддерживать снова и снова в качестве автоматического теста.
Записанные тесты могут быть изменены позже тестировщиками для создания новых тестов или улучшения существующих тестов с
большим количеством вариантов использования.
Основные характеристики
- Тестирование по ключевым словам: TestComplete имеет встроенный редактор тестов, управляемый ключевыми словами, который состоит из операций с ключевыми словами, соответствующих действиям автоматического тестирования.
- Тестирование по сценарию: TestComplete имеет встроенный редактор кода, который помогает тестировщикам писать сценарии вручную. Он также включает в себя набор специальных плагинов, которые помогают.
- Запись и воспроизведение теста: TestComplete записывает ключевые действия, необходимые для воспроизведения теста, и отбрасывает все ненужные действия.
- Распределенное тестирование: TestComplete может запускать несколько автоматизированных тестов на отдельных рабочих станциях или виртуальных машинах.
- Доступ к методам и свойствам внутренних объектов: TestComplete считывает имена видимых элементов и многих внутренних элементов приложений Delphi, C++Builder, .NET, WPF, Java и Visual Basic и позволяет тестовым скриптам получать доступ к этим значениям для проверки или использования в тестах.
- Интеграция с отслеживанием ошибок: TestComplete включает шаблоны отслеживания проблем, которые можно использовать для создания или изменения элементов, хранящихся в системах отслеживания проблем. TestComplete в настоящее время поддерживает Microsoft Visual Studio 2005, 2008, 2010 Team System, BugZilla, Jira и AutomatedQA AQdevTeam.
- Тестирование, основанное на данных: Тестирование, основанное на данных, с помощью TestComplete означает использование одного теста для проверки множества различных тестовых примеров путем использования входных и ожидаемых значений из внешнего источника данных вместо использования одних и тех же жестко запрограммированных значений при каждом запуске теста.
- Открытая архитектура на основе COM: движок TestComplete основан на открытом API, COM-интерфейсе. Он не зависит от исходного языка и может считывать информацию отладчика и использовать ее во время выполнения через TestComplete Debug Info Agent.
- Тестовый визуализатор – TestComplete автоматически делает скриншоты во время записи и воспроизведения теста. Это позволяет быстро сравнивать ожидаемые и фактические экраны во время тестирования.
-
Расширения и SDK — все, что видно в TestComplete — панели, элементы проекта, конкретные объекты сценариев и другие - реализованы в виде подключаемых модулей. Эти плагины входят в состав продукта и устанавливаются на ваш компьютер вместе с другими модулями TestComplete. Вы можете создавать свои собственные плагины, которые расширят TestComplete и обеспечат определенную функциональность для ваших собственных нужд. Например, вы можете создавать подключаемые модули или использовать сторонние плагины для:
- Поддержка пользовательских элементов управления
- Пользовательские операции тестирования ключевых слов
- Новые объекты сценариев
- Пользовательские контрольные точки
- Команды для обработки результатов теста
- Панели
- Элементы проекта
- Пункты меню и панели инструментов
Поддерживаемые типы тестирования
- Функциональное тестирование (или графический интерфейс)
- Регрессионное тестирование
- Модульное тестирование
- Тестирование ключевых слов
- Веб-тестирование
- Тестирование мобильных приложений
Поддерживаемые языки сценариев
- JavaScript
- Python
- VBScript
- JScript
- DelphiScript
- VB
Поддерживаемые приложения
Поддержка всех 32-разрядных и 64-разрядных приложений Windows.
Расширенная поддержка, доступ к внутренним объектам, методам и свойствам для следующих целей:
- .NET (C#, VB.NET, JScript.NET, VCL.NET, C#Builder, Python .NET, Perl .NET etc.)
- WPF
- Java (AWT, SWT, Swing, WFC)
- Android
- iOS
- Xamarin (с внедрением Falafel Software bridge)
- Sybase PowerBuilder, Microsoft FoxPro, Microsoft Access, Microsoft InfoPath
- Web browsers (Internet Explorer, Firefox, Google Chrome, Opera (web browser), Safari (web browser)
- Visual C++
- Visual Basic
- Visual FoxPro
- Delphi
- C++Builder
- Adobe Flash
- Adobe Flex
- Adobe AIR
- Microsoft Silverlight
- HTML5
- Chromium (web browser)
- PhoneGap
Запись простейшего теста
Не создавая проекта заранее.
Нажмите RECORD TEST
Задйте имя проекта и выберите Keyword в качестве типа теста

Выберите Web и тип браузера. Укажите URL и нажмите Record

В этом тесте проверим страницу сайта www.andreyolegovich.ru Тестирование ПО → Как научиться

www.andreyolegovich.ru
Нажмите на Различные курсы

www.andreyolegovich.ru
Наведите курсор на заголовок Где учиться на профессию тестировщик ПО
В выпадающем меню Quick Checkpoints выберите contentText = …

www.andreyolegovich.ru
Остановите запись

Изучите данный тест ран

Запустите тест нажав на Run

Изучите Keyword Test Log

Смена браузера
Выбрать браузер, в котором вы хотите выполнить тест можно двойным кликом на Run Browser
Выберите нужный браузер из списка

Capture tested object properties
По умолчанию TestComplete сохраняет обычные скриншоты. Рассмотрим скрин калькулятора из статьи «Тестирование калькулятора Windows»
Чтобы открыть скриншот в Visualizer Frame сделайте по нему двойной клик.

Обычный скриншот калькулятора
Чтобы сохранять не только скриншоты но и свойства объектов на этих скриншотах нужно включить опцию Capture tested object properties.
Использование этой опции может замедлить производительность.
Перейдите в Tools → Current Project Properties

Перейдите в Visualizer → Capture images и включите Capture tested object properties

Теперь можно получать свойства объекта прямо из скриншота в Visualizer Frame.
Запишите новый тест и сделайте двойной клик на любом скрине

Скриншот калькулятора с сохранёнными свойствами
Если на изображениях по-прежнему не найти объекты, попробуйте поставить галочки в поле Update в Test Visualizer и перезапустить тест.
Log.Message()
Пример
Log.Message(num)
Delay()
Пример
Delay(1000)
Добавить TestedApp
Если в TestedApps нужно добавить дополнительное приложение нужно на вкладку
TestedApps
кликнуть правой кнопкой и выбрать Add → New Item…
Если вообще ни одного приложения не было добавлено, то нужно кликнуть
правой кнопкой на название проекта и выбрать
Add → New Item… → Create Project Item → TestedApps
hasp
Пример
"C:\Program Files (x86)\SmartBear\TestComplete 15\x64\Bin\TestComplete.exe" /hasp
Изменение положения окон
Чтобы переместить окна, например Workspace, Project Explorer, Object Browser нужно в меню Tools включить Docking Allowed
Tools → Docking Allowed
Затем нужно зажать мышь и двигать окно пока не появятся индикаторы доступных положений.

Скриншот калькулятора с сохранёнными свойствами
Нужно выбрать одно из положений. Помимо тех, что на скриншоте бывают доступны центральное положение и дополнительные варианты сбоку. Смотрите внимательно на экран, когда будете двигать окно.
Импорт скриптов из других проектов
Script → Add → Existing Item…
Скрипт из другого проекта или простой директории можно добавив кликнув
правой кнопкой на Script затем нажать Add, Existing Item…
выбрать нужный скрипт и нажать Open
man
Для наглядности скрипты можно разложить по поддиректориям внутри Script
При импортировании их нужно добавлять так, как будто никаких поддиреторий нет и
все они лежать внутри Script
man
Если добавлен скрипт test_metadata.py - в директории
\Script\Visualizer\test_metadata_py
Появится файл test_metadata.py.tcVis а в директории Script в файле Script.tcScript появится запись о подлючённом скрипте. Подробнее про файл Script.tcScript и других файлах, которые использует TestComplete вы можете прочитать в статье «Файлы TestComplete»
TesComplete | |
Файлы | |
Тестирование калькулятора | |
Ошибки TestComplete | |
Тестирование | |
Автоматизация |