Найти в Дзене

Многострочные строки в значениях переменных

Оглавление

Сегодня больше про «случайную экспериментальность», которая всегда имеет тенденцию заканчиваться интересными открытиями. Впрочем, случайны ли случайности - это еще тот неоднозначный вопрос! Бывает, считаешь, что знаешь систему, строишь, исходя из этих знаний, гипотезы, которые точно должны решить поставленную задачу. А все мимо. И вдруг, рука дрогнула и курсор куда-то случайно нажал, на автомате занес некорректные данные, совершенно нелогично построил алгоритм и все… Все заработало.

Но перейдем к сути и поговорим про многострочный текст и его хранение в значениях переменных.

Для решения задачи необходимо было понять сколько и какого типа нужно переменных, чтобы ввести многострочный текст в поле ввода, которое поддерживает данный режим.

Давайте, сразу рассмотрим наглядный пример.

Есть поле ввода с многострочным режимом. В него надо ввести отрывок стихотворения в представленном виде:

-2

Чтобы решить данную задачу, для начала стоит понять: какие шаги в сценариях тестирования инструмента «1С:Сценарное тестирование» позволяют заполнять многострочные поля ввода.

Явными оказались два действия: «Ввести текст» и «Установить значение» для шага «Элемент формы». В них текст сразу можно представлять в многострочном формате.

Еще есть действия «Ввести значение по строке» и «Ввести значение по строке и нажать Enter». На первый взгляд, ими нельзя ввести многострочный формат, так как поле «Значение» не поддерживает данный режим. На практике это так же подтверждается. Копируем отрывок стихотворения в поле «Значение» и получаем следующий результат:

Но есть неявный способ «заставить» данные действия работать так как нам нужно:

  1. Сначала выбираем в шаге действие «Ввести текст» или «Установить значение», указываем текст в многострочном формате. Сохраняем.
  2. Затем переключаем действие на «Ввести значение по строке» или «Ввести значение по строке и нажать Enter» и сохраняем.

Многострочный режим активирован.

Это как раз и есть «случайная эксперементальность», о которой я упомянул в начале статьи. Случайно переключил команду и узнал, что так можно активировать многострочный режим для данных действий.

Но несмотря на такую особенность, я бы использовал действия «Ввести текст» или «Установить значение» для многострочного режима.

Итак, как вводится многострочный текст в поля ввода, поддерживающий данный режим, стало понятно. Теперь нужно вернутся к переменным и понять сколько их нужно и какого типа, чтобы хранить в их значениях такого вида текст.

Конструкция из строковых переменных

Первое, что подумалось: если в шагах можно сразу вводить многострочный текст, то почему бы не попробовать ввести несколько переменных.

Подготовили семь переменных с типом «Строка» и каждой присвоили свою строку из текста.

Окно «Переменные» в сценарии тестирования. В данном варианте указано семь переменных, в том числе и пустая строка
Окно «Переменные» в сценарии тестирования. В данном варианте указано семь переменных, в том числе и пустая строка

Указали в значении шага имена переменных в многостроковом формате. И это сработало корректно.

Можно даже использовать шесть переменны, а не семь. Убрать переменную, значением которой является пустая строка. И добавить пустую строку непосредственно в значении шага.

Когда такой способ может пригодиться?

Когда количество переменных фиксированно. Именно в этом случае, имеет смысл выстраивать конструкции из переменных в значении шага с действием «Ввести текст» или «Установить значение». Значения данных переменных могут быть известны заранее или появляться по мере прохождения сценарного автотеста.

Вычисляемая переменная

А если нужна компактность и хранение всего текста в одной переменной? Здесь поможет только вычисляемая переменная, в значении которой надо задать нужную формулу. Для нашего примера она будет выглядеть так:

"Эдуард Асадов. Отрывок из стихотворения «О том, чего терять нельзя»"+Символы.ПС+""+Символы.ПС+"Я — всем сердцем за технику и прогресс!"+Символы.ПС+"Только пусть не померкнут слова и краски,"+Символы.ПС+"Пусть хохочет в лесах берендеевский бес,"+Символы.ПС+"Ведь экстракт из хвои не заменит лес,"+Символы.ПС+"И радар никогда не заменит сказки!»

Где «Символы.ПС» - это конструкция встроенного языка 1С со специальным символом перехода на следующую строку «ПС».

Окно «Переменные» в сценарии тестирования. В данном варианте используется переменная с типом «Вычисляемое значение», а ее значение указывается в виде формулы
Окно «Переменные» в сценарии тестирования. В данном варианте используется переменная с типом «Вычисляемое значение», а ее значение указывается в виде формулы

Соответственно, если весь текст хранится в одной переменной, то ее уже можно использовать в шаге с любым из действий: «Ввести текст», «Установить значение», «Ввести значение по строке» или «Ввести значение по строке и нажать Enter». И не нужно выстраивать многострочные конструкции из переменных.

Да, если вдруг у Вас появился экспериментаторский задор, и Вы решили проверить возможность комбинации строковых и вычисляемых переменных для действий «Ввести текст» и «Установить значение», например, для уменьшения количества самих переменных, то скажу, что уже провел данный эксперимент.

Комбинация на данный момент не работает. Как только в значении шага переменных становится больше одной, то вычисляемые переменные начинают восприниматься как строковые.

Итог:

В большинстве случаев, удобнее использовать одну переменную и хранить в ее значении весь многострочный текст. Но все всегда зависит от требований к решаемой задаче. Потому альтернативный вариант использования переменных для многострочных полей ввода тоже может найти применение. К примеру, когда одна и та же часть многострочного текста может использоваться в разных полях формы в разных форматах. Тогда точно понадобится разбивать строки по переменным или, даже, дублировать какие-то строки в разных переменных.

-11

Наука
7 млн интересуются