| Назад: 3.2 Использование стандартов именования | Содержание | Дальше: 3.4 Использование именования (NameMapping) и псевдонимов (Aliases) |
Средства записи скриптов, которыми обладают все современные средства автоматизации, обычно недостаточны для создания качественных скриптов, которые будет удобно модифицировать и поддерживать в дальнейшем.
Обычно средства записи полезны в самом начале, на этапе изучения инструмента, чтобы понять, как именно происходит работа с элементами управления в скриптах. Затем, по мере накопления опыта, вы начнете изменять скрипты таким образом, чтобы они работали стабильнее или были более читабельны. Часть кода будет выноситься в отдельные функции для дальнейшего использования, часть будет перемещаться в циклы, будут добавляться условные операторы и т.п. Зачастую приходится писать довольно сложные функции для дальнейшего использования (например, при работе с базами данных). В конце-концов весь код будет писаться вручную и это будет занимать меньше времени, чем запись и последующая модификация записанного скрипта.
Давайте в качестве примера сделаем такое упражнение. Предположим, нам необходимо пять раз открыть и закрыть окно справки в Блокноте. Вот как такой скрипт будет выглядеть при записи:
function Test1()
{
var notepad;
var wndNotepad;
notepad = Sys.Process(“notepad”);
wndNotepad = notepad.Window(“Notepad”, “*”);
wndNotepad.MainMenu.Click(“Help|About Notepad”);
notepad.Window(“#32770”, “About Notepad”).Window(“Button”, “OK”).ClickButton();
wndNotepad.MainMenu.Click(“Help|About Notepad”);
notepad.Window(“#32770”, “About Notepad”).Window(“Button”, “OK”).ClickButton();
wndNotepad.MainMenu.Click(“Help|About Notepad”);
notepad.Window(“#32770”, “About Notepad”).Window(“Button”, “OK”).ClickButton();
wndNotepad.MainMenu.Click(“Help|About Notepad”);
notepad.Window(“#32770”, “About Notepad”).Window(“Button”, “OK”).ClickButton();
wndNotepad.MainMenu.Click(“Help|About Notepad”);
notepad.Window(“#32770”, “About Notepad”).Window(“Button”, “OK”).ClickButton();
}
А что делать, если в дальнейшем нам нужно будет открывать окно справки не пять, а пятьдесят раз? Снова перезаписывать скрипт или скопировать имеющийся участок кода 10 раз? Естественно, такой подход является неправильным! Вот как будет выглядеть измененный скрипт:
function Test1()
{
var notepad;
var wndNotepad;
var i;
notepad = Sys.Process(“notepad”);
wndNotepad = notepad.Window(“Notepad”, “*”);
for(i = 0; i < 5; i++)
{
wndNotepad.MainMenu.Click(“Help|About Notepad”);
notepad.Window(“#32770”, “About Notepad”).Window(“Button”, “OK”).ClickButton();
}
}
Теперь если нам понадобится открыть окно справки 50 раз, нам необходимо лишь изменить одну цифру в цикле.
Это лишь очень простой пример того, как запись усложняет дальнейшую работу со скриптами. В настоящих проектах все может быть гораздо сложнее.
Кроме того, с помощью записи можно создавать лишь очень простые скрипты. Если вы собираетесь создавать набор хорошо спроектированных скриптов, которые будут постепенно дополняться, то вам придется использовать какой-либо фреймворк. А в случае использования фреймворков возможность записи скриптов обычно отпадает, так как скрипты имеют более сложную структуру, чем просто набор действий с приложением.
| Назад: 3.2 Использование стандартов именования | Содержание | Дальше: 3.4 Использование именования (NameMapping) и псевдонимов (Aliases) |