Skip to content

Latest commit

 

History

History
130 lines (102 loc) · 12.9 KB

F.A.Q.MD

File metadata and controls

130 lines (102 loc) · 12.9 KB

FAQ

  1. Появляется ошибка, в которой есть текст: "Неизвестный идентификатор формы". Это означает, что есть два или более epf файла, у которых совпадает поле Имя (это которое находится около Синонима и Комментария).

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

    • Если вы используете версию платформы 8.3.9.2033 или новее, тогда может появиться окно Предупреждение безопасности.
    • Подробно этот механизм описан здесь.
    • Решение описано по ссылке
      • Кратко - Если хотите выключить этот механизм для всех баз - пропишите в файле conf.cfg строку: DisableUnsafeActionProtection=.*
  3. При пакетном запуске не загружаются и не выполняются фичи, открывается только форма bddRunner

  4. Как поставить точку останова (брейкпоинт) во внешней обработке для отладки?

    • Используйте штатный механизм отладки 1С, если у вас
      • файловая база
      • или клиент 1С и сервер 1С находятся на одной машине.
    • Если это не так, тогда более сложный путь:
      • Надо закрыть сеанс TestManager.
      • Надо открыть сеанс TestManager.
      • Надо открыть через меню Файл / Открыть файл обработку, в которой стоит точка останова.
      • Только после пункта 3 надо открыть bddRunner.epf.
      • Теперь остановка на точке остановки во внешнией обработке будет работать. Но до первого изменений кода в ней. Если изменили код, то надо повторить все действия с начала.
  5. Как пропустить сценарий, чтобы он не падал?

    • Можно его закоментировать в тексте фичи (символ #)
    • Можно поставить сценарию тег - и использовать теги фильтры
    • Да пусть падает - тем более если он не реализован - то он будет желтым, а если реализован - тогда почему он падает?
  6. Как запустить фичу из поставки VB у себя в базе?

    • Большинство фич, которые идут в поставке VB, требуют, чтобы их запускали в специальной служебной базе.
    • Надо собрать служебную базу. Для этого надо загрузить CF из (.\vanessa-behavoir\lib\CF\83)
    • Надо руками в базе установить константу Путь к Vanessa Behavior - это полный путь к обработке vanessa-behavior.epf включая имя файла
    • Надо открыть в базе VB
    • Надо указать тег исключение IgnoreOnCIMainBuild (список исключаемых тегов)
    • Для ОФ надо ещё указать тег IgnoreOnOFBuilds
    • После этого можно загружать все фичи из каталога фич и запускать на выполнение.
  7. Как мне удалить в транзакции созданные данные?

    • В BDD не обязательно их удалять за собой.
    • Если всё же хотите, Вы можете гарантированно удалить их в процедуре ПередОкончаниемСценария(). Она срабатывает в любом случае, даже если сценарий упал.
    • Если создавались данные из макета (Данные = Ванесса.СоздатьДанныеПоТабличномуДокументу(Макет)), то можно использовать метод Ванесса.УдалитьСозданныеДанные(Данные).
    • Лучше стремиться к тому, чтобы сценарий сам обеспечивал себе окружение, чтобы успешно выполниться.
  8. Где мне лучше создавать служебные данные для выполнения сценария?

    • В секции Контекст feature файла
    • В процедуре ПередНачаломСценария()
  9. Если в сценарии возникла ошибка, модальное окно и т.д. - как мне гарантированно закрыть все эти окна, чтобы следующий сценарий не падал?

    • В секции контекст надо добавить шаг И Я закрыл все окна клиентского приложения. А ещё лучше создать экспортный сценарий и в него добавить этот шаг. А в секции Контекст вызывать экспортный сценарий.
  10. Как проверять поведение системы под разными ролями?

    • Надо запустить несколько TestClient на разных портах и переключаться между ними.
  11. Как сохранять скриншоты при ошибках сценариев?

    Интерактивная настройка: + Закладка Сервис + далее Автоинструкции + поле Консольная команда создания скриншотов + после строки команды вставляется имя файла и в таком виде команда запускается!

    Можно устанавливать

    • как 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='
  1. На CI сервере скриншот формируется, но вместо изображения чёрный экран. Как настроить сервер CI?

    • Запускать джоб Jenkins в режиме сервиса нельзя. На CI надо настроить автовход под какой либо учётной записью и в автозагрузку надо поместить команду запуска джоба Jenkins.
    • Нельзя использовать для доступа к CI RDP. Вообще. Надо использовать другой софт для удаленного доступа к нему, например TightVNC. RDP полностью гасит видеокарту (виртуальную или настоящую) при отключении.
    • Надо посмотреть схему энерго сбережения в панели управления, там может стоять отключение дисплея через пару минут. Это надо выключить.
  2. Почему у меня не работает тэг @tree

    • Для работы тега @tree надо использовать либо только табы, либо только пробелы. В пределах одной фичи нельзя в отступах строк использовать и пробелы и Табы.
  3. Я подключаюсь по RDP к серверу. И фича выполняется нормально, но если свернуть окно RDP, то возникает ошибка.

    • Это связано с особенностью платформы 1С. Некоторые методы платформы (кнопконажималки) не работают, когда погашена видеокарта (а RDP клиент её гасит, когда вы его сворачиваете). Поэтому не надо использовать RDP для доступа к CI (или другим) серверам, когда вы хотите использовать кнопконажималку.
  4. Я вызвал метод Ванесса.ЗапретитьВыполнениеШагов(), затем я подключаю свой таймер, и мне надо сделать, чтобы шаг упал.

    • в этом случае вместо вызова исключения надо сделать Ванесса.ПродолжитьВыполнениеШагов(Истина)
  5. Как использовать Sikuli-скрипты.

  6. Как получить отчет Allure у себя на компьютере под Windows

    • Надо скачать дистрибутив Allure отсюда
    • Надо прописать в Path каталог где лежит allure.bat
    • Вызвать команду call allure generate {каталог где лежат ваши xml в формате Allure}
    • Вызвать команду call allure report open
  7. Как при возникновении ошибки на CI получить скриншоты всех окон 1С?

    • Пока эта фича работает только под Windows.
    • Надо в json файле, в котором указываются параметры запуска Vanessa-Behavior, указать строку: "СниматьСкриншотКаждогоОкна1С": "Истина"
    • Надо установить на CI сервер java 8 (если у вас Jenkins - то скорее всего она у вас уже есть)
    • Надо установить SikuliX версии 1.1 или выше. Брать отсюда. Там надо скачать sikulixsetup-1.1.1.jar.
    • Надо чтобы файл runsikulix.cmd был прописан в переменной PATH.