"Грязные" трюки :)
Здесь мы храним разные интересности, связанные с 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 зависает намертво)
[продолжение следует]