12. Справочная информация

Назад Содержание  

12.1 Типы файлов SilkTest

SilkTest использует много разных типов файлов: файлы проекта, фалы фреймов, файлы тестпланов и т.д. В этой главе перечислены все типы файлов, с которыми пользователь может столкнуться, и их описания.

В частности, если вы работаете в команде, то скорее всего используете какую-то систему контроля версий (MKS, SVN, TFS и т.п.) для поддержания целостности проекта. Не все файлы, которые использует SilkTest, необходимо подкладывать под систему контроля версий. Например, файлы скомпилированного кода и временные файлы держать в системе контроля версий нет смысла, так как во-первых, пользователь не имеет никакого отношения к изменениям в этих файлах, а во-вторых, они могут слишком часто меняться.

Ниже приведена таблица расширений, которые используются для файлов SilkTest с описанием их назначения.
* Звездочкой отмечены файлы, которые не рекомендуется хранить в системе контроля версий.

 

Расширение Назначение файла
.vtp Файл проекта. Файл имеет формат обычного INI-файла и содержит информацию об именах и местоположении файлов проекта. Обратите внимание, что относительные пути в vtp файле недопустимы. Каждому vtp файлу соответствует INI-файл (projectname.ini) с настройками проекта
.pln Файл тестплана
.inc Фрейм-файл. В этих файлах обычно хранятся описания винклассов, окон, констант, функций и т.п.
.t Файл тесткейсов. В этих файлах обычно хранятся записанные и написанные вручную тесткейсы
.g.t Файл тесткейсов, управляемых данными. В случае, если обычный тесткейс преобразуется в тесткейс, управляемый данными, средствами SilkTest-a, то он будет сохранен со старым именем и новым расширением .g.t
.res Файл результатов. Здесь хранятся результаты запусков тесткейсов. Этот файл не отмечен звездочкой, однако помещать его в систему контроля версий следует только в том случае, если не используется самописный лог и результаты работы тесткейсов определяются с использованием встроенных возможностей лога SilkTest
.s Файлы тесткомплексов (Test Suite). Если у вас имеется несколько файлов с тесткейсами (.t), вы можете перечислить их все в файле тесткомплекса и запускать их все из одного места.
* .to, .ino Объектные (скомпилированные) файлы тесткейсов и фрейм-файлов соответственно
* .in_, .t_ Временные файлы, хранящие предыдущую копию модифицированного файла

 

Отдельного внимания заслуживают объектные файлы, так как с ними связаны два весьма важных обстоятельства.

  1. Средство сокрытия кода. При запуске и компиляции скриптов SilkTest прежде всего пытается открыть объектный файл. Если такого файла нет, SilkTest его создает. Следовательно, если у вас есть файл .t, в котором подключается внешний файл .inc (с помощью инструкции use), совсем необязательно хранить сам .inc файл, достаточно хранить его скомпилированный вариант .ino. Это может быть полезно, если вам по какой-то причине необходимо скрыть реализацию кода от заказчика. В таком случае достаточно отдать ему .t файл и подключаемый .ino файл, и никто не сможет прочитать исходный код .inc файла.
    Однако надо быть очень осторожным и быть на 100% уверенным, что скомпилированный код без проблем отработает на другом компьютере
  2. Проблема компиляции. Иногда после внесения изменений остается ощущение, что на самом деле изменения не вступили в силу. Такое действительно иногда случается: по какой-то причине SilkTest “не видит” сделанных изменений и не перекомпилирует соответствующие файлы. В таких случаях необходимо удалить объектные файлы и повторить компиляцию.

 

12.2 Полезные настройки SilkTest

В этой главе мы хотим рассказать о наиболее полезных настройках, которые могут использоваться в работе. Мы не будем говорить обо всех настройках, так как некоторые из них настолько просты и понятны, что читатели без труда разберутся в них сами.
Однако некоторые параметры могут существенно повлиять на работу SilkTest и поэтому их необходимо описать подробно.

General Option (меню Options – General)

