Примеры использования 1Script — 1Script
lustin #1
Пока мы все в ожидании Infostart’а где более подробно будет рассказываться о применимости инструментария, хотелось бы ознакомить всех с интересным:
Это реальный и работоспособный пример использования языка скриптов для (внезапно) развертывания
EvilBeaver #2
В ближайшее время планирую опубликовать в wiki проекта полное описание прикладных классов, что-то вроде синтакс-помощника.
EvilBeaver #3
Обновил вики по стандартной библиотеке классов. Теперь она генерируется автоматически из исходников проекта, что позволяет ей не терять актуальность.
https://bitbucket.org/EvilBeaver/1script/wiki/stdlib
1 Симпатия
PrMex #4
Сильно порадовало, что теперь скрипты в снегопате стало писать проще, используя onescript (т.е. практически на чистом 1С).
Наш проект, кстати, подал заявку на закупку нескольких лицензий снегопата.
EvilBeaver #5
Сделал примеры скриптов: https://bitbucket.org/EvilBeaver/1script/wiki/samples
1 Симпатия
JohnyDeath #6
Прям вынуждаешь бросить PowerShell и внедрить 1Script )
1 Симпатия
lustin #7
А ты еще не заметил ? Мы наглым образом работаем только с ним
EvilBeaver #8
Я не вынуждаю. Просто он реально удобнее
PrMex #9
Я у себя начал писать на практике на OneScript. Действительно удобнее и быстрее.
1 Симпатия
Vanessa Automation Dev
BDD for 1С:Enterprise
- Текущий релиз в ветке Master: 1. 2.039.1
- Разработка ведется в ветке Develop.
- Обсудить Ванессу в телеграм группе, и обсудить всё, что связано с тестированием в 1С.
- Подписаться на новости о проекте в телеграм канале.
Документация
Проект использует принцип формирования автодокументации в формате Markdown и видео:
- Интерактивная справка в формате видео.
- Видео инструкции (разное).
- Вебинар 2016 года.
Статьи по Vanessa Automation
- Vanessa-Automation — инструмент тестирования прикладных решений на платформе «1С: Предприятие» @Хабрахабр
- Vanessa-Automation — инструмент автодокументирования прикладных решений на платформе «1С: Предприятие». Кино и BDD. @Хабрахабр
- Как стать контрибьютерром VA
- Vanessa, хочу все и сразу. Новые возможности автоинструкций.
- Vanessa, улучшаем инструкции.
- Vanessa Automation + СППР.
- Суровая практика BDD или: BDDSM-практики, или 50 оттенков желтого.
- Vanessa, видеоинструкции для web-клиента
- Генерация сценариев тестирования внешних печатных форм средствами Vanessa Automation
- Тестирование серверного поведения с Vanessa Automation
- Практика применения DevOps. Тестирование
СППР + Vanessa Automation
- Автоматизация тестирования в СППР 2.0. Часть 1
- Автоматизация тестирования в СППР 2.0. Часть 2
Видео
- 100+ тестов на Vanessa-Automation. Личный опыт без маркетинга.
- Как создать видеоинструкцию в 1С? Пошаговый мастер класс от Виталия Чебана
- Митап 1С:Community от КОРУС Консалтинг. Опыт применения автотестирования
- Автоматическое тестирование с использованием Vanessa в Yandex.Cloud
Курсы
- Бесплатные
- Экспресс курс от Виталия Онянова
- Платные
- Сценарное тестирование в 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" # Каждый сценарий состоит из последовательных связанных шагов Сценарий: Запуск в консольном режиме Дано Пусть существует файл ".\vb-execute-profile.json" И в переменную окружения V83PATH установлено значение "C:\Program Files (x86)\1cv8\8.3.6.2151\bin\1cv8.exe" Когда я запускаю командную строку '%V83PATH% /Execute .\vanessa-automation.epf /C"StartFeaturePlayer;VBParams=.\vb-execute-profile.json' Тогда появляется файл с результатами '.\BuildStatus.log' И в каталоге ".\allurereport" существует HTML отчет о результатах проверки сценариев Сценарий: Запуск в интерактивном режиме Дано Пусть я открыл обработку "vanessa-automation.epf" Когда Я нажал кнопку "Загрузить фичи из каталога" И указал каталог с требованиями заказчика равным ".\features" И затем нажал кнопку "Сгенерировать шаблоны обработок" Также в каталоге ".\features" возникли epf файлы идентичные имени feature файла И при нажатии кнопки "Запустить сценарии" я вижу автоматизированный запуск обработок с признаком "pending" (ожидает реализации)
Вариант использования без интерактивного режима
Фактически данный вариант использования представляет собой следующий порядок действий:
- зафиксировали требования к информационной системе;
- создали автоматизированные сценарии проверки в виде epf файлов, если не хватает уже готовых;
- наполнили шаги сценариев (сниппеты) кодом проверки поведения;
- запустили сценарии проверки поведения и убедились, что они НЕ работают;
- разработали функционал;
- запустили сценарии проверки поведения;
- убедились что сценарии проверки работают и отчет о проверки показывает «Зелёный» статус.
Использование в режиме проверки поведения пользовательского интерфейса
Для команд уже имеющих функционал или производящих доработку конфигураций, работающих на управляемых формах, действует упрощенный порядок использования:
- зафиксировали требования к информационной системе;
- разработали управляемые формы или рабочие столы конфигурации в режиме прототипирования;
- запустили запись интерактивных действий пользователя в режиме менеджера тестирования;
- дополнили сценарии шагами, проверяющими результат работы (например, проверка движений документа)
- разработали основной функционал;
- запустили сценарии проверки поведения;
- убедились что сценарии проверки работают и отчет о проверки показывает «Зелёный» статус.
Кто пишет feature файлы ?
Feature файлы могут писать все участники команды:
- менеджер проекта — если обнаружил что заказчику необходимо новое поведение;
- бизнес или системный аналитик — на основе собранных требований и технических заданий;
- ведущий разработки — если обнаружил, что требования недостаточно структурированы;
- архитектор или эксперт 1С — если текущие сценарии некорректно спроектированы с точки зрения метаданных;
- тестировщик — когда пишет сценарии для проверки поведения.
Если вы не уверены в правильности ожидаемого поведения, используйте для этого системы тэгов:
- «@Draft@» — черновик требования
- «@Предварительно» — начальные заметки
и подобные им обозначения
Файл профиля запуска обработки
Для запуска в консольном режиме используется понятие профиль консольного запуска. Профиль консольного запуска предназначен для удобной передачи параметров. Профиль запуска представляет собой текстовый файл в формате VAParams.json.
Текущие параметры запуска:
- Каталог фич
- ВыполнитьСценарии — признак того, что необходимо запустить выполнение сценариев
- ДелатьОтчетВФорматеАллюр — признак того, что необходимо формировать 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
Служба OneTranscript® — Университет Excelsior
Если вы хотите объединить свои записи об образовании в одну стенограмму, не записываясь на программу получения степени, воспользуйтесь уникальной услугой Excelsior OneTranscript.
OneTranscript позволяет вам продемонстрировать свои кредиты колледжа и завершенные программы обучения в официальном, удобном для чтения документе, подтверждающем ваши достижения. Узнайте больше о политике Excelsior OneTranscript® здесь
Представьте свои кредиты в профессиональном формате
Чтобы воспользоваться этой услугой, подайте заявку, и ваши официальные стенограммы будут отправлены в Excelsior. Вы получите доступ к официальной оценке OneTranscript через MyExcelsior в течение десяти рабочих дней после того, как Excelsior получит ваш первый кредитный документ. Затем вы можете запросить официальные копии за небольшую плату за копию.
Зачем использовать OneTranscript?
- Сделайте так, чтобы работодатели или колледжи могли видеть все ваши зачетные баллы
- Экономьте время и деньги, исключая несколько запросов на выписку
- Бесплатно добавьте отчеты о результатах экзаменов UEXcel® или Excelsior University®
Кто использует OneTranscript?
- Полицейские, добивающиеся продвижения по службе
- Лица, работающие над кандидатурой полицейской академии
- Учителя, желающие подтвердить кредиты непрерывного образования
- Любой, кто хочет представить обучение на уровне колледжа в официальном отчете
Как это работает
- Создайте вход на портал приложений и подайте заявку без получения степени. Затем вам будет отправлено одно электронное письмо с вашим новым именем пользователя MyExcelsior, а затем второе электронное письмо для проверки вашей информации и создания пароля для вашей учетной записи. Используя новый логин, посетите онлайн-приложение OneTranscript или загрузите приложение.
- Предоставьте свои официальные стенограммы, отчеты об экзаменах, военную документацию, оценки иностранных дипломов, утвержденные деловые и отраслевые стенограммы, сертификаты пилотов с неподвижным крылом FAA и т. д., выданные колледжами, агентствами по тестированию или учебными заведениями, в которых вы получили высшее образование. уровень кредита. Вы можете потребовать, чтобы определенные курсы были исключены из вашей стенограммы.
- Военная и производственная подготовка: Отправьте официальные документы в Excelsior.
- Международные стенограммы: вы должны использовать утвержденное агентство для оценки полномочий из учреждений за пределами США. Узнайте больше.
- Отправьте платеж в размере 495 долларов США, который включает:
- Один полный год службы OneTranscript. Новый кредит может быть отправлен непосредственно в Excelsior в течение года для добавления в вашу запись OneTranscript.
- Доступ к официальной оценке OneTranscript, подтверждающей ваш кредит, указанный в OneTranscript. По мере добавления кредита в ваш OneTranscript ваша официальная оценка будет обновляться, отражая общее количество кредитов.
- Официальная стенограмма может быть запрошена в любое время кредитов, примененных к вашему OneTranscript. Если вам нужна официальная копия, отправленная в определенное место, следуйте инструкциям по следующему адресу: www.excelsior.edu/policy/excelsior-university-transcripts/.
- За независимые учебные курсы Федерального агентства по чрезвычайным ситуациям (FEMA) взимается дополнительная плата в размере 75 долларов США за каждый заработанный кредит FEMA.
- Плата за обновление взимается по истечении одного полного года службы OneTranscript. Это даст вам еще один полный год службы OneTranscript.
- Дополнительная плата за независимые учебные курсы Федерального агентства по чрезвычайным ситуациям (FEMA) также распространяется на обновления OneTranscript.
Credit Consolidation
Примеры источников кредитов, которые Excelsior разместит в OneTranscript:
- Квалификация, продемонстрированная на экзаменационных программах:
- CLEP® — Программа экзаменов на уровне колледжа®
- DSST® – Тематические стандартизированные тесты DANTES®
- Экзамены UExcel® / ECE
- Нью-Йоркский университет (NYU), языковые экзамены
- Сертификационные экзамены по ИТ от Microsoft®, Cisco®, SAS®, Oracle®, CompTia® и Sun Microsystems®
- Учебные курсы для бизнеса/промышленности/правительства, оцененные на предмет кредита:
- Американский совет по образованию (ACE)
- Национальная служба рекомендаций по кредитам для колледжей (NCCRS)
- Военная подготовка оценивается ACE для получения кредита на уровне колледжа
- Курсы колледжей, пройденные в колледжах, аккредитованных на региональном уровне
- Участвующие академии и агентства по подготовке специалистов в области уголовного правосудия
- Федеральное агентство по чрезвычайным ситуациям (FEMA) Независимые учебные курсы
- Начните с большего кредита
Вы нынешний или бывший студент?
Услуга OneTranscript предназначена для лиц, которые в настоящее время не хотят получать степень, но хотят объединить несколько источников кредита в одну запись для других целей. Если вы в настоящее время зачислены или успешно закончили программу обучения в Университете Эксельсиор, вы не имеете права использовать службу OneTranscript. Однако вы можете запросить копии своих официальных стенограмм через MyExcelsior. Сделай , а не , заполните для этой цели заявку OneTranscript; это другая услуга.
Контактное лицо OneTranscript
Телефон: 518-464-8518
Электронная почта: [email protected]
Запуск экспериментов с wandb.init — Документация
Вызовите wandb.init()
один раз в начале сценария, чтобы инициализировать новое задание. Это создает новый запуск в W&B и запускает фоновый процесс для синхронизации данных.
On-Prem : если вам нужно частное облако или локальный экземпляр W&B, ознакомьтесь с нашими предложениями по размещению на собственном сервере.
Справочная документация
Просмотрите справочные документы для этой функции, сгенерированные из библиотеки
wandb
Python.wandb.init
Как запустить несколько запусков из одного скрипта?
Если вы пытаетесь запустить несколько запусков из одного скрипта, добавьте в код две вещи:
1
.
run = wandb.init(reinit=True)
: Используйте этот параметр, чтобы разрешить повторную инициализацию прогонов2
.
run.finish()
: Используйте это в конце прогона, чтобы завершить регистрацию для этого прогона
import wandb
для x в диапазоне (10):
run = wandb.init(reinit=True)
для y в диапазоне (100):
wandb.log({«metric»: x+y })
run.finish()
В качестве альтернативы вы можете использовать диспетчер контекста Python, который автоматически завершит регистрацию:
)
с пробегом:
для y в диапазоне (100):
run. log({«metric»: x+y})
InitStartError: Ошибка связи с процессом wandb
Эта ошибка указывает на то, что библиотека испытывает трудности при запуске процесса, синхронизирующего данные с сервером.
Следующие обходные пути могут помочь решить проблему в определенных средах:
Linux / OS X
Google Colab
wandb.init(settings=wandb.Settings(start_method=»fork»))
Для версий до
0.13.0
мы предлагаем использовать:wandb.init(settings=wandb.Settings(start_method=»thread»))
Как я могу использовать wandb с многопроцессорной обработкой, например. распределенное обучение?
Если в вашей программе обучения используется несколько процессов, вам необходимо структурировать программу, чтобы избежать вызовов методов wandb из процессов, в которых вы не запускали
wandb. init()
. Существует несколько подходов к управлению многопроцессным обучением:1
.
Вызов
wandb.init
во всех ваших процессах, используя аргумент ключевого слова group для определения общей группы. Каждый процесс будет иметь свой собственный запуск wandb, а пользовательский интерфейс будет группировать процессы обучения вместе.2
.
Вызов
wandb.init
только из одного процесса и передача данных для регистрации через многопроцессорные очереди.
Дополнительные сведения об этих двух подходах, включая примеры кода с Torch DDP, см. в Distributed Training Guide.
Как программно получить доступ к удобочитаемому имени запуска?
Он доступен как атрибут
.name
wandb.Run
.import wandb
wandb.init()
run_name = wandb.run.name
Могу ли я просто установить имя запуска на идентификатор запуска?
Если вы хотите заменить имя запуска (например, snowy-owl-10) идентификатором запуска (например, qvlp96vk), вы можете использовать этот фрагмент:
import wandb
wandb.init()
wandb.run.name = wandb.run.id
wandb. run.save()
Я не назвал свой запуск. Откуда взялось название пробега?
Если вы явно не назовете свой прогон, ему будет присвоено случайное имя прогона, чтобы помочь идентифицировать прогон в пользовательском интерфейсе. Например, случайные названия прогонов будут выглядеть как «приятный-цветок-4» или «непонятая-полянка-2».
Как сохранить коммит git, связанный с моим запуском?
Когда в вашем скрипте вызывается
wandb.init
, мы автоматически ищем информацию git для сохранения, включая ссылку на удаленный репозиторий и SHA последней фиксации. Информация git должна отображаться на вашей странице выполнения. Если вы не видите его там, убедитесь, что текущий рабочий каталог вашей оболочки при выполнении вашего скрипта находится в папке, управляемой git.Коммит git и команда, используемые для запуска эксперимента, видны вам, но скрыты от внешних пользователей, поэтому, если у вас есть общедоступный проект, эти сведения останутся конфиденциальными.
Можно ли сохранить метрики в автономном режиме и позже синхронизировать их с W&B?
По умолчанию
wandb.init
запускает процесс, который синхронизирует метрики в режиме реального времени с нашим облачным приложением. Если ваш компьютер отключен, у вас нет доступа к Интернету или вы просто хотите отложить загрузку, вот как запуститьwandb
в автономном режиме и выполнить синхронизацию позже.Вам нужно установить две переменные среды.
1
.
WANDB_API_KEY=$KEY
, где$KEY
— это ключ API со страницы настроек2
.
wandb_mode = "Offline"
, и вот пример того, как это будет выглядеть в вашем сценарии:
Import Wandb
Import OS
OS.ENVIR .environ[«WANDB_MODE»] = «офлайн»
config = {
«набор данных»: «CIFAR10»,
«машина»: «автономный кластер»,
«модель»: «CNN»,
«learning_rate»: 0.01,
«batch_size»: 128,
wandb.init(project=»offline-demo» )
для i в диапазоне (100):
wandb. log({«accuracy»: i})
Вот пример вывода терминала:
И когда вы будете готовы, просто запустите команду синхронизации, чтобы отправить это папку в облако.
wandb sync wandb/dryrun-folder-name
В чем разница между режимами wandb.init?
Режимы могут быть «онлайн», «оффлайн» или «отключено», по умолчанию — онлайн.
онлайн
(по умолчанию): в этом режиме клиент отправляет данные на сервер wandb.в автономном режиме
: в этом режиме вместо отправки данных на сервер wandb клиент будет хранить данные на вашем локальном компьютере, которые впоследствии можно будет синхронизировать с помощью командыwandb sync
.отключено
: в этом режиме клиент **** возвращает фиктивные объекты и предотвращает все сетевые подключения. Клиент, по сути, будет действовать как no-op. Другими словами, вся регистрация полностью отключена. Однако заглушки всех методов API по-прежнему можно вызывать. Обычно это используется в тестах.В пользовательском интерфейсе состояние моего запуска «сбой», но на моей машине все еще работает. Что мне делать, чтобы вернуть свои данные?
Скорее всего, вы потеряли связь с машиной во время тренировки. Вы можете восстановить свои данные, запустив
wandb sync [PATH_TO_RUN]
. Путь к вашему запуску будет папкой в вашем каталогеwandb
, соответствующей идентификатору запуска выполняемого запуска.LaunchError: Отказано в доступе
Если вы получаете сообщение об ошибке
Ошибка запуска: Отказано в доступе
, у вас нет прав для входа в проект, в который вы пытаетесь отправить прогоны. Это может быть по нескольким разным причинам.1
.
Вы не вошли в систему на этом компьютере. Запустите
wandb login
в командной строке.2
.
Вы установили несуществующий объект. «Сущность» должно быть вашим именем пользователя или названием существующей команды. Если вам нужно создать команду, перейдите на нашу страницу подписки.
3
.
У вас нет прав доступа к проекту. Попросите создателя проекта установить конфиденциальность на Открыть , чтобы вы могли регистрировать запуски этого проекта.
Использует ли W&B многопроцессорную библиотеку
Да, W&B использует многопроцессорную библиотеку