Skip to content

Commit

Permalink
Merge branch 'develop' into feature/tools-folder-inside-build-198
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Jul 5, 2018
2 parents cdf337e + 09b5ff8 commit 9b34686
Show file tree
Hide file tree
Showing 9 changed files with 118 additions and 40 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,5 @@ allure-report/
.vagrant
*.log
tools/JSON/env.json.file
opm-metadata.xml
lib.config
9 changes: 9 additions & 0 deletions F.A.Q.MD
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,12 @@
* Надо установить на CI сервер java 8 (если у вас Jenkins - то скорее всего она у вас уже есть)
* Надо установить SikuliX версии 1.1 или выше. Брать [отсюда](https://launchpad.net/sikuli/sikulix/1.1.1). Там надо скачать sikulixsetup-1.1.1.jar.
* Надо чтобы файл runsikulix.cmd был прописан в переменной PATH.

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

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

* Разбор проблемы в https://xdd.silverbulleters.org/t/pri-paketnom-zapuske-ne-zagruzhayutsya-i-ne-vypolnyayutsya-fichi-otkryvaetsya-tolko-bddrunner/2132
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@

КонецПроцедуры

Функция ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(Версия1,Версия2)
Функция ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(Знач Версия1, Знач Версия2) Экспорт
Массив1 = РазложитьСтрокуВМассивПодстрок(Версия1,".");
Массив2 = РазложитьСтрокуВМассивПодстрок(Версия2,".");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -312,9 +312,12 @@
ОбъектПлагин.Инициализация(ЭтаФорма);
Исключение
Инфо = ИнформацияОбОшибке();
Если Инфо.Описание = "Метод объекта не обнаружен (Инициализация)" И
Если (Инфо.Описание = "Метод объекта не обнаружен (Инициализация)" Или
Найти(Инфо.Описание, "Object method not found (Инициализация)") > 0) И
Найти(Инфо.ИсходнаяСтрока, "ОбъектПлагин.Инициализация(ЭтаФорма);") > 0 И
Найти(Инфо.ИмяМодуля, "Форма.УправляемаяФорма.Форма") > 0
( Найти(Инфо.ИмяМодуля, "Форма.УправляемаяФорма.Форма") > 0 Или
//ExternalDataProcessor.xddTestRunner.Form.УправляемаяФорма.Form
Найти(Инфо.ИмяМодуля, "Form.УправляемаяФорма.Form") > 0 )
Тогда
Иначе
ВызватьИсключение;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1127,7 +1127,9 @@
ключЗначениеЗначение = Неопределено;
Если Значение <> Неопределено Тогда
Если ТипЗнч(ключЗначение.Значение) = Тип("Булево") Тогда
Если НРег(Значение) = "истина" Тогда
Если ТипЗнч(Значение) = Тип("Булево") Тогда
ключЗначениеЗначение = Значение;
ИначеЕсли НРег(Значение) = "истина" Тогда
ключЗначениеЗначение = Истина;
ИначеЕсли НРег(Значение) = "ложь" Тогда
ключЗначениеЗначение = Ложь;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
КонецПопытки;

ИмяОбработки = СтрЗаменить("" + Обработка, "ВнешняяОбработкаОбъект.", "");
ИмяОбработки = СтрЗаменить("" + ИмяОбработки, "ExternalDataProcessorObject.", "");

Возврат Обработка;

Expand Down Expand Up @@ -168,7 +169,8 @@
"Метод ПолучитьСписокТестов сейчас не принимает параметров";
КонецЕсли;

Если Найти(Описание, "Метод объекта не обнаружен (ПолучитьСписокТестов)") = 0 Тогда
Если Найти(Описание, "Метод объекта не обнаружен (ПолучитьСписокТестов)") = 0 И
Найти(Описание, "Object method not found (ПолучитьСписокТестов)") = 0 Тогда
ВызватьИсключение Описание;
КонецЕсли;
КонецПопытки;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,21 @@

ЭтоФайлОтчета = (НРег(ФайлОбработки.Расширение) = ".erf");

Если ЭтоФайлОтчета Тогда
ФормаОбработки = ПолучитьФорму("ВнешнийОтчет." + ИмяОбработки + ".Форма");
ЭтоАнглийский = ВключенаАнглийскаяЛокализация(); //Найти(ИмяОбработки, "DataProcessorObject") > 0;
//ИмяОбработки "ExternalDataProcessorObject.Тесты_ПарсерКоманднойСтроки" String

Если Не ЭтоАнглийский Тогда
Если ЭтоФайлОтчета Тогда
ФормаОбработки = ПолучитьФорму("ВнешнийОтчет." + ИмяОбработки + ".Форма");
Иначе
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");
КонецЕсли;
Иначе
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма");
Если ЭтоФайлОтчета Тогда
ФормаОбработки = ПолучитьФорму("ExternalReport." + ИмяОбработки + ".Форма");
Иначе
ФормаОбработки = ПолучитьФорму("ExternalDataProcessor." + ИмяОбработки + ".Форма");
КонецЕсли;
КонецЕсли;

Попытка
Expand All @@ -168,7 +179,8 @@
Исключение
Инфо = ИнформацияОбОшибке();
Если Инфо.ИмяМодуля = "ВнешняяОбработка.ЗагрузчикФайла.Форма.Форма.Форма" И
Инфо.Описание = "Слишком много фактических параметров" И
(Инфо.Описание = "Слишком много фактических параметров" Или
Инфо.Описание = "Too many actual parameters") И
Найти(Инфо.ИсходнаяСтрока, "ФормаОбработки.ЗаполнитьНаборТестов(ЭтаФорма, КонтекстЯдра);") > 0
Тогда

Expand Down Expand Up @@ -403,12 +415,18 @@
// При передаче на сервер клиентский контекст теряется.
КонтекстЯдра = Неопределено;
МетаданныеЯдра = Метаданные.НайтиПоПолномуИмени(ПолноеИмяБраузераТестов);
//ЭтоАнглийский = ВключенаАнглийскаяЛокализация();

Если НЕ МетаданныеЯдра = Неопределено
И Метаданные.Обработки.Содержит(МетаданныеЯдра) Тогда

ИмяОбработкиКонекстаЯдра = СтрЗаменить(ПолноеИмяБраузераТестов, "Обработка", "Обработки");
ИмяОбработкиКонекстаЯдра = СтрЗаменить(ИмяОбработкиКонекстаЯдра, "DataProcessor", "DataProcessors");
Выполнить("КонтекстЯдра = " + ИмяОбработкиКонекстаЯдра + ".Создать()");

Иначе
ИмяОбработкиКонекстаЯдра = СтрЗаменить(ПолноеИмяБраузераТестов, "ВнешняяОбработка", "ВнешниеОбработки");
ИмяОбработкиКонекстаЯдра = СтрЗаменить(ИмяОбработкиКонекстаЯдра, "ExternalDataProcessor", "ExternalDataProcessors");
ИмяОбработкиКонекстаЯдра = СтрЗаменить(ИмяОбработкиКонекстаЯдра, ".", Символы.ПС);
МенеджерОбъектов = СтрПолучитьСтроку(ИмяОбработкиКонекстаЯдра, 1);
ИмяОбъекта = СтрПолучитьСтроку(ИмяОбработкиКонекстаЯдра, 2);
Expand Down Expand Up @@ -461,4 +479,16 @@
ЗаписьЖурналаРегистрации(Событие, Уровень, , , ОписаниеОшибки);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ВключенаАнглийскаяЛокализация()
ВариантВстроенногоЯзыкаАнглийский = Ложь;
Если Metadata.ScriptVariant = Metadata.ObjectProperties.ScriptVariant.English Или
ТекущийЯзыкСистемы() = "en" Тогда

ВариантВстроенногоЯзыкаАнглийский = Истина;
КонецЕсли;

Возврат ВариантВстроенногоЯзыкаАнглийский;
КонецФункции

// } Вспомогательные методы
Original file line number Diff line number Diff line change
Expand Up @@ -792,48 +792,55 @@
КонецЕсли;
СоздатьИменаОсновныхФорм_Объекты();
СоздатьИменаОсновныхФормСписка();
Для каждого эл Из мИменаОсновныхФорм_Объекты Цикл
мИменаОсновныхФорм.Добавить(эл);
КонецЦикла;
Для каждого эл Из мИменаОсновныхФорм_Списки Цикл
мИменаОсновныхФорм.Добавить(эл);
КонецЦикла;
Если мИменаОсновныхФорм.Количество() = 0 Тогда
Для каждого эл Из мИменаОсновныхФорм_Объекты Цикл
мИменаОсновныхФорм.Добавить(эл);
КонецЦикла;
Для каждого эл Из мИменаОсновныхФорм_Списки Цикл
мИменаОсновныхФорм.Добавить(эл);
КонецЦикла;
КонецЕсли;
КонецПроцедуры

Процедура СоздатьИменаОсновныхФорм_Объекты()
Если Не ЗначениеЗаполнено(мИменаОсновныхФорм_Объекты) Тогда
мИменаОсновныхФорм_Объекты = Новый Массив();
КонецЕсли;
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФорма");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаОбъекта");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаГруппы");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗаписи");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаНастроек");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаСохранения");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗагрузки");

мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФорма");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаОбъекта");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаГруппы");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаЗаписи");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаНастроек");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаСохранения");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаЗагрузки");
Если мИменаОсновныхФорм_Объекты.Количество() = 0 Тогда
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФорма");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаОбъекта");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаГруппы");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗаписи");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаНастроек");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаСохранения");
мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗагрузки");

мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФорма");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаОбъекта");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаГруппы");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаЗаписи");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаНастроек");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаСохранения");
мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаЗагрузки");
КонецЕсли;
КонецПроцедуры

Процедура СоздатьИменаОсновныхФормСписка()
Если Не ЗначениеЗаполнено(мИменаОсновныхФорм_Списки) Тогда
мИменаОсновныхФорм_Списки = Новый Массив();
КонецЕсли;
мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаСписка");
мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбора");
мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбораГруппы");
мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаКонстант");

мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаСписка");
мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбора");
мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбораГруппы");
мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаКонстант");

Если мИменаОсновныхФорм_Списки.Количество() = 0 Тогда
мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаСписка");
мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбора");
мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбораГруппы");
мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаКонстант");

мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаСписка");
мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбора");
мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбораГруппы");
мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаКонстант");
КонецЕсли;
КонецПроцедуры

Функция СоздатьФорму_ПолучениеФорм()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -708,7 +708,18 @@

