Vanessa Automation Dev
BDD for 1С:Enterprise
- Текущий мажорный релиз 1.2.040.1
- Текущий минорный релиз 1.2.040.15
- Разработка ведется в ветке Develop.
- Обсудить Ванессу в телеграм группе, и обсудить всё, что связано с тестированием в 1С.
- Подписаться на новости о проекте в телеграм канале.
Документация
- Основная документация. Это уроки по Vanessa Automation собранные в формате видео, pdf и markdown.
Также можно посмотреть
- Интерактивная справка в формате видео.
- Интерактивная справка в формате видео (на английском).
- Видео инструкции (разное).
- Вебинар 2016 года.
Статьи по Vanessa Automation
- Vanessa-Automation — инструмент тестирования прикладных решений на платформе «1С: Предприятие» @Хабрахабр
- Vanessa-Automation — инструмент автодокументирования прикладных решений на платформе «1С: Предприятие».
- Как стать контрибьютерром VA
- Vanessa, хочу все и сразу. Новые возможности автоинструкций.
- Vanessa, улучшаем инструкции.
- Vanessa Automation + СППР.
- Суровая практика BDD или: BDDSM-практики, или 50 оттенков желтого.
- Vanessa, видеоинструкции для web-клиента
- Генерация сценариев тестирования внешних печатных форм средствами Vanessa Automation
- Тестирование серверного поведения с Vanessa Automation
- Практика применения DevOps. Тестирование
СППР + Vanessa Automation
- Автоматизация тестирования в СППР 2.0. Часть 1
- Автоматизация тестирования в СППР 2.0. Часть 2
Внешняя компонента VanessaExt
- Применение внешних компонент для решения задач сценарного тестирования. Автор Денис Кандрашин.
Видео материалы
- 100+ тестов на Vanessa-Automation. Личный опыт без маркетинга.
- Как создать видеоинструкцию в 1С? Пошаговый мастер класс от Виталия Чебана
- Митап 1С:Community от КОРУС Консалтинг. Опыт применения автотестирования
- Автоматическое тестирование с использованием Vanessa в Yandex.Cloud
- Как изменялся механизм формирования текстовых авто-инструкций. Мастер класс по созданию красивой инструкции.
Курсы
- Бесплатные
- Экспресс курс от Виталия Онянова
- Платные
- Сценарное тестирование в 1С: настройка и практика использования
- Тестирование в 1С — от простого к сложному
Как стать контрибьютором (предложить свои доработки) проекта?
- Об этом рассказано в этой статье
Сборка из исходников
В данном репозитории хранятся только исходники. Вы можете собрать необходимые файлы сами, либо скачать готовую сборку. При первом скачивании репозитория необходимо собрать файлы обработок.
- Чтобы работала сборка epf надо установить OneScript версии 1.4.0.177 или выше.
- Также, чтобы работала сборка и разборка epf надо установить платформу 1С:Предприятие 8.3.17.
- Для запуска сборки epf из исходников надо запустить Compile.bat.
- Скрипты по сборке/разборке файлов.
Чтобы зафиксировать изменения epf файлов, нужно запустить Decompile.bat.
Установка через OneScript
Для обычной сборки
- opm install vanessa-automation
Для сборки VASingle.
- opm install vanessa-automation-single
VASingle отличается от обычной сборки тем, что поставляется в виде одного epf файла, который по функциональности полностью совпадает с основной сборкой.
Описание простого использования
- Feature файлы пишутся на языке Turbo Gherkin — рекомендуется использовать встренный редактор (VAEditor), созданный на базе VSCode.
# encoding: utf-8 # language: ru Функционал: Запуск и получение результатов запуска сценариев Как любой разработчик продукта Я хочу иметь возможность запустить проверку сценариев поведения на конфигурации 1С:Предприятие # Контекст сценария выполняется всегда перед каждым сценарием Контекст: Когда существует разрабатываемая мною конфигурация 1С И существуют требования заказчика к ожидаемому поведения в каталоге ". \features" # Каждый сценарий состоит из последовательных связанных шагов Сценарий: Запуск в интерактивном режиме Дано я открыл обработку "vanessa-automation.epf" Когда я нажал кнопку "Загрузить фичи из каталога" И указал каталог с требованиями заказчика равным ".\features" И затем нажал кнопку "Сгенерировать шаблоны обработок" Также в каталоге ".\features" возникли epf файлы идентичные имени feature файла И при нажатии кнопки "Запустить сценарии" я вижу автоматизированный запуск обработок с признаком "pending" (ожидает реализации)
Вариант использования без интерактивного режима
Фактически данный вариант использования представляет собой следующий порядок действий:
- зафиксировали требования к информационной системе;
- создали автоматизированные сценарии проверки в виде epf файлов, если не хватает уже готовых;
- наполнили шаги сценариев (сниппеты) кодом проверки поведения;
- запустили сценарии проверки поведения и убедились, что они НЕ работают;
- разработали функционал;
- запустили сценарии проверки поведения;
- убедились что сценарии проверки работают и отчет о проверки показывает «Зелёный» статус.
Использование в режиме проверки поведения пользовательского интерфейса
Для команд уже имеющих функционал или производящих доработку конфигураций, работающих на управляемых формах, действует упрощенный порядок использования:
- зафиксировали требования к информационной системе;
- разработали управляемые формы или рабочие столы конфигурации в режиме прототипирования;
- запустили запись интерактивных действий пользователя в режиме менеджера тестирования;
- дополнили сценарии шагами, проверяющими результат работы (например, проверка движений документа)
- разработали основной функционал;
- запустили сценарии проверки поведения;
- убедились что сценарии проверки работают и отчет о проверки показывает «Зелёный» статус.
Кто пишет feature файлы ?
Feature файлы могут писать все участники команды:
- менеджер проекта — если обнаружил что заказчику необходимо новое поведение;
- бизнес или системный аналитик — на основе собранных требований и технических заданий;
- ведущий разработки — если обнаружил, что требования недостаточно структурированы;
- архитектор или эксперт 1С — если текущие сценарии некорректно спроектированы с точки зрения метаданных;
- тестировщик — когда пишет сценарии для проверки поведения.
Если вы не уверены в правильности ожидаемого поведения, используйте для этого системы тэгов:
- «@Draft@» — черновик требования
- «@Предварительно» — начальные заметки
и подобные им обозначения
Файл профиля запуска обработки
Для запуска в консольном режиме используется понятие профиль консольного запуска. Профиль консольного запуска предназначен для удобной передачи параметров. Профиль запуска представляет собой текстовый файл в формате VAParams.json.
Текущие параметры запуска:
- Каталог фич — каталог где собраны требования заказчика описанные на языке Gherkin
- ВыполнитьСценарии — признак того, что необходимо запустить выполнение сценариев
- ДелатьОтчетВФорматеАллюр — признак того, что необходимо формировать HTML отчёт о результатах проверки
- КаталогOutputAllureБазовый — адрес каталога для где будет формироваться HTML отчёт
- ЗавершитьРаботуСистемы — признак того, что окончанию работы необходимо завершить работу 1С предприятия
- ВыгружатьСтатусВыполненияСценариевВФайл — признак, что необходимо формировать файл с финальным статусом проверки
- ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев — по данному пути будет сформирован файл со статусом проверки (обычно используется на серверах сборки для автоматизированного указания статуса сборки)
- СписокТеговИсключение — массив текстовых тэгов, для исключения из проверки (используется например для черновиков сценариев и требований)
- СписокТеговОтбор — массив текстовых тэгов для запуска проверки поведения по сценариям, содержащим любой из указанных тэгов
- и другие
Примеры JSON файлов Описание всех параметров VAParams. json (ru) Описание всех параметров VAParams.json (en) Параметры, которые раньше можно было передавать только в командной строке, но теперь можно передавать в файле VAParams.json
Профиль запуска предназначен для простого консольного запуска, пример подобной командной строки выглядит так:
%V83PATH% /Execute C:\vanessa-automation\vanessa-automation.epf /TESTMANAGER /C"StartFeaturePlayer;VAParams=C:\VAParams.json"
Описание всех параметров командной строки можно найти тут
Загрузка глобальных переменных из внешнего файла
Чтобы не зашивать в тесты все плавающие пользовательские переменные, такие как имена баз, строки подключения, логины, пароли и др., имеется возможность вынести эти переменные во внешний файл user_settings.json. Это может быть особенно полезно, когда над фичами работает команда, и у каждого участника существуют свои настройки подключения к базам.
Чтобы воспользоваться этой функциональности, нужно выполнить следующее:
- У себя в каталоге с обработкой ванессы создать файл user_settings. json. Сам файл user_settings.json должен отвечать специальному формату:
{ "userSettings": [ { "user": "USERNAME_1", "settings": { "ИМЯ_ПЕРЕМЕННОЙ_1": "ЗНАЧЕНИЕ_ПЕРЕМЕННОЙ_1", "ИМЯ_ПЕРЕМЕННОЙ_2": "ЗНАЧЕНИЕ_ПЕРЕМЕННОЙ_2", } }, { "user": "USERNAME_2", "settings": { "ИМЯ_ПЕРЕМЕННОЙ_1": "ЗНАЧЕНИЕ_ПЕРЕМЕННОЙ_1", "ИМЯ_ПЕРЕМЕННОЙ_2": "ЗНАЧЕНИЕ_ПЕРЕМЕННОЙ_2", } } ] }
В свойства user поставить доменное (локальное) имя пользователя, для которого должны применяться настройки. Именно по этому свойству будет определяться, какие пользовательские настройки нужно загружать.
В свойстве settings прописать конкретные настройки для каждого пользователя. Состав настроек необязательно должен совпадать между пользователями, для какого-то пользователя настройки могут отсутствовать.
Открыть обработку AD — файл user_settings. json подтянется автоматически из каталога, в котором находится AD (поле каталог инструментов на вкладке Сервис). Если такого файла нет, то загрузка молча игнорируется. Имеется возможность указать свой каталог загрузки настроек, он подчиняется свойству Каталог проекта на вкладке Сервис.
Если файл найден, то на основании текущего имени пользователя компьютера или домена (которое определяется через WShell скрипт), ищутся настройки текущего пользователя и загружаются только они. Если настройки не найдены, то выводится предупредительное сообщение.
Замечания:
- пожелания к использованию можно фиксировать в виде Github Issues;
Родительский проект
- Проект Vanessa-Automation является продолжением проекта Vanessa-Behavior 1.1.131
Полезные ссылки:
- Cucumber
- Автоматизированное тестирование 1С
- Yandex Allure
- Selenium
- Дэн Норт
Лицензии
- основная лицензия продукта — BSD v3
- лицензии стороннего кода — Apache License, GitHub CLA, Freeware, etc
OneScript — OneScript
OneScript
OneScript — это простой в использовании инструмент, используемый разработчиками и DevOps для автоматизации выпуска изменений базы данных.
Преимущества OneScript
Устраняет многие распространенные причины сбоев выпуска для изменений базы данных.
Позволяет эффективно управлять отдельными сценариями изменения базы данных, зафиксированными в системе управления версиями в процессе разработки.
Он автоматизирует фильтрацию, сортировку и объединение этих сценариев изменений в единый сценарий выпуска.
В дополнение к приложению Windows OneScript можно запускать из командной строки, что позволяет полностью автоматизировать процесс выпуска изменений базы данных. Это также означает, что он может работать как часть многих автоматизированных систем развертывания, таких как Jenkins и TeamCity.
Выпуск изменений базы данных становится намного эффективнее, исключается риск ручных ошибок, а изменения на 100 % поддаются аудиту.
Это простой в использовании инструмент, который согласуется с уже используемыми разработчиками инструментами и практиками.
Обзор процесса
Разработчики записывают каждое изменение в отдельный небольшой файл, названный в честь объекта базы данных, который он создает или изменяет. Они проверяются в папках системы управления версиями, названных в честь типа объекта базы данных. Например, «Таблицы», «Представления», «Хранимые процедуры».
Например, для добавления столбца в таблицу клиентов могут потребоваться следующие файлы сценария изменения:
/Таблицы/Клиенты.sql
/Хранимые процедуры/GetCustomer.sql
/Stored Procedures/SaveCustomer.sql
Разработчики используют тот же подход (и инструменты) при написании сценариев для изменений объектов базы данных, кода базы данных и статических данных. Эти сценарии изменений могут быть для SQL Server, Oracle, MySQL или любой базы данных, которую можно изменить с помощью сценариев. Нет необходимости переводить изменения на другой язык.
Следующим шагом является использование OneScript для автоматической фильтрации и извлечения всех недавно добавленных или измененных файлов сценариев изменений из системы управления версиями, сортировки их на основе порядка сортировки, назначенного папкам, в которых они находятся («Таблицы = 100″, » Представления = 300″, «Хранимые процедуры = 400» и т. д.), а затем объединить их в один файл сценария выпуска, который можно применить к базе данных для выполнения развертывания. OneScript позволяет переопределить фильтр по умолчанию или порядок сортировки по умолчанию для любого файла.
Тот факт, что в файл сценария выпуска могут быть включены только сценарии, зарегистрированные системой контроля версий, обеспечивает лучший контроль и полный контрольный журнал. Это также может потребоваться для соблюдения нормативных или нормативных требований.
После того, как OneScript создаст файл сценария выпуска, его следует применить к последней копии рабочей базы данных, а затем проверить изменения. Любые сбои или изменения в сценариях изменений должны перезапустить процесс и привести к созданию нового файла сценария выпуска.
В конце концов, для развертывания изменений в производственной базе данных используется тот же самый файл сценария выпуска, который был применен ко всем предварительным средам и протестирован. Это повышает вероятность успешного выпуска и гарантирует, что вы выпускаете именно то, что было протестировано.
Возможности OneScript
Командная строка
Файл сценария выпуска можно создать из командной строки OneScript. Обычно вы определяете такой фильтр, как «включить все файлы, которые изменились с момента создания ветки» или «включить все файлы, измененные с определенной даты/времени». Вы можете скопировать правильную командную строку с аргументами из приложения OneScript для Windows после того, как сделаете свой выбор.
Тот факт, что файл сценария выпуска может быть сгенерирован из командной строки, означает, что OneScript можно использовать как часть автоматизированного процесса сборки и он будет работать с различными инструментами сборки, такими как TeamCity, MS Build, Jenkins или Hudson.
Приложение OneScript для Windows
Все, что вы можете сделать из командной строки, вы также можете сделать из простого в использовании приложения OneScript для Windows. Кроме того, в редких случаях, когда вам это необходимо, вы можете легко включить или исключить определенные файлы сценария изменения или переопределить порядок сортировки по умолчанию для файла сценария изменения. OneScript фильтрует и отображает данные непосредственно из системы управления версиями, когда вы редактируете эти переопределения.
Обратите внимание, что на изображении выше показан порядок сортировки, назначенный каждой из папок этого проекта. Обычно файлы сортируются по этому номеру, а затем по имени файла. Этот запрос переопределяет значения по умолчанию, чтобы файл dbo.Territories.sql включался первым в сценарий выпуска, а файл dbo.Products.sql — последним.
Работает с различными типами контроля версий
OneScript работает с:- Подрывная деятельность (SVN) — локальная или удаленная
- Team Foundation Server (TFS) — локальный или удаленный
- Файлы на диске или общем диске (для GIT и т. д.)
Безопаснее и эффективнее
Использование инструментов, созданных создателями каждой базы данных, безопаснее и эффективнее, чем ручное кодирование SQL или внесение изменений на другом языке.
Например, когда разработчикам нужно изменить размер столбца в Microsoft SQL Server, они могут использовать Microsoft SQL Server Management Studio. Они могут сделать это в конструкторе таблиц, а затем выбрать в меню «Создать сценарий изменения». Это создаст около 70 строк кода SQL с правильными настройками и использованием транзакций. Затем этот сценарий можно зафиксировать в системе управления версиями, после чего он станет частью следующей сборки OneScript.
Автоматически внедрять SQL в файл сценария выпуска во время сборки
Для каждого из ваших проектов вы можете определить SQL, который будет записан в сгенерированный файл сценария выпуска вместе с отдельными сценариями изменений. Вы можете определить SQL для записи в 4 разных местах — в начале и в конце сгенерированного файла сценария выпуска, а также до и после каждого включенного файла сценария изменения.
В OneScript имеется множество заполнителей подстановок, которые можно использовать во внедренном SQL. Ниже приведен пример шаблона SQL, который будет оцениваться и вставляться перед каждым включенным файлом сценария изменения.
Заполнители будут заменены значениями из системы управления версиями. Таким образом, %f будет заменено именем файла каждого включенного файла сценария изменения непосредственно перед копированием содержимого файла в сгенерированный файл сценария выпуска.
В этом примере внедряется SQL, который печатает сведения о системе управления версиями для каждого включенного файла сценария изменения непосредственно перед применением изменений этого файла к базе данных. Он используется для немедленной идентификации файлов сценариев изменений, вызывающих ошибки во время развертывания.
Возможность вводить SQL с заполнителями открывает множество возможностей для управления версиями, регистрации, аудита и контроля.
История изменений объектов базы данных
При таком подходе система управления версиями будет содержать историю изменений для каждого объекта базы данных, включая дату изменения, ветвь и автора. Вы можете использовать систему управления версиями, чтобы сделать «diff» между версиями, чтобы выделить различия.
Выше приведен журнал изменений для хранимой процедуры GetCustomerOrders.
Пример расширенного использования
Мы написали (здесь) в блоге о том, как использовать OneScript с PowerScript для автоматического выполнения следующих действий:
- Когда код возвращается в Subversion, автоматически запускать (используя ловушку) командную строку OneScript для создания файла сценария выпуска, содержащего все файлы сценариев изменений, созданные или отредактированные с момента создания ветки.
- Восстановите повторно отправленную резервную копию рабочей базы данных на экземпляр SQL Server для тестирования развертывания.
- Примените файл сценария выпуска, только что созданный OneScript, к тестовой базе данных.
- Определите, вызвало ли применение файла сценария выпуска к базе данных какие-либо ошибки.
- Отправьте электронное письмо разработчикам с пометкой «Успех» или «Ошибка» в строке темы. Имейте «журнал процесса» в качестве тела сообщения электронной почты и результаты применения файла сценария выпуска SQL к базе данных в качестве вложения.
Вы можете прочитать сообщения в блоге здесь и загрузить весь код PowerShell здесь.
Лицензирование
Лицензия требуется для каждого клиентского компьютера, на котором будет выполняться OneScript.Каждая лицензия включает:
- Возможность запуска Windows-приложения OneScript
- Возможность запуска командной строки OneScript
- Неограниченное количество проектов OneScript
- Неограниченное количество подключений системы управления источником
- Неограниченное количество подключений к серверу базы данных OneScript
В результате каждый рефакторинг базы данных автоматизируется путем записи его в виде SQL… Эти изменения никогда не применяются вручную, вместо этого они применяются к мастеру путем запуска небольшого сценария SQL для выполнения изменений. … Эта возможность автоматически вносить изменения в последовательность является важным инструментом как для процесса непрерывной интеграции в процессе разработки, так и для миграции производственных баз данных на новую версию.
— Мартин Фаулер и Прамод Садаладж
Эволюционный дизайн базы данных
Видео OneScript
Получить лицензию
Документация
Набор для двухэтапной ОТ-ПЦР OneScript® Plus
перейти к содержанию21 073 ₨
Удобная и экономящая время организация реакции с помощью набора OneScript Two-Step RT-PCR Kit от crb для сложных РНК-матриц (т. е. вторичных структур и высокого содержания GC) Этот высокоэффективный набор для двухэтапной ОТ-ПЦР состоит из двух основных компонентов: Удобная и экономящая время установка реакции с набором crb OneScript для двухэтапной ОТ-ПЦР для сложных РНК-матриц (т. е. вторичных структур и высокой содержание ГК). Этот высокоэффективный двухэтапный набор для ОТ-ПЦР состоит из двух основных компонентов: OneScript Plus cDNA Synthesis SuperMix и TaqPlus 2X PCR MasterMix с красителем. crb Синтез кДНК SuperMix обеспечивает высокоэффективное и специфическое преобразование РНК в кДНК даже из малочисленных транскриптов. Кроме того, уникальная смесь случайных праймеров и олиго(dT) праймеров в этом SuperMix обеспечивает оптимальное представление всех последовательностей транскриптов в продукте кДНК. В целом, SuperMix для синтеза кДНК crb позволяет выполнять синтез первой цепи кДНК с минимальными усилиями и максимальной легкостью. OneScript Plus разработан для работы при высоких температурах (45–55 °C)9.0168 crb OneScript Plus Reverse Transcriptase может синтезировать полноразмерные библиотеки кДНК из матриц РНК длиной до 15 т.п.н. crb 2X PCR MasterMix содержит все ингредиенты, необходимые для ПЦР, в заранее смешанном и оптимизированном формате, который упрощает рабочий процесс ПЦР. Используя различные ДНК-полимеразы Taq, crb предлагает множество высокочувствительных мастер-миксов для соответствия широкому спектру шаблонов ДНК и требованиям к производительности. |