Skip to content

Commit

Permalink
Merge branch 'feature/Improve' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Pr-Mex committed Feb 18, 2024
2 parents 8e66e35 + 7b019b2 commit 924336e
Show file tree
Hide file tree
Showing 20 changed files with 706 additions and 209 deletions.
2 changes: 1 addition & 1 deletion VanessaAutomation/Ext/ObjectModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@
КонецФункции

Функция ПолучитьВерсиюОбработки(ДобавлятьНазвание = Истина, ТолькоЦифры = Ложь) Экспорт
Версия = "1.2.041.10";
Версия = "1.2.041.11";

Если ТолькоЦифры Тогда
Возврат Версия;
Expand Down

Large diffs are not rendered by default.

11 changes: 10 additions & 1 deletion docs/Changelog.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
# История версий

## 1.2.041.9
## 1.2.041.11

### Новые возможности

### Новые шаги
* Новые шаги для расширения VAExtension. Программная работа с документами и справочниками. Часть 2 #2048
* Затем я жду, что в сообщениях пользователю будет строка "СтрокаПоШаблону" по шаблону в течение 30 секунд #2086
* И Файла "ИмяФайла" не существует #2095
* И получаю данные текущего элемента формы активного окна UI Automation #2096
* И я вывожу сообщение в менеджер тестирования "ТекстСообщения" #2097
* И поле "Заголовок элемента" не равно переменной "ИмяПеременной" #2098
* И поле с именем "ИмяЭлемента" не равно переменной "ИмяПеременной" #2098
* И я запоминаю значение из тега "ИмяТега" в переменную "ИмяПеременной" #2099


### Разные доработки
* Возможность передать номер первого сценария с которого нужно запустить фича файл. #2055
Expand All @@ -15,6 +22,8 @@
* При вызове ПолучитьСостояниеVanessaAutomation() добавлять данные по тегам сценария. #2087

### Исправление ошибок
* Выполнение тестов зависает при падении шага в попытке #2035
* Некоторые шаги, вызывали неявно ЗапретитьВыполнениШагов(), что приводило к ошибке. #2100

## 1.2.041.1

Expand Down
6 changes: 3 additions & 3 deletions docs/VAExtension/VAExtension.md
Original file line number Diff line number Diff line change
Expand Up @@ -335,14 +335,14 @@
И я отменяю проведение всех документов этого сценария по их навигационным ссылкам (расширение)
```

24. Программное получение состояния объекта (справочника или документа)
## 24. Программное получение состояния объекта (справочника или документа)
Для программного получения состояния объекта (справочника или документа) нужно использовать шаг.
Шаг создаст необходимые переменные: ТипЭлемента(Справочник,Документ),ПометкаУдаления(Истина,Ложь),Проведен(Истина,Ложь),Дата,Номер,Код
```Gherkin
И я получаю состояние объекта по навигационной ссылке "НавСсылка" (расширение)
```

25. Программное сравнение варианта отчета с эталоном
## 25. Программное сравнение варианта отчета с эталоном
Для программного сравнения варианта отчета с эталоном нужно использовать шаги
```Gherkin
И вариант отчета "ИмяОтчета" "ИмяВариантаОтчета" равен макету "ИмяЭталона" (расширение)
Expand All @@ -351,7 +351,7 @@
ИмяОтчета задаётся, как указано имя объекта метаданных в конфигураторе.
ИмяВариантаОтчета задаётся как строка, которую видит пользователь при выборе варианта отчета.