К наиболее важным настройкам здесь относятся:

  • Save files before running. Желательно чтобы эта опция была включена, тогда SilkTest автоматически сохраняет все изменения перед запуском скриптов. Иначе, если SilkTest зависнет и его придется закрывать через Task Manager, последние изменения не сохраняться
  • Create backups. Данная опция устанавливает, будут ли создаваться резервные копии файлов во время их редактирования (файлы с расширениями .t_ и .in_)
  • Save Outline. Данная опция регулирует, как будут сохраняться блоки кода при сохранении файлов. As Displayed – как они выглядят на экране (используйте этот пункт если вы часто работаете с одними и теми же файлами); Collapse All – все блоки будут свернуты независимо от того, как они выглядят при редактировании (эта опция полезна если вы не очень часто редактируете файлы и позволяет не задумываться в таких случаях, какие блоки были развернуты, а какие нет); Expand All – все блоки при сохранении будут развернуты. Здесь следует иметь ввиду, что открытие/закрытие какого-либо блока кода в редакторе SilkTest влияет непосредственно на файл (если открыть файл SilkTest в любом другом редакторе, то можно увидеть, что закрытые блоки отмечены символами [+], а открытые – символом [-]). Поэтому если вы храните скрипты в системе контроля версий, вам необходимо придерживаться каких-то строгих правил (например, при осуществлении операции check-in все блоки должны быть закрыты). Иначе система будет думать, что в файл были внесены изменения, хотя на самом деле изменений никаких не было. Кроме того, обратите внимание на пункты меню Outline – Collapse All/Expand All, они также могут быть полезны
  • Autocomplete. Здесь можно настраивать окно подсказок, которое всплывает при редактировании скриптов. FunctionTip – задает, показывать ли подсказку для функций; MemberList – показывать ли список автозаполнения для методов винклассов; DataTypeList – автозаполнение для различных типов данных (например, LIST OF…); AppstateList – показывать список доступных аппстейтов. Обычно удобнее всего включить все эти опции.
  • MemberListOption. Если включена опция MemberList, то можно настраивать, как именно будет показан список автозаполнения. Show Methods/Window Children/Properties/Variables – устанавливает, какие элементы винкласса показывать в списке автозаполнения. Рекомендуется включать все опции
  • Inheritance level. Устанавливает “глубину” вложенности, на которую будет произведен поиск свойств, методов и т.п. При значении None будут показаны только члены текущего объекта; при значении Below AnyWin class – только члены винклассов, которые находятся “ниже” объекта AnyWin (например, методы Exists и Click видны не будут, так как они определены для класса AnyWin); All – будут отображены все элементы, включая члены класса AnyWin. Рекомендуется установить здесь значение All, а также включить опцию Member Type, тогда рядом с именами переменных будет указываться их тип

 

Runtime Options (меню Options – Runtime)

 

  • Agent Name/Network. Здесь указывается, какой агент будет выполнять скрипты и какой протокол используется для передачи данных. По умолчанию используется локальный агент (local)
  • Use Path. Здесь можно указать один или несколько (разделенных запятой) путей, по которым SilkTest будет искать .inc файлы, которые подключаются с помощью директивы use в скриптах
  • Use Files. Здесь можно подключить дополнительные .inc файлы, которые используются в ваших скриптах. Зачастуюименно эта опция служит причиной того, что проект не компилируется, если был добавлен какой-то файл, а затем удален за ненадобностью (SilkTest автоматически добавляет сюда имя файла при создании фрейма из меню File – New – Test Frame)
  • Compiler constants. При нажатии на эту кнопку открывается окно, в котором можно задать глобальные константы, которые будут видны во всех скриптах
  • Секции Results и Debugging. Здесь производятся настройки результатов. Они подробно описаны в главе 7. Обработка результатов (Results)
  • Секция Execution. Minimize while running позволяет сворачивать SilkTest во время выполнения скриптов; две другие опции управляют поведением окна статуса выполнения (показывать/не показывать и запоминать позицию).

 