&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьВидМетаданного(Мета_ПолноеИмя)
ИД = Лев(Мета_ПолноеИмя, Найти(Мета_ПолноеИмя, ".Форма.")-1);
//Если ВключенаАнглийскаяЛокализация() Тогда
// СтрокаФорма = ".Form.";
//Иначе
// СтрокаФорма = ".Форма.";
//КонецЕсли;

Поз = Найти(Мета_ПолноеИмя, ".Форма.");
Если Поз = 0 Тогда
Поз = Найти(Мета_ПолноеИмя, ".Form.");
КонецЕсли;
ИД = Лев(Мета_ПолноеИмя, Поз - 1);
//TODO локализация Английская - Мета_ПолноеИмя "Catalog.ПростойСправочник.Form.УпрФормаЭлемента" String;
ИД = Сред(ИД, Найти(ИД, ".") + 1);
Возврат ИД;
КонецФункции
Expand All @@ -728,4 +739,16 @@
КонтекстЯдра.Отладка(Сообщение);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ВключенаАнглийскаяЛокализация()
ВариантВстроенногоЯзыкаАнглийский = Ложь;
Если Metadata.ScriptVariant = Metadata.ObjectProperties.ScriptVariant.English Или
ТекущийЯзыкСистемы() = "en" Тогда

ВариантВстроенногоЯзыкаАнглийский = Истина;
КонецЕсли;

Возврат ВариантВстроенногоЯзыкаАнглийский;
КонецФункции

//}

0 comments on commit 9b34686

Please sign in to comment.