26. Запомнить навигационные ссылки, чтобы потом пометить на удаление объекты по ним
## 26. Запомнить навигационные ссылки, чтобы потом пометить на удаление объекты по ним
Сначала нужно запомнить навигационные ссылки в специальную переменную "LinksToDelete".
Это делается с помощью шагов:
```Gherkin
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
* [Автоматическое тестирование с использованием Vanessa в Yandex.Cloud](https://m.youtube.com/watch?v=vTAVedABBGQ)
* [Виктор Ермаков. Как изменялся механизм формирования текстовых авто-инструкций. Мастер класс по созданию красивой инструкции.](https://youtu.be/ofMvDX6kIBg)
* [Евгений Исаев. Подход к автоматизации тестирования 1С. Remote API for testing (RAT).](https://youtu.be/ugrzirGXq1U)
* [SoftOnIt. Кружок 1С #8 Тестирование 1С, с помощью "vanessa-automation".](https://www.youtube.com/watch?v=NIY9HdO5Xc0&t=261s)
* [SoftOnIt. Кружок 1С #8 Тестирование 1С, с помощью "vanessa-automation".](https://www.youtube.com/watch?v=NIY9HdO5Xc0)

## Курсы
* Бесплатные
Expand Down
11 changes: 10 additions & 1 deletion features/Core/ExpectedSomething/ExpectedForms.feature
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
@NoSyncCodeCoverage
@ServerCodeCoverage

@ТегФичи=ТестовыйТегФичи

@tree


Expand All @@ -28,7 +30,7 @@
Для того чтобы я мог использовать их в своих сценариях без программирования



@ТегСценария=ТестовыйТегСценария
Сценарий: Основной сценарий проверки работы шагов Gherkin из поставляемой библиотеки и проверка генерации шагов.
И я закрыл все окна клиентского приложения
И я закрываю сеанс TESTCLIENT
Expand All @@ -39,6 +41,13 @@

И предыдущий сценарий выполнен успешно

И я запоминаю значение из тега "ТегФичи" в переменную "ИмяПеременнойТегФичи"
Тогда переменная "ИмяПеременнойТегФичи" имеет значение "ТестовыйТегФичи"

И я запоминаю значение из тега "ТегСценария" в переменную "ИмяПеременнойТегСценария"
Тогда переменная "ИмяПеременнойТегСценария" имеет значение "ТестовыйТегСценария"


И я получаю данные файла "vanessa-automation*.epf" в каталоге '$КаталогИнструментов$'
И я получаю данные файла "vanessa-automation*.epf" в каталоге '$КаталогИнструментов$' и подкаталогах

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# language: ru
# encoding: utf-8
#parent uf:
@UF11_Прочее
#parent ua:
@UA44_Прочая_активность_по_проверке

@IgnoreOn82Builds
@IgnoreOnOFBuilds
@IgnoreOnWeb
@tree

Функционал: Проверка подключения с параметрами один на информационную базу



Сценарий: Проверка подключения с параметрами один на информационную базу
Дано Я закрыл все окна клиентского приложения
И я закрываю сеанс TESTCLIENT
Когда я запускаю служебный сеанс TestClient с ключом TestManager в той же базе

Когда Я открываю VanessaAutomation в режиме TestClient со стандартной библиотекой

И я перехожу к закладке с именем "ГруппаКаталогиБиблиотек"
Если поле с именем "ВерсияПоставки" имеет значение "standart" тогда
И В открытой форме я нажимаю на кнопку с именем "КаталогиБиблиотекДобавить"
И я добавляю в библиотеки строку с стандартной библиотекой "Libraries"

Когда В поле с именем "КаталогФичСлужебный" я указываю путь к служебной фиче "TestClient/TestClient05"

И Я нажимаю на кнопку перезагрузить сценарии в Vanessa-Automation TestClient
И Я нажимаю на кнопку выполнить сценарии в Vanessa-Automation TestClient

И я нажимаю на кнопку с именем 'ФормаРазвернутьВсеСтрокиДереваСлужебный'
Тогда таблица 'ДеревоТестов' стала равной:
| "Статус" | "Снипет" |
| "" | "" |
| "" | "" |
| "" | "" |
| "Success" | "ЯЗапоминаюЗначениеВыраженияВПеременную(Парам01,Парам02)" |
| "Success" | "" |
| "Success" | "ЯСнимаюФлагНастройкиVanessaAutomation(Парам01)" |
| "Success" | "ЯПодключаюКлиентТестированияСПараметрамиОдинНаИнформационнуюБазу(ТабПарам)" |
| "" | "" |
| "" | "" |
| "Success" | "ЯПодключаюКлиентТестированияСПараметрамиОдинНаИнформационнуюБазу(ТабПарам)" |
| "" | "" |
| "" | "" |
| "Success" | "" |
| "Success" | "ЯУстанавливаюФлагНастройкиVanessaAutomation(Парам01)" |
| "Success" | "ЯПодключаюКлиентТестированияСПараметрамиОдинНаИнформационнуюБазу(ТабПарам)" |
| "" | "" |
| "" | "" |
| "Success" | "ЯПодключаюКлиентТестированияСПараметрамиОдинНаИнформационнуюБазу(ТабПарам)" |
| "" | "" |
| "" | "" |
| "Success" | "ЯЗакрылВсеОкнаКлиентскогоПриложения()" |
| "Success" | "ЯЗакрываюСеансТекущегоКлиентаТестирования()" |


И я перехожу к закладке с именем "ГруппаСлужебная"
И В поле с именем "КаталогФичСлужебный" я указываю путь к служебной фиче "ЗакрытьПодключенныйTestClient/ЗакрытьПодключенныйTestClient"

И Я нажимаю на кнопку перезагрузить сценарии в Vanessa-Automation TestClient
И Я нажимаю на кнопку выполнить сценарии в Vanessa-Automation TestClient


Сценарий: Активизация основного клиента
И я закрываю TestClient "TM"
И в таблице клиентов тестирования я активизирую строку 'Этот клиент'

Original file line number Diff line number Diff line change
Expand Up @@ -329,7 +329,7 @@
ВызватьИсключение ТекстСообщения;
КонецЕсли;

ЗакрытьВсеСеансыИнформационнойБазы(ДанныеЗапускаКлиентаТестирования.Имя, ДанныеЗапускаКлиентаТестирования.ПутьКИнфобазе);
ЗакрытьВсеСеансыИнформационнойБазы(ДанныеЗапускаКлиентаТестирования.Имя, ДанныеЗапускаКлиентаТестирования.ПутьКИнфобазе, Ложь);

ЯПодключаюКлиентТестированияИзТаблицыКлиентовТестированияОсновной(ИмяКлиентаТестирования);

Expand Down Expand Up @@ -763,7 +763,7 @@
КонецЕсли;

Попытка
Ванесса.Шаг("И Я закрыл все окна клиентского приложения");
Ванесса.ЗакрытьОкнаКлиентскогоПриложения();
Исключение
Сообщить(Ванесса.ПолучитьТекстСообщенияПользователю("Ошибка при закрытии всех окон Testclient."));
Сообщить(ОписаниеОшибки());
Expand Down Expand Up @@ -1164,7 +1164,7 @@
Если НадоЗакрытьОкнаКлиентаТестирования Тогда
//Внутри "И Я закрываю все окна клиентского приложения" уже есть асинхронный разрыв.
НадоЗакрытьОкнаКлиентаТестирования = Ложь;
Ванесса.Шаг("И Я закрываю все окна клиентского приложения");
Ванесса.ЗакрытьОкнаКлиентскогоПриложения();
Иначе
Ванесса.ЗапретитьВыполнениеШагов();
ПодключитьОбработчикОжидания("ОбработчикЯОткрылСеансTestClientОтИмениСПаролемИлиПодключаюУжеСуществующий",0.1,Истина);
Expand Down Expand Up @@ -1217,7 +1217,7 @@
КонецФункции

&НаКлиенте
Функция ЗакрытьВсеСеансыИнформационнойБазы(ИмяПрофиля, ПутьКИнфобазе)
Функция ЗакрытьВсеСеансыИнформационнойБазы(ИмяПрофиля, ПутьКИнфобазе, НадоАктивизироватьОкно = Истина)

ДанныеКлиентовТестирования = Ванесса.ДанныеКлиентовТестирования;
Для Каждого СтрокаДанныеКлиентовТестирования Из ДанныеКлиентовТестирования Цикл
Expand All @@ -1227,10 +1227,10 @@
ИмяTestClient = СтрокаДанныеКлиентовТестирования.Имя;
СвойстваTestClient = ПолучитьСвойстваПодключенногоTestClient(ИмяTestClient);
Если СвойстваTestClient <> Неопределено Тогда
ЯАктивизируюTestClient(ИмяTestClient);
ЯАктивизируюTestClient(ИмяTestClient, НадоАктивизироватьОкно);

Попытка
Ванесса.Шаг("И Я закрыл все окна клиентского приложения");
Ванесса.ЗакрытьОкнаКлиентскогоПриложения();
Исключение
Сообщить(Ванесса.ПолучитьТекстСообщенияПользователю("Ошибка при закрытии всех окон Testclient."));
Сообщить(ОписаниеОшибки());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,14 @@
"",
"");

Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,
"ПолучаюДанныеТекущегоЭлементаФормыАктивногоОкнаUIAutomation()",
"ПолучаюДанныеТекущегоЭлементаФормыАктивногоОкнаUIAutomation",
"И получаю данные текущего элемента формы активного окна UI Automation",
"Получает данные текущего элемента формы текщего окна windows с помощью механизма UI Automation.
|Создает переменные, если есть соответствующие свойства у активного элемента: uia_id,uia_Type,uia_name,uia_value,uia_HelpText",
"Прочее.UI Automation.Получение данных активного элемента формы");

Возврат ВсеТесты;

КонецФункции
Expand Down Expand Up @@ -2774,6 +2782,46 @@
КонецФункции


&НаКлиенте
//И получаю данные текущего элемента формы активного окна UI Automation
//@ПолучаюДанныеТекущегоЭлементаФормыАктивногоОкнаUIAutomation()
Функция ПолучаюДанныеТекущегоЭлементаФормыАктивногоОкнаUIAutomation() Экспорт
ОписаниеОповещения = Новый ОписаниеОповещения("ПолученАктивныйЭлемент", ЭтаФорма);
Ванесса.ВнешняяКомпонентаДляСкриншотов.НачатьПолучениеАктивныйЭлемент(ОписаниеОповещения);
Ванесса.ЗапретитьВыполнениеШагов();
КонецФункции

&НаКлиенте
Процедура ПолученАктивныйЭлемент(РезультатВызова, ДополнительныеПараметры) Экспорт

ДанныеJSON = Ванесса.ПрочитатьСтрокуJSON(РезультатВызова);
Если ТипЗнч(ДанныеJSON) = Тип("Структура") Тогда
Если ДанныеJSON.Свойство("Id") Тогда
Ванесса.СохранитьЗначениеПеременнойВКонтекст("uia_id", ДанныеJSON.Id);
КонецЕсли;

Если ДанныеJSON.Свойство("Type") Тогда
Ванесса.СохранитьЗначениеПеременнойВКонтекст("uia_Type", ДанныеJSON.Type);
КонецЕсли;

Если ДанныеJSON.Свойство("name") Тогда
Ванесса.СохранитьЗначениеПеременнойВКонтекст("uia_name", ДанныеJSON.name);
КонецЕсли;

Если ДанныеJSON.Свойство("value") Тогда
Ванесса.СохранитьЗначениеПеременнойВКонтекст("uia_value", ДанныеJSON.value);
КонецЕсли;

Если ДанныеJSON.Свойство("HelpText") Тогда
Ванесса.СохранитьЗначениеПеременнойВКонтекст("uia_HelpText", ДанныеJSON.HelpText);
КонецЕсли;
КонецЕсли;

Ванесса.ПродолжитьВыполнениеШагов();

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


//ВремСтруктура = Новый Структура;
//ВремСтруктура.Вставить("ProcessId", ИдентификаторПроцесса);
//ВремСтруктура.Вставить("Parent", ИдентификаторРодителя);
Expand Down
Loading

0 comments on commit 924336e

Please sign in to comment.