-
Появляется ошибка, в которой есть текст: "Неизвестный идентификатор формы". Это означает, что есть два или более epf файла, у которых совпадает поле Имя (это которое находится около Синонима и Комментария).
-
При открытии внешних обработок могут появляться окна с предупреждениями безопасности.
- Если вы используете версию платформы 8.3.9.2033 или новее, тогда может появиться окно Предупреждение безопасности.
- Подробно этот механизм описан здесь.
- Решение описано по ссылке
- Кратко - Если хотите выключить этот механизм для всех баз - пропишите в файле conf.cfg строку: DisableUnsafeActionProtection=.*
-
При пакетном запуске не загружаются и не выполняются фичи, открывается только форма
bddRunner
-
У Вас неверный/устаревший/ json-файл настроек, несовместимый формат со штатным json, например, что читает 1С 😦
-
например:
- одинарный слеш
\
не разрешен - используйте или\\
или/
- или одинарные кавычки ` или ’ не разрешены - используйте
\"
- одинарный слеш
-
Разбор проблемы в https://xdd.silverbulleters.org/t/pri-paketnom-zapuske-ne-zagruzhayutsya-i-ne-vypolnyayutsya-fichi-otkryvaetsya-tolko-bddrunner/2132
-
-
Как поставить точку останова (брейкпоинт) во внешней обработке для отладки?
- Используйте штатный механизм отладки 1С, если у вас
- файловая база
- или клиент 1С и сервер 1С находятся на одной машине.
- Если это не так, тогда более сложный путь:
- Надо закрыть сеанс TestManager.
- Надо открыть сеанс TestManager.
- Надо открыть через меню
Файл / Открыть файл
обработку, в которой стоит точка останова. - Только после пункта 3 надо открыть bddRunner.epf.
- Теперь остановка на точке остановки во внешнией обработке будет работать. Но до первого изменений кода в ней. Если изменили код, то надо повторить все действия с начала.
- Используйте штатный механизм отладки 1С, если у вас
-
Как пропустить сценарий, чтобы он не падал?
- Можно его закоментировать в тексте фичи (символ #)
- Можно поставить сценарию тег - и использовать теги фильтры
- Да пусть падает - тем более если он не реализован - то он будет желтым, а если реализован - тогда почему он падает?
-
Как запустить фичу из поставки VB у себя в базе?
- Большинство фич, которые идут в поставке VB, требуют, чтобы их запускали в специальной служебной базе.
- Надо собрать служебную базу. Для этого надо загрузить CF из (.\vanessa-behavoir\lib\CF\83)
- Надо руками в базе установить константу Путь к Vanessa Behavior - это полный путь к обработке vanessa-behavior.epf включая имя файла
- Надо открыть в базе VB
- Надо указать тег исключение IgnoreOnCIMainBuild (список исключаемых тегов)
- Для ОФ надо ещё указать тег IgnoreOnOFBuilds
- После этого можно загружать все фичи из каталога фич и запускать на выполнение.
-
Как мне удалить в транзакции созданные данные?
- В BDD не обязательно их удалять за собой.
- Если всё же хотите, Вы можете гарантированно удалить их в процедуре ПередОкончаниемСценария(). Она срабатывает в любом случае, даже если сценарий упал.
- Если создавались данные из макета (Данные = Ванесса.СоздатьДанныеПоТабличномуДокументу(Макет)), то можно использовать метод Ванесса.УдалитьСозданныеДанные(Данные).
- Лучше стремиться к тому, чтобы сценарий сам обеспечивал себе окружение, чтобы успешно выполниться.
-
Где мне лучше создавать служебные данные для выполнения сценария?
- В секции Контекст feature файла
- В процедуре ПередНачаломСценария()
-
Если в сценарии возникла ошибка, модальное окно и т.д. - как мне гарантированно закрыть все эти окна, чтобы следующий сценарий не падал?
- В секции контекст надо добавить шаг И Я закрыл все окна клиентского приложения. А ещё лучше создать экспортный сценарий и в него добавить этот шаг. А в секции Контекст вызывать экспортный сценарий.
-
Как проверять поведение системы под разными ролями?
- Надо запустить несколько TestClient на разных портах и переключаться между ними.
-
Как сохранять скриншоты при ошибках сценариев?
Интерактивная настройка: + Закладка
Сервис
+ далееАвтоинструкции
+ полеКонсольная команда создания скриншотов
+ после строки команды вставляется имя файла и в таком виде команда запускается!Можно устанавливать
-
как
NirCMD
-
http://www.nirsoft.net/utils/nircmd.zip
- команда
nircmd savescreenshot
- команда
-
так и
IrfanView
- команда
"C:\Program Files (x86)\IrfanView\i_view32.exe" /capture=1 /convert=
- команда
-
Важно только устанавливать 32-разрядные версии !!
Примеры json-файла настройки фиксации скриншотов для
NirCMD
: -
"ДелатьСкриншотПриВозникновенииОшибки": true,
"СниматьСкриншотКаждогоОкна1С": true,
"КаталогOutputСкриншоты": "$workspaceRoot/build/out/ScreenShots",
"КомандаСделатьСкриншот": "nircmd savescreenshot "
или для `IrfanView`:
"ДелатьСкриншотПриВозникновенииОшибки": true,
"СниматьСкриншотКаждогоОкна1С": true,
"КаталогOutputСкриншоты": "$workspaceRoot/build/out/ScreenShots",
"КомандаСделатьСкриншот": '"C:\Program Files (x86)\IrfanView\i_view32.exe" /capture=1 /convert='
-
На CI сервере скриншот формируется, но вместо изображения чёрный экран. Как настроить сервер CI?
- Запускать джоб Jenkins в режиме сервиса нельзя. На CI надо настроить автовход под какой либо учётной записью и в автозагрузку надо поместить команду запуска джоба Jenkins.
- Нельзя использовать для доступа к CI RDP. Вообще. Надо использовать другой софт для удаленного доступа к нему, например TightVNC. RDP полностью гасит видеокарту (виртуальную или настоящую) при отключении.
- Надо посмотреть схему энерго сбережения в панели управления, там может стоять отключение дисплея через пару минут. Это надо выключить.
-
Почему у меня не работает тэг
@tree
- Для работы тега
@tree
надо использовать либо только табы, либо только пробелы. В пределах одной фичи нельзя в отступах строк использовать и пробелы и Табы.
- Для работы тега
-
Я подключаюсь по RDP к серверу. И фича выполняется нормально, но если свернуть окно RDP, то возникает ошибка.
- Это связано с особенностью платформы 1С. Некоторые методы платформы (кнопконажималки) не работают, когда погашена видеокарта (а RDP клиент её гасит, когда вы его сворачиваете). Поэтому не надо использовать RDP для доступа к CI (или другим) серверам, когда вы хотите использовать кнопконажималку.
-
Я вызвал метод Ванесса.ЗапретитьВыполнениеШагов(), затем я подключаю свой таймер, и мне надо сделать, чтобы шаг упал.
- в этом случае вместо вызова исключения надо сделать Ванесса.ПродолжитьВыполнениеШагов(Истина)
-
Как использовать Sikuli-скрипты.
- Установите SikuliX согласно инструкции http://sikulix.com/quickstart/;
- Ознакомьтесь с http://sikulix-2014.readthedocs.io/en/latest/faq/010-command-line.html;
- Укажите через path путь к каталогу с runsikulix(.cmd);
- Разрабатывайте свои Sikuli-скрипты с помощью SikuiliX IDE (http://sikulix-2014.readthedocs.io/en/latest/index.html) либо используйте имеющиеся;
- Выполнение скрипта в реализации шага вызывайте через Ванесса.ВыполнитьSikuliСкрипт().
-
Как получить отчет Allure у себя на компьютере под Windows
- Надо скачать дистрибутив Allure отсюда
- Надо прописать в Path каталог где лежит allure.bat
- Вызвать команду call allure generate {каталог где лежат ваши xml в формате Allure}
- Вызвать команду call allure report open
-
Как при возникновении ошибки на CI получить скриншоты всех окон 1С?
- Пока эта фича работает только под Windows.
- Надо в json файле, в котором указываются параметры запуска Vanessa-Behavior, указать строку:
"СниматьСкриншотКаждогоОкна1С": "Истина"
- Надо установить на CI сервер java 8 (если у вас Jenkins - то скорее всего она у вас уже есть)
- Надо установить SikuliX версии 1.1 или выше. Брать отсюда. Там надо скачать sikulixsetup-1.1.1.jar.
- Надо чтобы файл runsikulix.cmd был прописан в переменной PATH.