Окно переменных
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе
Оглавление:
Описание
Окно переменных служит для создания, удаления, переименования переменных проекта и редактирования их значений. По сути это окно представляет собой таблицу с возможностью редактирования и сортировки переменных.
Данное окно удобно использовать при отладке.
Во время выполнения проекта изменять значения переменных можно с помощью экшена Обработка переменных
Для чего это используется?
Различные манипуляции с переменными.
Отслеживание изменений происходящих с переменными в процессе отладки проекта.
Как открыть окно?
Один из способов открыть “Окно переменных” - это нажать на соответствующую кнопку в панели статических блоков.
Если вы не видите панель статических блоков, то кликните правой клавишей мыши на пустом пространстве рабочего окна и установите чекбокс “Показать статические блоки” в контекстном меню.
Второй способ - через меню Окно => Переменные.
Элементы управления
Рассмотрим каждый элемент окна переменных:
Типы переменных
По сути это таб переключающий отображение выбранного типа переменных. Имеет шесть вариантов:
Свои
Это переменные, которые пользователь сам создаёт в процессе написания шаблона. Переменные должны быть обязательно на английском языке. Не допускается использование пробелов и других символов, кроме символа нижнего подчеркивания _
. В названии переменной разрешается использование цифр, но не в начале слова.
Авто
Авто-переменные генерируются автоматически в режиме записи проекта, а также при добавлении некоторых кубиков, например при автоматическом добавлении кубика Взятие значения . Автосгенерированные переменные имеют примерно такие названия - Variable1, RecognitionResult0,
однако вы всегда можете переместить авто-переменные в Свои и там задать им любое желаемое имя.
Как переместить автоматически созданную переменную в Свои?
Для этого надо перейти во вкладку Авто, выделить переменную и нажать кнопку “Переместить в Свои“:
Окружение
В этом табе отображаются переменные окружения проекта: различные параметры страницы инстанса (URL, DOM, текст, домен, текст нотификаций и алертов и т. д.), переменные времени и даты, переменные проекта (имя, папка, правила прокси, id последней ошибки и т. д.) , многочисленные переменные профиля (почта, пол, имя, юзерагент и т. д.)
Глобальные
Обычные переменные видны только в пределах одного потока проекта (если проект работает в многопоточном режиме, то каждый поток будет иметь свою локальную, независимую переменную)
Глобальные же переменные доступны для всех проектов и их потоков в ZennoPoster.
Для того, чтобы избежать путаницы у глобальных переменных есть дополнительное свойство - Пространство имён.
Json
Эти переменные также генерируются автоматически, но в процессе парсинга JSON. В режиме “Парсинг” у экшена “Обработка JSON/XML“ можно из JSON текста сразу разложить значения по автоматически созданным переменным с соответствующими узлами.
Далее в проекте можно использовать эти переменные через префикс {-Json….-}
, либо в C# посредством объекта project.Json;
Подробнее: Обработка JSON и XML
Xml
Переменные XML автоматически создаются в соответствующем табе после парсинга XML документа. В режиме “Парсинг” у экшена “Обработка JSON/XML“ разбираем XML, который, в свою очередь, тоже может находиться в переменной.
Также как и JSON переменные XML переменные можно использовать через префикс {-XML….-}
, либо в C# через свойства объекта project.XML;
Подробнее: Обработка JSON и XML
Фильтр
Открывает и закрывает поле фильтрации
Поле фильтрации
Если проект имеет большое количество переменных, то поиск нужной переменной может занимать много времени. Поэтому в окне переменных предусмотрена многофункциональная фильтрация. Каждый столбец можно отфильтровать по разному одним из 12-ти способов.
Очистка сортировки
Сбрасывает отсортированные переменные.
Добавить
Открывает диалоговое окно в которое можно ввести имя создаваемой переменной.
Удалить
Удаляет выделенную переменную, предварительно выведя подтверждающее окно. Чтобы выделить переменную достаточно кликнуть по любому месту в строке этой переменной.
Переименовать
Выводит диалоговое окно с возможностью отредактировать имя переменной.
Очистка неиспользуемых переменных
Часто в больших проектах создаются переменные, которые позднее никак не участвуют в работе шаблона. Чтобы не занимать место в памяти и визуально не занимать ценное рабочее пространство, можно периодически удалять такие переменные. ZennoPoster найдёт все неиспользуемые переменные и выведет их список с предложением удалить их. Каждую очистку необходимо делать для каждого типа переменных.
Ручная сортировка переменных (Drag & Drop)
Вы можете расположить переменные так как Вам удобно с помощью кнопок “Вверх” и “Вниз”, либо с помощью мыши (Drag & Drop). Свой порядок работает тогда, когда выключена сортировка по столбцам (для этого нажмите на кнопку "Очистка сортировки").
Заголовки столбцов
Одновременно служат как для фильтрации переменных, так и для сортировки. Достаточно кликнуть по заголовку столбца и произойдёт сортировка как по возрастанию имени переменной, так и по убыванию, как по возрастанию значения переменной, так и по убыванию. Повторный клик меняет направление сортировки.
Кликнув ПКМ по заголовку любого столбца появится меню в котором можно выбрать отображаемые колонки.
Колонка “Имя”
Здесь отображаются имена переменных используемых в проекте
Колонка “Значение”
Выводит текущие значения переменных. Кликнув по значению выбранной переменной можно прямо в поле ввода отредактировать данные.
Колонка “Значение по-умолчанию”
Если требуется чтобы при запуске проекта переменная уже имела какое-то значение (при старте проекта все переменные пустые), то необходимо ввести в это поле нужное значение.
Колонка “Примечание”
По умолчанию данная колонка скрыта.
Можно использовать для пометок к переменным (тут можно указать для какой цели используется эта переменная)
Скопировать макрос переменной в буфер обмена
Быстрый способ скопировать макрос типа {-Variable.value-}
кликнуть по такой иконке в строке переменной.
Контекстное меню
Кликнув ПКМ напротив переменной появится контекстное меню.
Вкладки Свои, Глобальные
Вкладка Авто
Копирование переменных из проекта в проект
Нередко требуется создать новый проект используя переменные из старого шаблона. Копировать переменные по одной крайне неэффективное занятие. поэтому можно скопировать сразу все переменные одного проекта и вставить их в другом.
Откройте старый проект.
Кликните правой клавишей мыши на кнопке “Переменные проекта” в “Панели Статических блоков” и нажмите “Скопировать переменные”.
Затем откройте новый проект и опять кликните правой клавишей мыши на кнопке “Переменные проекта” в “Панели Статических блоков” и нажмите “Вставить переменные”.
В появившемся окне выберите чекбоксами переменные какого типа нужно вставить в проект и подтвердите вставку переменных. Переменные копируются вместе с их значениями по умолчанию.
Работа с переменными
Макросы переменных
В ProjectMaker использовать переменные можно посредством макросов, которые имеют вид {-Variable.myVariable-}
- этот макрос при исполнении проекта передаст значение переменной myVariable
. Достаточно вставить макрос переменной в любое поле свойств экшена (там где это возможно) и при исполнении экшена в поле подставится значение соответствующей переменной.
У глобальных переменных нужно указать в макросе область видимости - {-GlobalVariable.someNamespace.text-}
Рекомендации по именованию переменных
Старайтесь давать переменным названия по которым сразу становится понятна задача и область применения переменной. Не нужно называть переменные короткими и бессмысленными именами - f1
, qwerty
- этим вы значительно усложните исправление и поддержку проекта как для себя, так и для других разработчиков, которые будут иметь доступ к шаблону.
Если переменная часто используется в проекте, то желательно назвать её коротко, но понятно - counter
, username
, proxy
.
Для названий имеющих в основе два и более слова старайтесь разделять их либо заглавной буквой (secondPassword
), либо символом нижнего подчеркивания (page_html
).
Это общепринятые практики, которые значительно улучшат читабельность и эффективность работы с вашим проектом.
Присвоение значения
Простейший пример использования переменных заключается в комбинации статического текста, своих переменных и переменных окружения с помощью экшена Обработка переменных.
В данном примере имя берется из переменной окружения {-Profile.Name-}
, день недели из {-TimeNow.DayOfWeek-}
, а возраст из своей переменной count
. После запуска кубика результат сохраняется в переменной result
.
Арифметические операции над числами
Используя синтаксис языка JavaScript и соответствующий кубик можно производить различные математические операции над числами.
В данном случае в переменных value1
и value2
находятся целые числа, которые нужно сложить и потом умножить на 10. Результат вычисле��ий попадает в переменную result
.
Использование переменных
Старайтесь использовать переменные вместо жёстко прописанного текста в тех местах, где значение может когда-то измениться.
В качестве примера можно привести пути файлов - на Вашем компьютере путь один, а у клиента он другой. Если необходимый файл находится в одной директории с проектом (или в одной из его поддиректорий) то хорошим решением будет использовать макрос {-Project.Directory-}
- путь к директории где сохранён шаблон. Вот как может выглядеть путь - {-Project.Directory-}file.txt