“Грязные” трюки :)

Здесь мы храним разные интересности, связанные с TestComplete’ом. Ничего особо грязного тут нету, а некоторые вещи и вовсе бесполезны, но раз уж на них натыкаешься — надо где-то их хранить.

 

Зарезервированная переменная MSG

Если в TestComplete создать новый пустой модуль и попытаться в нем выполнить строку

Log.Message(MSG);

то мы получим странное сообщение об ошибке: “Object doesn’t support this property or method”, хотя в случае попытки использования необъявленных переменных должна возникать ошибка ”

Microsoft JScript runtime error ‘MSG’ is undefined”.

MSG — это зарезервированное имя структуры, которая содержит элементы Win32-сообщения. Чтобы использовать такую переменную, достаточно ее объявить с обязательным использованием ключевого слова var. Объяснение этому феномену было дано в официальной ньюсгруппе.

 

Точка в конце строки кода

Если вам необходимо запустить одну строку из редактора, нет необходимости помещать ее в отдельную функцию. Достаточно в конце строки перед точкой с запятой (если таковая имеется) поставить обычную точку. Например, вставьте в редактор следующую строку:

Sys.Process(“explorer”).Terminate();

и поставьте точку перед точкой с запятой:

Sys.Process(“explorer”).Terminate().;

В результате у вас завершится процесс explorer и пропадет панель задач :)

 

Окно Dialog Customizer

Откорйте окно Options (меню Tools -> Options) и нажмите комбинацию клавиш Ctrl-Alt-Shift-c. В результате на экране появится панелька Dialog Customizer и возможность редактировать окно Options.

Только будьте осторожны, а то там можно такое понаделывать, что обратно потом не вернёте :)

 

Вычисление значений выражений в режиме отладки

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

Так как TestComplete старается вычислять значения выражений, на которые мы наводим курсор, это может приводить к странным последствиям. Например:

  • если навести курсор мыши на строку Runner.Stop();, то выполнение скрипта прекратится и TestComplete выйдет из режима Debug
  • если навести курсор мыши на строку BuiltIn.ShowMessage(“…”), TestComplete покажет соответствующее сообщение
  • если в панели Watch List ввести выражение Sys.HighlightObject(…) и вместо многоточия вставить имя любого существующего объекта, TestComplete подсветит этот объект на экране (но при этом сам TestComplete зависает намертво)

[продолжение следует]