Agent Option (меню Options – Agent Options)

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

 

  • Вкладка Timing. На этой вкладке устанавливаются различные временные настройки: время ожидания окна (Window timeout) и интервал задержек между попытками активировать окно (Window retry interval); задержки при вводе текста (Keyboard event delay) и передвижения мыши (Mouse event delay); время ожидания готовности приложения (App ready timeout) и интервал задержки между опросом приложения на готовность (App ready retry interval). Первые две настройки полезны для настройки ожидания окон в методах типа SetActive и Exists. Реакция SilkTest на появление окна также зависит от первых четырех настроек вкладки Verification (см. ниже). Две вторых опции полезны для замедления выполнения скриптов (например, в отладочных целях или чтобы визуально оценить работу скрипта). Последние две управляют временем ожидания полной загрузки приложения
  • Вкладка Verification. Первые 4 опции заставляют SilkTest проверять, что объекты соответственно активны, разблокированы (не “задисейблены”), доступны (отвечают на запросы системы) и уникальны (т.е. что нет двух объектов, которые могут соответствовать одному тегу). Первые три из этих опций рекомендуется отключать, так как SilkTest часто выдает ошибку, хотя может работать с объектами. Verify that coordinates passed to a method are inside the window – проверяет, что координаты для нажатия кнопки мыши не выходят за границы объекта, прежде чем осуществить собственно нажатие кнопки. Verify that an application is ready – заставляет Агент синхронизироваться с тестируемым приложением, ожидая пока оно станет доступным (требуется подключение расширения). На скриншоте показаны рекомендуемые настройки для этой вкладки.
  • Вкладка Close. Здесь перечислены заголовки кнопок, пункты меню и сочетания клавиш, которые используются по умолчанию для закрытия окон. Если окна в вашем приложении закрываются нестандартным способом, то можно добавить этот способ здесь. Например, если диалоговые окна в приложении закрываются с помощью клавиши F12, то в поле Keystrokes used to close a dialog box window необходимо ввести значение “” (без кавычек)
  • Вкладка Bitmap. Здесь задаются параметры проверки графических изображений. Bitmap match count – задает количество проверок, которое должна пройти проверка графического изображения прежде, чем проверка будет считаться упсешной. Обычно достаточно одной проверки; Bitmap match interval – задает интервал, с которым будут осуществляться проверки изображений; Bitmap match timeout – задает интервал времени, в течение которого SilkTest ожидает стабилизации изображения; Bitmap compare tolerance – это очень важная опция при проверке графики, она задает количество пикселей, которые могут не совпадать при проверке, однако изображения все равно будут считаться одинаковыми
  • Вкладка Compatibility. Эти настройки служат для обеспечения совместимости с предыдущими версиями SilkTest. Здесь, например, можно указать, что элемент управления radio list надо распознавать как отдельные кнопки, а не как один элемент управления, использовать старый тип тегов и т.п.
  • Вкладка Other. Здесь перечислены настройки, которые не попали ни в одну из уже перечисленных категорий. Первые две опции (Sizing/Moving tolerance) используются для задания погрешности при изменении размеров и перемещении окон (некоторые окна невозможно передвинуть на точное количество пикселей или изменить точно их размер). Чем больше значения в этих полях – тем больше может быть погрешность. Pick menus before getting menu item information – заставляет SilkTest раскрывать меню прежде чем проверять, что пункты меню существуют либо включены. Pick dropdowns before getting item information – эта опция нужна только в тех случаях, если элементы выпадающего списка становятся видны лишь после того, как список раскрыт. В этом случае SilkTest будет раскрывать выпадающие списки прежде чем осуществлять какие-либо действия с ними. Еще две интересные опции Show windows which are out of view и Automatically scroll window into view. Первая из них заставляет Агента “видеть” элементы управления, которые не видны на экране, вторая заставляет SilkTest прокручивать элементы управления, если они находятся вне зоны видимости. Эти настройки особенно полезны в случае тестирования веб-приложений, где часто используются страницы со скроллерами и не все элементы одновременно видны на экране

 

12.3 Полезные клавиатурные сочетания

В этой главе перечислены наиболее часто используемые клавиатурные сочетания, которые могут оказаться полезными в работе.

 

Сочетание клавиш Описание
Alt+F9 Компилировать проект
F9 Запустить скрипт на выполнение
Shift+Shift Останавить выполнение скрипта. Обратите внимание, что остановка не всегда происходит мгновенно. В некоторых случаях SilkTest дожидается окончания операции (например, отклик системы на какое-то действие). Особенно часто такое происходит в клиент-серверных приложениях
F12 Это “магическая” клавиша, которая позволяет вам перейти к объявлению функции, метода или типа, на котором в данный момент находится курсор редактора. Не всегда срабатывает, если объявление находится в том же файле, где вы в данный момент находитесь
Alt+стрелки (←, ↑, →, ↓) Передвигает выделенную часть кода в направлении нажатой стрелки (подробнее см. главу Несколько слов о редакторе SilkTest)
Alt+l+m Закомментировать выделенный текст
Alt+l+n Раскомментировать выделенный текст
Ctrl+цифровой плюс Раскрыть блок
Ctrl+цифровой минус Свернуть блок
Ctrl+F9 Включить режим отладки
F5 (в режиме отладки) Установить/снять точку прерывания (breakpoint)
F8 (в режиме отладки) Выполнить одну строку (сделать “шаг”)
F7 (в режиме отладки) Зайти внутрь функции, находящейся на текущей строке
Alt+d+e (в режиме отладки) Начать отладку сначала
Alt+d+x (в режиме отладки) Выйти из режима отладки

 


Назад Содержание