Skip to content

Commit

Permalink
Merge pull request #269 from silverbulleters/feature/async-tdd-5
Browse files Browse the repository at this point in the history
Поддержка асинхронного режима работы 1С
  • Loading branch information
artbear authored Aug 4, 2018
2 parents d297397 + 9b77799 commit a3c0993
Show file tree
Hide file tree
Showing 327 changed files with 49,118 additions and 96 deletions.
40 changes: 26 additions & 14 deletions F.A.Q.MD
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
1. Появляется ошибка, в которой есть текст: "Неизвестный идентификатор формы". Это означает, что есть два или более epf файла, у которых совпадает поле **Имя** (это которое находится около Синонима и Комментария).

1. При открытии внешних обработок могут появляться окна с предупреждениями безопасности.
* Если вы используете версию платформы 8.3.9.2033 или новее, тогда может появиться окно **Предупреждение безопасности**.
* Если вы используете версию платформы 8.3.9.2033 или новее, тогда может появиться окно **Предупреждение безопасности**.
* Подробно этот механизм описан [здесь](http://its.1c.ru/db/v838doc#bookmark:dev:TI000001871).
* Решение описано по [ссылке](https://github.com/xDrivenDevelopment/precommit1c#%D0%94%D0%BB%D1%8F-%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%82%D0%BD%D0%BE%D0%B9-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BD%D0%B0-1%D0%A1-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8-8392016-%D0%B8-%D1%81%D1%82%D0%B0%D1%80%D1%88%D0%B5)
* Кратко - Если хотите выключить этот механизм для всех баз - пропишите в файле conf.cfg строку: **DisableUnsafeActionProtection=.***

1. При пакетном запуске не загружаются и не выполняются фичи, открывается только форма `bddRunner`

* У Вас неверный/устаревший/ json-файл настроек, несовместимый формат со штатным json, например, что читает 1С :frowning:
* например:
* одинарный слеш `\` не разрешен - используйте или `\\` или `/`
* или одинарные кавычки \` или ’ не разрешены - используйте `\"`
* Пример правильной настройки
* Пример правильной настройки

```json
"КомандаСделатьСкриншот": "\"C:\\Program Files (x86)\\IrfanView\\i_view32.exe\" /capture=1 /convert=",
Expand All @@ -23,8 +23,8 @@
* Разбор проблемы в https://xdd.silverbulleters.org/t/pri-paketnom-zapuske-ne-zagruzhayutsya-i-ne-vypolnyayutsya-fichi-otkryvaetsya-tolko-bddrunner/2132

4. Как поставить точку останова (брейкпоинт) во внешней обработке для отладки?
* Используйте штатный механизм отладки 1С, если у вас
* файловая база
* Используйте штатный механизм отладки 1С, если у вас
* файловая база
* или клиент 1С и сервер 1С находятся на одной машине.
* Если это не так, тогда более сложный путь:
* Надо закрыть сеанс TestManager.
Expand Down Expand Up @@ -56,10 +56,10 @@
- Используйте организацию файлов через рабочий каталог проекта (**рекомендуемый путь**)
- В BDD – `Ванесса.Объект.КаталогПроекта`
- В TDD - `КонтекстЯдра.Объект.КаталогПроекта`
- эта настройка задается
- эта настройка задается
- либо через командную строку (например, через `vanessa-runner`)
- либо интерактивно, через форму настроек (`Сервис`)
-
-
- В TDD можно использовать получить полный путь к текущему файлу теста
– в тесте нужно определить свойство «ПутьКФайлуПолный»
- это или Глобальная публичная переменная модуля
Expand All @@ -72,11 +72,11 @@
7. Как пропустить сценарий, чтобы он не падал?
* Можно его закоментировать в тексте фичи (символ #)
* Можно поставить сценарию тег - и использовать теги фильтры
* Да пусть падает - тем более если он не реализован - то он будет желтым, а если реализован - тогда почему он падает?
* Да пусть падает - тем более если он не реализован - то он будет желтым, а если реализован - тогда почему он падает?

2. Как запустить фичу из поставки VB у себя в базе?
* Большинство фич, которые идут в поставке VB, требуют, чтобы их запускали в специальной служебной базе.
* Надо собрать служебную базу. Для этого надо загрузить CF из (**.\vanessa-behavoir\lib\CF\83**)
* Надо собрать служебную базу. Для этого надо загрузить CF из (**.\vanessa-behavoir\lib\CF\83**)
* Надо руками в базе установить константу **Путь к Vanessa Behavior** - это полный путь к обработке **vanessa-behavior.epf** включая имя файла
* Надо открыть в базе VB
* Надо указать тег исключение **IgnoreOnCIMainBuild** (список исключаемых тегов)
Expand Down Expand Up @@ -107,7 +107,7 @@
+ поле `Консольная команда создания скриншотов`
+ после строки команды вставляется имя файла и в таком виде команда запускается!

Можно устанавливать
Можно устанавливать
+ как `NirCMD`
+ http://www.nirsoft.net/utils/nircmd.zip
+ команда `nircmd savescreenshot `
Expand Down Expand Up @@ -154,15 +154,15 @@
1. Я вызвал метод Ванесса.ЗапретитьВыполнениеШагов(), затем я подключаю свой таймер, и мне надо сделать, чтобы шаг упал.
* в этом случае вместо вызова исключения надо сделать Ванесса.ПродолжитьВыполнениеШагов(Истина)

1. Как использовать Sikuli-скрипты.
1. Как использовать 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Скрипт().

1. Как получить отчет Allure у себя на компьютере под Windows
* Надо скачать дистрибутив Allure [отсюда](https://github.com/allure-framework/allure1/releases)
* Надо скачать дистрибутив Allure [отсюда](https://github.com/allure-framework/allure1/releases)
* Надо прописать в Path каталог где лежит allure.bat
* Для использования через командную строку можно использовать строки ниже
* Вызвать команду **call allure generate {каталог где лежат ваши xml в формате Allure}**
Expand All @@ -181,7 +181,19 @@
1. Как для УФ (управляемой формы) и ОФ (обычной формы) шаги сделать общими?

* Разместить код шага в модуле объекта обработки,
* В коде управляемой формы в клиентском методе шага нужно вызвать серверный метод,
* в котором выполнить `ОбъектНаСервере = ЗначениеФормыВОбъект("Объект")`
* В коде управляемой формы в клиентском методе шага нужно вызвать серверный метод,
* в котором выполнить `ОбъектНаСервере = ЗначениеФормыВОбъект("Объект")`
* и вызвать код из модуля обработки `ОбъектНаСервере.НужныйМетод(...)`
* Сигнатуры методов в УФ и ОФ должны совпадать соответственно

1. Что нужно сделать, чтобы увидеть собственные шаги в форме `Известные шаги` ?

* В строке описания шага нужно заполнить последние параметры (4 и 5 параметры) в процедуре ДобавитьШагВМассивТестов. Там как раз задается развернутое описание шага и место в дереве.
* Место в группе можно задавать с учетом иерархии.
* Указание группы как `UI.Формы.Кнопки.Мой шаг` расположит шаг в иерархии дерева `UI` - `Формы` - `Кнопки`
* Например,

```bsl
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты, "Пауза(Парам01)","Пауза", "И Пауза 1",
"Позволяет сделать паузу нужной длительности.", "Прочее.Сделать паузу");
```
34 changes: 34 additions & 0 deletions epf/xddTestRunner/xddTestRunner.xml
Original file line number Diff line number Diff line change
Expand Up @@ -676,6 +676,40 @@
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<Attribute uuid="37362c5d-658e-4c77-bc12-f54e996b5679">
<Properties>
<Name>ПлагиныЗагружены</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Плагины загружены</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<Form>Форма</Form>
<Form>УправляемаяФорма</Form>
</ChildObjects>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -483,6 +483,28 @@
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ЕстьПоддержкаАсинхронныхВызовов" id="19">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Есть поддержка асинхронных вызовов</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ЕстьЗащитаОтОпасныхДействий" id="20">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Есть защита от опасных действий</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="КомандаВыполнитьВсеТесты" id="3">
Expand Down
Loading

0 comments on commit a3c0993

Please sign in to comment.