TestComplete – выбор языка программирования |
02.07.2013 12:36 |
Геннадий Алпаев, автора единственного русскоязычного учебника по TestComplete и автор тренинга Автоматизация тестов с использованием TestComplete, очередной набор которого начнет работу 19 июля.TestComplete дает возможность создавать тесты, используя несколько языков программирования, и новичку обычно нелегко сделать выбор в пользу того или иного языка. В этой статье я постараюсь максимально подробно рассмотреть этот вопрос, а также ответить на часто задаваемый вопрос «какой язык выбрать?». Выбор языкаВыбрать язык для нового проекта необходимо в момент создания проекта. Давайте сначала кратко рассмотрим каждый из предлагаемых языков.
Обратите внимание! Языки C++Script/C#Script не имеют ничего общего с языками C++/C#! Это тот же самый JScript, а потому выбрав один у вас будет не больше возможностей, чем при использовании обычного JScript. Всё, что говорится в этой статье о языке JScript, имеет такое же отношение и к этим двум языкам. Если вы собираетесь писать и запускать скрипты только из TestComplete, то нет никакой разницы, какое приложение вы тестируете и какой язык выберете. Например, вы можете выбрать язык DelphiScript для тестирования веб-приложений или язык JScript для тестирования приложений, написанных на Delphi. В любом случае вы будете иметь все те же самые возможности (за исключением, конечно, ограничений самого языка). На этом этапе (этапе создания проекта и выбора языка) нужно знать еще одну вещь: выбрав язык для вашего проекта вы не сможете его изменить! Если через 2 месяца работы вам захочется использовать другой язык, придется переписать всё, написанное ранее. В принципе исключение здесь составляют языки JScript/C++Script/C#Script: они очень похожи и для опытного программиста не составит особого труда сконвертировать скрипты из одного языка в другой, однако автоматически сделать это всё равно не получится. Если вы хотите узнать, какой язык используется в имеющемся проекте, достаточно выбрать пункт меню View – Select Panel, выбрать пункт Properties и нажать ОК. При этом откроется панель со свойствами выбранного в данный момент элемента проекта. Щелкните на имени проекта и на панели Properties вы увидите свойство Language. В случае с языками VBScript и DelphiScript это обычно не нужно (эти языки легко узнаются), однако отличить C++Script от C#Script попросту невозможно. Также иногда пользователи смешивают синтаксис JScript и C++Script/C#Script (что в принципе возможно, так как для них используется один и тот же скриптовый движок), тем самым затрудняя определение языка проекта. Более просто способ определения языка: поставьте курсор в любой строке редактора кода и в статусной строке вы увидите имя используемого языка. Ограничения языковЯзыки VBScript и JScript изначально не предназначены для разбиения по нескольким файлам (модулям), эти возможности нам предоставляет сам TestComplete. А потому существует несколько особенностей при работе с модулями в TestComplete, которые могут доставить головную боль, если о них не знать:
Это наиболее «болезненные» особенности использования языков в TestComplete, на самом деле их гораздо больше. Подключаемые и самотестирующиеся приложенияКроме скриптовых языков, «встроенных» в TestComplete, мы можем писать тесты на языках высокого уровня (C#, Delphi, C++, Visual Basic). Преимущество этого подхода в том, что мы можем использовать все возможности соответствующего языка программирования, возможности среды разработки (например, Visual Studio) и т.п. При этом мы будем использовать возможности и объекты TestComplete, подсоединяясь к нему через OLE (пример создания такого приложения можно найти, например, в Учебнике по TestComplete или в справочной системе TestComplete). Именно для этого у нас и предназначены языки DelphiScript, C++Script и C#Script: тесты, написанные с использованием этих языков, очень легко преобразовать в код на соответствующем языке программирования высокого уровня (например, сконвертировать код DelphiScript в Delphi или C#Script в код C#). При этом нам потребуется сделать минимум изменений в существующем коде скриптов для переноса и запуска тестов в соответствующей среде. Во всех остальных случаях использование языков DelphiScript, C++Script и C#Script доставляет большие неудобства по сравнению с JScript и VBScript. ИтогПодводя итоги можно дать такие советы по выбору языка программирования:
|