From 0ab8948788ffb52927178b64fdb83e2a63302d0b Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:13:08 +0300 Subject: [PATCH 01/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VanessaAutomation.xml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/VanessaAutomation.xml b/VanessaAutomation.xml index f3316d8346..05399e7d65 100644 --- a/VanessaAutomation.xml +++ b/VanessaAutomation.xml @@ -13591,6 +13591,44 @@ Default: ffmpeg Auto + + + ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове + + + ru + Отключать для полей возможность затирания текста при серверном вызове + + + en + Disable the ability for fields to overwrite text during a server call + + + + + xs:boolean + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
УправляемаяФорма
ВыборИзвестногоШага
From 0627454121abf127f86f0605500d83d317c96577 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:13:26 +0300 Subject: [PATCH 02/23] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/index.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/index.md b/docs/index.md index c0dd26e26c..559471f592 100644 --- a/docs/index.md +++ b/docs/index.md @@ -9,7 +9,7 @@ ## BDD for 1С:Enterprise * Текущий **мажорный** релиз [1.2.041.1](https://github.com/Pr-Mex/vanessa-automation/releases/tag/1.2.041.1) -* Текущий **минорный** релиз [1.2.041.1](https://github.com/Pr-Mex/vanessa-automation/releases/tag/1.2.041.1) +* Текущий **минорный** релиз [1.2.041.1](https://github.com/Pr-Mex/vanessa-automation/releases/tag/1.2.041.30) * Разработка ведется в ветке [Develop](https://github.com/Pr-Mex/vanessa-automation/tree/develop). * [Обсудить Ванессу](https://t.me/testspro1c) в телеграм группе, и обсудить всё, что связано с тестированием в 1С. * [Подписаться на новости о проекте](https://t.me/VanessaAutomation) в телеграм канале. @@ -60,6 +60,7 @@ * [Виктор Ермаков. Как изменялся механизм формирования текстовых авто-инструкций. Мастер класс по созданию красивой инструкции.](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) +* [Митап «Запускаем дымовые тесты с помощью Vanessa-Automation»](https://youtu.be/FQLX8TlpGvo) * [Андрей Хашкин. Опыт применения Vanessa-Automation и других инструментов для обучения и тестирования](https://www.youtube.com/watch?v=v3FKzo86c8A) ## Курсы @@ -70,6 +71,7 @@ - [Сценарное тестирование в 1С: настройка и практика использования](https://xn----1-bedvffifm4g.xn--p1ai/courses/1c-testing-qa-2022/) - [Тестирование в 1С - от простого к сложному](https://silverbulleters.org/courses-bbd) - [Автоматизированное тестирование в 1С. Онлайн-курс](https://infostart.ru/va-course) + - [Тестирование в 1С и создание документации (c использованием Vanessa-Automation)](https://uc1.1c.ru/course/testirovanie-v-1s-i-sozdanie-dokumentatsii-c-ispolzovaniem-vanessa-automation) ## Как стать контрибьютором (предложить свои доработки) проекта? * Об этом рассказано [в этой статье](https://infostart.ru/public/1092009/) @@ -222,11 +224,12 @@ Feature файлы могут писать все участники коман * **СписокТеговОтбор** - массив текстовых тэгов для запуска проверки поведения по сценариям, содержащим любой из указанных тэгов * и другие -[Подробно про запуск Vanessa Automation из командной строки](https://github.com/Pr-Mex/vanessa-automation/blob/develop/docs/CommandSetting/CommandSetting.md) -[Примеры JSON файлов](https://github.com/Pr-Mex/vanessa-automation/tree/develop/tools/JSON) -[Описание всех параметров VAParams.json (ru)](https://github.com/Pr-Mex/vanessa-automation/blob/develop/docs/JsonParams/JsonParamsRU.md) -[Описание всех параметров VAParams.json (en)](https://github.com/Pr-Mex/vanessa-automation/blob/develop/docs/JsonParams/JsonParamsEN.md) -[Параметры, которые раньше можно было передавать только в командной строке, но теперь можно передавать в файле VAParams.json](https://github.com/Pr-Mex/vanessa-automation/blob/develop/docs/CommandSetting/CommandSetting.md) +Ссылки +* [Подробно про запуск Vanessa Automation из командной строки](https://github.com/Pr-Mex/vanessa-automation/blob/develop/docs/CommandSetting/CommandSetting.md) +* [Примеры JSON файлов](https://github.com/Pr-Mex/vanessa-automation/tree/develop/tools/JSON) +* [Описание всех параметров VAParams.json (ru)](https://github.com/Pr-Mex/vanessa-automation/blob/develop/docs/JsonParams/JsonParamsRU.md) +* [Описание всех параметров VAParams.json (en)](https://github.com/Pr-Mex/vanessa-automation/blob/develop/docs/JsonParams/JsonParamsEN.md) +* [Параметры, которые раньше можно было передавать только в командной строке, но теперь можно передавать в файле VAParams.json](https://github.com/Pr-Mex/vanessa-automation/blob/develop/docs/CommandSetting/CommandSetting.md) Профиль запуска предназначен для простого консольного запуска, пример подобной командной строки выглядит так: From ae03daccae671168108f7ab90bd115de3eddf915 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:13:50 +0300 Subject: [PATCH 03/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/JsonParams/JsonParamsRU.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/JsonParams/JsonParamsRU.md b/docs/JsonParams/JsonParamsRU.md index 3159793374..94b47b05f3 100644 --- a/docs/JsonParams/JsonParamsRU.md +++ b/docs/JsonParams/JsonParamsRU.md @@ -266,6 +266,15 @@ * **КоличествоПопытокВыполненияСценария {NumberOfAttemptsToExecuteTheScript}**: Если в настройке указано значение более одного, тогда если сценарий не был выполнен успешно, будет выполнено ещё несколько попыток выполнения сценария. + * **ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове {DisableForFieldsAbilityToOverwriteTextWhenServerCall}**: + Существует проблема, что при синхронизации состояния формы после завершения серверного вызова, может затираться текст, который в данный момент редактирует пользователь. + В тестах это может проявляться так, что тест ввёл значение в поле, но до того как он начал работать с другим полем данное значение было возвращено в предыдущее состояние. + Данная опция включает механизм, когда свойство "ОбновлениеТекстаРедактирования" у полей формы, будет изменяться после вызова шага + ```Gherkin + Тогда открылось окно "ИмяОкна" + ``` + Для работы опции в базе клиента тестирования должно быть установлено расширение VAExtension. + * **КоличествоПопытокВыполненияДействия {numberofattemptstoperformanaction}**: Устанавливает количество попыток выполнения действий для многих шагов. Увеличение значения параметра может повысить стабильность выполнения сценариев на медленном железе. From de80cbdb69823e24bceb10ab44a614c30c104491 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:13:57 +0300 Subject: [PATCH 04/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/VAExtension/VAExtension.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/VAExtension/VAExtension.md b/docs/VAExtension/VAExtension.md index faadac4ea8..45728d5146 100644 --- a/docs/VAExtension/VAExtension.md +++ b/docs/VAExtension/VAExtension.md @@ -37,6 +37,7 @@ 28. Как узнать какие расширения установлены в клиент тестирования 29. Открытие текстового файла как будто это сделал пользователь. 30. Открытие табличного документа как будто это сделал пользователь. +31. Отключение отката текста введенного в поле во время теста. ## 1. Открытие окна "Функции технического специалиста" (Все функции). Нужно использовать шаг @@ -396,3 +397,11 @@ И я открываю табличный документ "ИмяФайла" (расширение) ``` Шаг открывает в клиенте тестирования табличный документ как будто пользователь нажал на ctrl+O и открыл файл. + +## 31. Отключение отката текста введенного в поле во время теста. +```Gherkin + И я отключаю обновление текста редактирования полей в текущем окне (расширение) +``` +Существует проблема, что при синхронизации состояния формы после завершения серверного вызова, может затираться текст, который в данный момент редактирует пользователь. +В тестах это может проявляться так, что тест ввёл значение в поле, но до того как он начал работать с другим полем данное значение было возвращено в предыдущее состояние. +Данный шаг меняет свойство "ОбновлениеТекстаРедактирования" у полей формы, чтобы избежать этого эффекта. From 37e9bb1896c0d293444198da0de35d6d289d0d54 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:14:13 +0300 Subject: [PATCH 05/23] #2251 --- features/Core/ExpectedSomething/ExpectedForms.feature | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/features/Core/ExpectedSomething/ExpectedForms.feature b/features/Core/ExpectedSomething/ExpectedForms.feature index 97d2255d7a..61aeb1bee0 100644 --- a/features/Core/ExpectedSomething/ExpectedForms.feature +++ b/features/Core/ExpectedSomething/ExpectedForms.feature @@ -41,6 +41,11 @@ И предыдущий сценарий выполнен успешно + И текущее время в диапазоне от "00:00:00" до "23:59:59" + И Я запоминаю значение выражения 'Формат(ТекущаяДата() + 5, "ДФ=HH:mm:ss")' в переменную "ТекДатаПлюс5Секунд" + Тогда я жду наступления времени "$ТекДатаПлюс5Секунд$" + + И я запоминаю значение из тега "ТегФичи" в переменную "ИмяПеременнойТегФичи" Тогда переменная "ИмяПеременнойТегФичи" имеет значение "ТестовыйТегФичи" From 32b104133d943fd98f520cc950a194e98ea0fd22 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:14:37 +0300 Subject: [PATCH 06/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/Core/VAExtension/VAExtension.feature | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/features/Core/VAExtension/VAExtension.feature b/features/Core/VAExtension/VAExtension.feature index 43cef8fddc..bc72e004ee 100644 --- a/features/Core/VAExtension/VAExtension.feature +++ b/features/Core/VAExtension/VAExtension.feature @@ -50,6 +50,40 @@ И я закрываю сеанс TESTCLIENT Когда я запускаю служебный сеанс TestClient с ключом TestManager в той же базе + * Проверка шага И я отключаю обновление текста редактирования полей в текущем окне (расширение) + * Проверка, что происходит откат введенного текста + И В командном интерфейсе я выбираю "Основная" "Справочник1" + Тогда открылось окно "Справочник1" + И я нажимаю на кнопку с именем 'ФормаСоздать' + Тогда открылось окно "Справочник1 (создание)" + И в поле с именем 'Наименование' я ввожу текст "111" + И я перехожу к следующему реквизиту + И я нажимаю на кнопку с именем 'ФормаВключитьТаймерСерверногоВызова' + И в поле с именем 'Наименование' я ввожу текст "222" + И Пауза 8 + + //Сработал механизм отката текста редактирования платформы + И элемент формы с именем 'Наименование' стал равен '111' + + * Проверка, что откат значения введенного текста больше не происходит + И я закрываю все окна клиентского приложения + И В командном интерфейсе я выбираю "Основная" "Справочник1" + Тогда открылось окно "Справочник1" + И я нажимаю на кнопку с именем 'ФормаСоздать' + Тогда открылось окно "Справочник1 (создание)" + И в поле с именем 'Наименование' я ввожу текст "111" + И я перехожу к следующему реквизиту + + И я отключаю обновление текста редактирования полей в текущем окне (расширение) + + И я нажимаю на кнопку с именем 'ФормаВключитьТаймерСерверногоВызова' + И в поле с именем 'Наименование' я ввожу текст "222" + И Пауза 8 + + //Текст остался прежний + И элемент формы с именем 'Наименование' стал равен '222' + И я закрываю все окна клиентского приложения + * Проверка открытия внешней обработки И я открываю внешнюю обработку или отчет "$КаталогИнструментов$\features\Core\Allure\step_definitions\Issue-34-ОтчетAllure.epf" (Расширение) Тогда открылось окно 'Issue-34-ОтчетAllure' @@ -428,7 +462,6 @@ | "Имя" | | "Extension_VAExtension" | - * Закрытие клиента тестирования И я перехожу к закладке с именем "ГруппаСлужебная" И В поле с именем "КаталогФичСлужебный" я указываю путь к служебной фиче "ЗакрытьПодключенныйTestClient/ЗакрытьПодключенныйTestClient" From d94a96fff6e557bf1fe99473a9a43590cdd91754 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:14:53 +0300 Subject: [PATCH 07/23] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1360eb2d67..8c7be980c1 100644 --- "a/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -859,7 +859,7 @@ Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЕслиПоявилосьОкноДиалогаЯНажимаюНаКнопку(Парам01)","ЕслиПоявилосьОкноДиалогаЯНажимаюНаКнопку","Затем Если появилось окно диалога я нажимаю на кнопку ""Заголовок кнопки""","Если на экране появилось диалоговое окно - нажимает на нужную кнопку.","UI.Всплывающие окна.Устаревшее"); Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЕслиПоявилосьОкноДиалогаЯНажимаюНаКнопкуСИменем(Парам01)","ЕслиПоявилосьОкноДиалогаЯНажимаюНаКнопкуСИменем","Затем Если появилось окно диалога я нажимаю на кнопку с именем 'ИмяКнопки'","Если на экране появилось диалоговое окно - нажимает на кнопку с указанным именем.","UI.Всплывающие окна.Устаревшее"); - Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯЗапоминаюТекстПредупрежденияВПеременную(Парам01)","ЯЗапоминаюТекстПредупрежденияВПеременную","И я запоминаю текст предупреждения в переменную ""ИмяПеременной""","Запоминает текст предупреждения или модального диалога в переменную","UI.Всплывающие окна.Текст предупреждения в переменную."); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯЗапоминаюТекстПредупрежденияВПеременную(Парам01)","ЯЗапоминаюТекстПредупрежденияВПеременную","И я запоминаю текст предупреждения в переменную ""ИмяПеременной""","Запоминает текст предупреждения или модального диалога в переменную","UI.Всплывающие окна.Текст предупреждения в переменную"); //убрал шаг, т.к. есть аналогичный From 93f1da1d6006c53d810b1f94bd5e1a48ec7d3267 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:15:29 +0300 Subject: [PATCH 08/23] #2251 --- .../Ext/Form/Module.bsl" | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) diff --git "a/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8c7be980c1..e46816ebf2 100644 --- "a/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1402,6 +1402,25 @@ |Работает в платформе 8.3.25 и выше.", "UI.Формы.Поля.Заголовок"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты, + "ТекущееВремяВДиапазонеОтДо(Парам01,Парам02)", + "ТекущееВремяВДиапазонеОтДо", + "И текущее время в диапазоне от ""23:30:00"" до ""23:59:59""", + "Проверяет, что текущее время находится в диапазоне дат.", + "Прочее.Работа со временем"); + + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты, + "ЯЖдуНаступленияВремени(Парам01)", + "ЯЖдуНаступленияВремени", + "Тогда я жду наступления времени ""00:00:00""", + "Ожидает, что текущее время станет больше чем указанное время. + |Если нужно ждать больше 12 часов, то считается, то указанное время уже наступило. + |Шаг предполагается использоваться в тех случаях, когда сценарию критична смены текущей даты во время его выполнения, и бывает целесообразно подождать до полуночи, чтобы дождаться смены даты и затем продолжить выполнение сценария. + |Рекомендуется использовать следующую конструкцию: + |Если текущее время в диапазоне от ""23:50:00"" до ""23:59:59"" Тогда + | Тогда я жду наступления времени ""00:00:00"" ", + "Прочее.Работа со временем"); + Возврат ВсеТесты; КонецФункции @@ -19289,3 +19308,112 @@ ПолеТабличногоДокумента.ВыполнитьВыборИзМенюРасшифровки(ПунктМеню); КонецФункции + + +&НаКлиенте +Функция ПолучитьДатуИзСтрокиВремени(Знач СтрВремя) + Массив = Ванесса._СтрРазделить(СтрВремя, ":"); + Если Массив.Количество() <> 3 Тогда + ТекстСообщения = Ванесса.Локализовать("Параметр времени <%1> должен быть передать в формате ""23:30:00"""); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СтрВремя); + ВызватьИсключение ТекстСообщения; + КонецЕсли; + + Попытка + Дат = Дата(1,1,1, Число(Массив[0]), Число(Массив[1]), Число(Массив[2])); + Исключение + ТекстСообщения = Ванесса.Локализовать("Не получилось вычислить время по строке <%1>."); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СтрВремя); + ТекстСообщения = ТекстСообщения + Символы.ПС + ОписаниеОшибки(); + + ВызватьИсключение ТекстСообщения; + КонецПопытки; + + Возврат Дат; + +КонецФункции + +&НаКлиенте +//И текущее время в диапазоне от "23:30:00" до "23:59:59" +//@ТекущееВремяВДиапазонеОтДо(Парам01,Парам02) +Функция ТекущееВремяВДиапазонеОтДо(Время1, Время2) Экспорт + + ТекВремяСтр = Формат(ТекущаяДата(), "ДФ=HH:mm:ss"); + ТекДата = ПолучитьДатуИзСтрокиВремени(ТекВремяСтр); + + Дат1 = ПолучитьДатуИзСтрокиВремени(Время1); + Дат2 = ПолучитьДатуИзСтрокиВремени(Время2); + + Если Дат2 < Дат1 Тогда + //Значит надо добавить сутки + Дат2 = Дат2 + 60*60*24; + КонецЕсли; + + Если НЕ (ТекДата >= Дат1 И ТекДата <= Дат2) Тогда + ТекстСообщения = Ванесса.Локализовать("Ожидалось, что текущее время <%1> будет в диапазоне от <%2> до <%3>."); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекВремяСтр); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", Время1); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%3", Время2); + ВызватьИсключение ТекстСообщения; + КонецЕсли; + +КонецФункции + + +&НаКлиенте +Процедура ОбработчикОжиданияЯЖдуНаступленияВремени() + + ИмяОбработчика = "ОбработчикОжиданияЯЖдуНаступленияВремени"; + + Если НЕ Ванесса.ИдетВыполнениеСценариев() Тогда + ОтключитьОбработчикОжидания(ИмяОбработчика); + Возврат; + КонецЕсли; + + ТекДата = ТекущаяДата(); + Если ТекДата >= ДатаНачалаОбработкиОжидания Тогда + ОтключитьОбработчикОжидания(ИмяОбработчика); + Ванесса.ПродолжитьВыполнениеШагов(); + Возврат; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +//Тогда я жду наступления времени "00:00:00" +//@ЯЖдуНаступленияВремени(Парам01) +Функция ЯЖдуНаступленияВремени(Время) Экспорт + + Массив = Ванесса._СтрРазделить(Время, ":"); + Если Массив.Количество() <> 3 Тогда + ТекстСообщения = Ванесса.Локализовать("Параметр времени <%1> должен быть передать в формате ""23:30:00"""); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Время); + ВызватьИсключение ТекстСообщения; + КонецЕсли; + + ТекДата = ТекущаяДата(); + + Попытка + ДатаОжидания = Дата(Год(ТекДата), Месяц(ТекДата), День(ТекДата), Число(Массив[0]), Число(Массив[1]), Число(Массив[2])); + Исключение + ТекстСообщения = Ванесса.Локализовать("Не получилось вычислить время по строке <%1>"); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Время); + ВызватьИсключение ТекстСообщения; + КонецПопытки; + + Если ДатаОжидания < ТекДата Тогда + //Значит надо добавить сутки + ДатаОжидания = ДатаОжидания + 60*60*24; + КонецЕсли; + + Разница = ДатаОжидания - ТекДата; + Если Разница > 12*60*60 Тогда + //Если разница больше 12 часов, то считатеся, что ждать не надо и нужное время уже наступило + Возврат Неопределено; + КонецЕсли; + + Ванесса.ЗапретитьВыполнениеШагов(); + ДатаНачалаОбработкиОжидания = ДатаОжидания; + ПодключитьОбработчикОжидания("ОбработчикОжиданияЯЖдуНаступленияВремени",1,Ложь); + +КонецФункции From 6a2b3b195f1c8cacbd9f2ef7b4754d39155d81d3 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:15:42 +0300 Subject: [PATCH 09/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e46816ebf2..a08d6a3960 100644 --- "a/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/Libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2863,6 +2863,8 @@ Ванесса.Sleep(Ванесса.ЗначениеПаузаПриОткрытииОкна()); КонецЕсли; + Ванесса.ОтключитьДляПолейВозможностьЗатиранияТекстаПриЗавершенииСерверногоВызоваПриОткрытииОкна(ИмяОкна); + КонецФункции From 456bdc999bbd0a9888ab87717f99d80c5ff554e7 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:17:18 +0300 Subject: [PATCH 10/23] =?UTF-8?q?=D0=9E=D1=82=D0=BC=D0=B5=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B2=20=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D0=BD=D0=BE=D0=BC=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BA=D0=B5=20=D0=BA=D0=B0=D0=BA?= =?UTF-8?q?=20=D0=BE=D0=BD=D0=B8=20=D0=BF=D0=BE=D1=8F=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8=D1=81=D1=8C=20=D0=B2=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git "a/features/Libraries/VAExtension/VAExtension/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/Libraries/VAExtension/VAExtension/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 44f83e281e..ddbfe1c262 100644 --- "a/features/Libraries/VAExtension/VAExtension/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/Libraries/VAExtension/VAExtension/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2568,7 +2568,11 @@ НайденныеСсылки = Новый Массив; Кеш = Новый Соответствие; - Для Каждого ТекШаг Из ШагиДанногоСценария Цикл + //Перебор массива в обратном порядке + Для Сч = 0 По ШагиДанногоСценария.Количество() - 1 Цикл + + ТекШаг = ШагиДанногоСценария[ШагиДанногоСценария.Количество() - 1 - Сч]; + Если НЕ ТекШаг.Свойство("ЗначенияПараметров") Тогда Продолжить; КонецЕсли; From d50de6b1fef4387838ba98422ccabe302dc94e7e Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:17:34 +0300 Subject: [PATCH 11/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git "a/features/Libraries/VAExtension/VAExtension/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/Libraries/VAExtension/VAExtension/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ddbfe1c262..7b76aeabbb 100644 --- "a/features/Libraries/VAExtension/VAExtension/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/Libraries/VAExtension/VAExtension/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -505,6 +505,16 @@ "Открывает табличный в сеансе клиента тестирования как будто это сделал пользователь.", "Прочее.Расширение VAExtension.Открыть файл"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты, + "ЯОтключаюОбновлениеТекстаРедактированияПолейВТекущемОкнеРасширение()", + "ЯОтключаюОбновлениеТекстаРедактированияПолейВТекущемОкнеРасширение", + "И я отключаю обновление текста редактирования полей в текущем окне (расширение)", + "Существует проблема, что при синхронизации состояния формы после завершения серверного вызова, может затираться текст, который в данный момент редактирует пользователь. + |В тестах это может проявляться так, что тест ввёл значение в поле, но до того как он начал работать с другим полем данное значение было возвращено в предыдущее состояние. + |Данный шаг меняет свойство ""ОбновлениеТекстаРедактирования"" у полей формы, чтобы избежать этого эффекта.", + "Прочее.Расширение VAExtension.Затирание текста редактирования"); + + Возврат ВсеТесты; КонецФункции @@ -2598,7 +2608,7 @@ Если НайденныеСсылки.Количество() = 0 Тогда Возврат Неопределено; - КонецЕсли; + КонецЕсли; ОбработатьМассивНавигационныхСсылок(НайденныеСсылки, "ОтменаПроведения"); @@ -3031,3 +3041,12 @@ КонецПопытки; КонецФункции + +&НаКлиенте +//И я отключаю обновление текста редактирования полей в текущем окне (расширение) +//@ЯОтключаюОбновлениеТекстаРедактированияПолейВТекущемОкнеРасширение() +Функция ЯОтключаюОбновлениеТекстаРедактированияПолейВТекущемОкнеРасширение() Экспорт + + Ванесса.ОтключитьОбновлениеТекстаРедактированияПолейВТекущемОкнеРасширение(Истина); + +КонецФункции From 284064d3960ed5b4f35774dd7493b89c0130b790 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:18:58 +0300 Subject: [PATCH 12/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VanessaAutomation/Ext/ObjectModule.bsl | 1 + .../Ext/Form/Module.bsl" | 1 + .../Ext/Form.xml" | 50 ++++++++++ ...7\320\276\320\273\321\217\321\205.feature" | 61 ++++++++++++ ...320\272\321\201\321\202\320\26001.feature" | 26 +++++ ...5\320\275\321\202\320\260.Form.Module.txt" | 22 ++++- ...\320\265\320\275\321\202\320\260.Form.xml" | 22 +++++ ...5\320\275\321\202\320\260.Form.Module.txt" | 22 ++++- ...\320\265\320\275\321\202\320\260.Form.xml" | 22 +++++ ...5\320\275\321\202\320\260.Form.Module.txt" | 22 ++++- ...\320\265\320\275\321\202\320\260.Form.xml" | 22 +++++ lib/VAExtension/Configuration.xml | 2 +- .../Ext/Form.xml" | 42 ++++++++ .../Ext/Form/Module.bsl" | 99 ++++++++++++++++++- ...5\321\201\321\202\320\276\320\262.feature" | 42 ++++++-- 15 files changed, 439 insertions(+), 17 deletions(-) create mode 100644 "features/StepsRunner/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\202\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\227\320\260\321\202\320\270\321\200\320\260\320\275\320\270\321\217\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\237\320\276\320\273\321\217\321\205.feature" create mode 100644 "features/Support/Templates/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\321\202\320\270\321\200\320\260\320\275\320\270\321\217\320\242\320\265\320\272\321\201\321\202\320\26001.feature" diff --git a/VanessaAutomation/Ext/ObjectModule.bsl b/VanessaAutomation/Ext/ObjectModule.bsl index 0d18bab3d4..ea53c25b8a 100644 --- a/VanessaAutomation/Ext/ObjectModule.bsl +++ b/VanessaAutomation/Ext/ObjectModule.bsl @@ -272,6 +272,7 @@ Настройки.Вставить("ПодключатьГорячуюКлавишуДляПолученияСправкиОбЭлементе", Истина); Настройки.Вставить("ЗакрыватьСценарийИнтерактивнойСправкиПослеВыполнения", Истина); Настройки.Вставить("ПоказыватьПомощникПриПервомЗапуске", Истина); + Настройки.Вставить("ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове", Ложь); Настройки.Вставить("ОбучениеЗапуститьУрок", Истина); Настройки.Вставить("ОбучениеВидео", Истина); diff --git "a/VanessaAutomation/Forms/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217VA/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217VA/Ext/Form/Module.bsl" index 4f3085679a..f0ed7fe96b 100644 --- "a/VanessaAutomation/Forms/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217VA/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217VA/Ext/Form/Module.bsl" @@ -620,6 +620,7 @@ КоллекцияКоманд.Вставить("ПодключатьГорячуюКлавишуДляПолученияСправкиОбЭлементе", Новый Структура("Р, А", "ПодключатьГорячуюКлавишуДляПолученияСправкиОбЭлементе", "ConnectAHotkeyToGetHelpAboutCurrentItem")); КоллекцияКоманд.Вставить("ЗакрыватьСценарийИнтерактивнойСправкиПослеВыполнения", Новый Структура("Р, А", "ЗакрыватьСценарийИнтерактивнойСправкиПослеВыполнения", "CloseInteractiveHelpScriptAfterExecution")); КоллекцияКоманд.Вставить("ПоказыватьПомощникПриПервомЗапуске", Новый Структура("Р, А", "ПоказыватьПомощникПриПервомЗапуске", "ShowHelperOnFirstLaunch")); + КоллекцияКоманд.Вставить("ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове", Новый Структура("Р, А", "ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове", "DisableForFieldsAbilityToOverwriteTextWhenServerCall")); КоллекцияКоманд.Вставить("ОбучениеЗапуститьУрок", Новый Структура("Р, А", "ОбучениеЗапуститьУрок", "LearningRunLesson")); КоллекцияКоманд.Вставить("ОбучениеВидео", Новый Структура("Р, А", "ОбучениеВидео", "LearningVideo")); diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index ee282818a5..457c69121d 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -17151,6 +17151,7 @@ Actual when working in the step tree mode. Group subsystem stabilization of test execution zero line + AlwaysHorizontal None false @@ -17192,6 +17193,55 @@ Actual when working in the step tree mode. + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа подсистема стабилизация выполнения тестов первая строка правый столбец</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Test execution stabilization subsystem group first row right column</v8:content> + </v8:item> + + None + false + + + + Объект.ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове + Right + ShowBottom + Auto + + + false + + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>There is a problem that when synchronizing the state of the form after the server call has completed, the text that the user is currently editing may be overwritten. +In tests, this can manifest itself in such a way that the test entered a value into a field, but before it began working with another field, this value was returned to its previous state. +This option enables a mechanism where the "EditTextUpdate" property of form fields will change after calling the step + ```Gherkin + Then "WindowTitle" window is opened + ``` +For this option to work, the VAExtension extension must be installed in the testing client database.</v8:content> + </v8:item> + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Существует проблема, что при синхронизации состояния формы после завершения серверного вызова, может затираться текст, который в данный момент редактирует пользователь. +В тестах это может проявляться так, что тест ввёл значение в поле, но до того как он начал работать с другим полем данное значение было возвращено в предыдущее состояние. +Данная опция включает механизм, когда свойство "ОбновлениеТекстаРедактирования" у полей формы, будет изменяться после вызова шага + ```Gherkin + Тогда открылось окно "ИмяОкна" + ``` +Для работы опции в базе клиента тестирования должно быть установлено расширение VAExtension.</v8:content> + </v8:item> + + + + + diff --git "a/features/StepsRunner/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\202\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\227\320\260\321\202\320\270\321\200\320\260\320\275\320\270\321\217\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\237\320\276\320\273\321\217\321\205.feature" "b/features/StepsRunner/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\202\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\227\320\260\321\202\320\270\321\200\320\260\320\275\320\270\321\217\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\237\320\276\320\273\321\217\321\205.feature" new file mode 100644 index 0000000000..c8d247a104 --- /dev/null +++ "b/features/StepsRunner/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\202\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\227\320\260\321\202\320\270\321\200\320\260\320\275\320\270\321\217\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\237\320\276\320\273\321\217\321\205.feature" @@ -0,0 +1,61 @@ +# language: ru +# encoding: utf-8 +#parent uf: +@UF2_запуск_сценариев_на_выполнение +#parent ua: +@UA11_запускать_сценарии_на_выполнение + +@IgnoreOn82Builds +@IgnoreOnOFBuilds +@IgnoreOnWeb + +Функционал: Проверка отключения затирания текста полей при серверном вызове + +Сценарий: Проверка отключения затирания текста полей при серверном вызове + Дано Я закрыл все окна клиентского приложения + И я закрываю сеанс TESTCLIENT + Когда я запускаю служебный сеанс TestClient с ключом TestManager в той же базе + + Когда Я открываю VanessaAutomation в режиме TestClient со стандартной библиотекой + + И я перехожу к закладке с именем 'ГруппаНастройки' + И я перехожу к закладке с именем 'СтраницаВыполнениеСценариев' + И я перехожу к закладке с именем 'ГруппаВыполнениеСценариевЛогирование' + И я устанавливаю флаг с именем 'ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове' + + Когда В поле с именем "КаталогФичСлужебный" я указываю путь к служебной фиче "ВыполнениеСценариев/ПроверкаЗатиранияТекста01" + И Я нажимаю на кнопку перезагрузить сценарии в Vanessa-Automation TestClient + И Я нажимаю на кнопку выполнить сценарии в Vanessa-Automation TestClient + + Тогда таблица 'ДеревоТестов' стала равной: + | 'Наименование' | 'Статус' | + | 'ПроверкаЗатиранияТекста01.feature' | '' | + | 'ПроверкаЗатиранияТекста01' | '' | + | 'ПроверкаЗатиранияТекста01' | 'Success' | + | 'Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий' | 'Success' | + | 'И я закрываю все окна клиентского приложения' | 'Success' | + | 'И В командном интерфейсе я выбираю "Основная" "Справочник1"' | 'Success' | + | 'Тогда открылось окно "Справочник1"' | 'Success' | + | 'И я нажимаю на кнопку с именем \'ФормаСоздать\'' | 'Success' | + | 'Тогда открылось окно "Справочник1 (создание)"' | 'Success' | + | 'И я нажимаю на кнопку с именем \'ФормаВключитьТаймерСерверногоВызова\'' | 'Success' | + | 'И в поле с именем \'Наименование\' я ввожу текст "111"' | 'Success' | + | 'И пауза 8' | 'Success' | + | 'И элемент формы с именем \'Наименование\' стал равен \'111\'' | 'Success' | + | 'Тогда в логе сообщений TestClient есть строка "СчетчикОбработчика=1"' | 'Success' | + + + И я перехожу к закладке с именем "ГруппаСлужебная" + И В поле с именем "КаталогФичСлужебный" я указываю путь к служебной фиче "ЗакрытьПодключенныйTestClient/ЗакрытьПодключенныйTestClient" + + И Я нажимаю на кнопку перезагрузить сценарии в Vanessa-Automation TestClient + И Я нажимаю на кнопку выполнить сценарии в Vanessa-Automation TestClient + + +Сценарий: Активизация основного клиента + И я закрываю TestClient "TM" + И в таблице клиентов тестирования я активизирую строку 'Этот клиент' + + + + diff --git "a/features/Support/Templates/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\321\202\320\270\321\200\320\260\320\275\320\270\321\217\320\242\320\265\320\272\321\201\321\202\320\26001.feature" "b/features/Support/Templates/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\321\202\320\270\321\200\320\260\320\275\320\270\321\217\320\242\320\265\320\272\321\201\321\202\320\26001.feature" new file mode 100644 index 0000000000..57c3ca1599 --- /dev/null +++ "b/features/Support/Templates/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\321\202\320\270\321\200\320\260\320\275\320\270\321\217\320\242\320\265\320\272\321\201\321\202\320\26001.feature" @@ -0,0 +1,26 @@ +# language: ru +# encoding: utf-8 +#parent uf: +@UF9_Вспомогательные_фичи +#parent ua: +@UA30_Прочие_макеты + +@IgnoreOnCIMainBuild +@tree + + +Функциональность: ПроверкаЗатиранияТекста01 + + +Сценарий: ПроверкаЗатиранияТекста01 + Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий + И я закрываю все окна клиентского приложения + И В командном интерфейсе я выбираю "Основная" "Справочник1" + Тогда открылось окно "Справочник1" + И я нажимаю на кнопку с именем 'ФормаСоздать' + Тогда открылось окно "Справочник1 (создание)" + И я нажимаю на кнопку с именем 'ФормаВключитьТаймерСерверногоВызова' + И в поле с именем 'Наименование' я ввожу текст "111" + И пауза 8 + И элемент формы с именем 'Наименование' стал равен '111' + Тогда в логе сообщений TestClient есть строка "СчетчикОбработчика=1" diff --git "a/lib/CF/82/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" "b/lib/CF/82/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" index d0a8234555..be4f2687ad 100644 --- "a/lib/CF/82/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" +++ "b/lib/CF/82/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" @@ -1,4 +1,6 @@ - +&НаКлиенте +Перем СчетчикОбработчика; + &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Сообщить("Записываю элемент"); @@ -26,6 +28,7 @@ &НаКлиенте Процедура ПриЗакрытии() + ОтключитьОбработчикОжидания("Обработчик"); Сообщить("Закрытие формы."); КонецПроцедуры @@ -357,3 +360,20 @@ Процедура КнопкаСЗаголовокомСПереносомСтроки(Команда) Сообщить("КнопкаСЗаголовокомСПереносомСтроки"); КонецПроцедуры + +&НаКлиенте +Процедура ВключитьТаймерСерверногоВызова(Команда) + СчетчикОбработчика = 0; + ПодключитьОбработчикОжидания("Обработчик", 5, Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура Обработчик() + СчетчикОбработчика = СчетчикОбработчика + 1; + ОбработчикСервер(); + Сообщить("СчетчикОбработчика=" + XMLСтрока(СчетчикОбработчика)); +КонецПроцедуры + +&НаСервере +Процедура ОбработчикСервер() +КонецПроцедуры diff --git "a/lib/CF/82/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" "b/lib/CF/82/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" index 84fe5d5084..803617bb09 100644 --- "a/lib/CF/82/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" +++ "b/lib/CF/82/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" @@ -92,6 +92,13 @@ + @@ -2832,6 +2839,21 @@ КнопкаСЗаголовокомСПереносомСтроки + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Включить таймер серверного вызова</v8:content> + </v8:item> + + + + ru + Включить таймер серверного вызова + + + ВключитьТаймерСерверногоВызова + diff --git "a/lib/CF/83/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" "b/lib/CF/83/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" index d0a8234555..be4f2687ad 100644 --- "a/lib/CF/83/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" +++ "b/lib/CF/83/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" @@ -1,4 +1,6 @@ - +&НаКлиенте +Перем СчетчикОбработчика; + &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Сообщить("Записываю элемент"); @@ -26,6 +28,7 @@ &НаКлиенте Процедура ПриЗакрытии() + ОтключитьОбработчикОжидания("Обработчик"); Сообщить("Закрытие формы."); КонецПроцедуры @@ -357,3 +360,20 @@ Процедура КнопкаСЗаголовокомСПереносомСтроки(Команда) Сообщить("КнопкаСЗаголовокомСПереносомСтроки"); КонецПроцедуры + +&НаКлиенте +Процедура ВключитьТаймерСерверногоВызова(Команда) + СчетчикОбработчика = 0; + ПодключитьОбработчикОжидания("Обработчик", 5, Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура Обработчик() + СчетчикОбработчика = СчетчикОбработчика + 1; + ОбработчикСервер(); + Сообщить("СчетчикОбработчика=" + XMLСтрока(СчетчикОбработчика)); +КонецПроцедуры + +&НаСервере +Процедура ОбработчикСервер() +КонецПроцедуры diff --git "a/lib/CF/83/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" "b/lib/CF/83/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" index 84fe5d5084..803617bb09 100644 --- "a/lib/CF/83/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" +++ "b/lib/CF/83/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" @@ -92,6 +92,13 @@ + @@ -2832,6 +2839,21 @@ КнопкаСЗаголовокомСПереносомСтроки + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Включить таймер серверного вызова</v8:content> + </v8:item> + + + + ru + Включить таймер серверного вызова + + + ВключитьТаймерСерверногоВызова + diff --git "a/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" "b/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" index d0a8234555..be4f2687ad 100644 --- "a/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" +++ "b/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.Module.txt" @@ -1,4 +1,6 @@ - +&НаКлиенте +Перем СчетчикОбработчика; + &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Сообщить("Записываю элемент"); @@ -26,6 +28,7 @@ &НаКлиенте Процедура ПриЗакрытии() + ОтключитьОбработчикОжидания("Обработчик"); Сообщить("Закрытие формы."); КонецПроцедуры @@ -357,3 +360,20 @@ Процедура КнопкаСЗаголовокомСПереносомСтроки(Команда) Сообщить("КнопкаСЗаголовокомСПереносомСтроки"); КонецПроцедуры + +&НаКлиенте +Процедура ВключитьТаймерСерверногоВызова(Команда) + СчетчикОбработчика = 0; + ПодключитьОбработчикОжидания("Обработчик", 5, Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура Обработчик() + СчетчикОбработчика = СчетчикОбработчика + 1; + ОбработчикСервер(); + Сообщить("СчетчикОбработчика=" + XMLСтрока(СчетчикОбработчика)); +КонецПроцедуры + +&НаСервере +Процедура ОбработчикСервер() +КонецПроцедуры diff --git "a/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" "b/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" index 84fe5d5084..803617bb09 100644 --- "a/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" +++ "b/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" @@ -92,6 +92,13 @@ + @@ -2832,6 +2839,21 @@ КнопкаСЗаголовокомСПереносомСтроки + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Включить таймер серверного вызова</v8:content> + </v8:item> + + + + ru + Включить таймер серверного вызова + + + ВключитьТаймерСерверногоВызова + diff --git a/lib/VAExtension/Configuration.xml b/lib/VAExtension/Configuration.xml index ecbfbb0858..16d698b796 100644 --- a/lib/VAExtension/Configuration.xml +++ b/lib/VAExtension/Configuration.xml @@ -45,7 +45,7 @@ Role.VAExtension_ОсновнаяРоль - 1.11 + 1.12 diff --git "a/lib/VAExtension/DataProcessors/VAExtension_\320\224\320\260\320\275\320\275\321\213\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\236\320\272\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/lib/VAExtension/DataProcessors/VAExtension_\320\224\320\260\320\275\320\275\321\213\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\236\320\272\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 32aebad35f..12d8b673ae 100644 --- "a/lib/VAExtension/DataProcessors/VAExtension_\320\224\320\260\320\275\320\275\321\213\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\236\320\272\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/lib/VAExtension/DataProcessors/VAExtension_\320\224\320\260\320\275\320\275\321\213\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\236\320\272\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -24,8 +24,16 @@ Form.Command.ВыполнитьВыражение + + + ПриОткрытии + ЗначениеЗаголовокОкна @@ -45,10 +53,18 @@ ВыражениеВычислено + Right Auto + + ВызыватьИсключение + Right + Auto + + + @@ -113,6 +129,17 @@ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Вызывать исключение</v8:content> + </v8:item> + + + xs:boolean + + @@ -175,5 +202,20 @@ ВыполнитьВыражение + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Установить свойство обновление текста редактирования</v8:content> + </v8:item> + + + + ru + Установить свойство обновление текста редактирования + + + УстановитьСвойствоОбновлениеТекстаРедактирования + \ No newline at end of file diff --git "a/lib/VAExtension/DataProcessors/VAExtension_\320\224\320\260\320\275\320\275\321\213\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\236\320\272\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/lib/VAExtension/DataProcessors/VAExtension_\320\224\320\260\320\275\320\275\321\213\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\236\320\272\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 10e6621d0e..f5ab59602f 100644 --- "a/lib/VAExtension/DataProcessors/VAExtension_\320\224\320\260\320\275\320\275\321\213\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\236\320\272\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/lib/VAExtension/DataProcessors/VAExtension_\320\224\320\260\320\275\320\275\321\213\320\265\320\242\320\265\320\272\321\203\321\211\320\265\320\263\320\276\320\236\320\272\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,4 +1,13 @@ -#Область ОбработчикиКомандФормы +#Область ОбработкаСобытийФормы + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + ВызыватьИсключение = Истина; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы &НаКлиенте Процедура ВывестиДанные(Команда) @@ -16,7 +25,7 @@ КонецЕсли; КонецЦикла; - Если НЕ ОкноНайдено Тогда + Если НЕ ОкноНайдено И ВызыватьИсключение Тогда ТекстСообщения = НСтр("ru = 'Не найдено окно <%1>'"); ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ЗначениеЗаголовокОкна); ВызватьИсключение ТекстСообщения @@ -52,7 +61,7 @@ КонецЕсли; КонецЦикла; - Если НЕ ОкноНайдено Тогда + Если НЕ ОкноНайдено И ВызыватьИсключение Тогда ТекстСообщения = НСтр("ru = 'Не найдено окно <%1>'"); ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ЗначениеЗаголовокОкна); ВызватьИсключение ТекстСообщения @@ -84,7 +93,39 @@ КонецЕсли; КонецЦикла; - Если НЕ ОкноНайдено Тогда + Если НЕ ОкноНайдено И ВызыватьИсключение Тогда + ТекстСообщения = НСтр("ru = 'Не найдено окно <%1>'"); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ЗначениеЗаголовокОкна); + ВызватьИсключение ТекстСообщения + КонецЕсли; + + ВыражениеВычислено = Истина; + +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьСвойствоОбновлениеТекстаРедактирования(Команда) + + Если Найти(ЗначениеВыражение, "_ТекущееОкно.") > 0 Тогда + ТекстВыражения = СтрЗаменить(ЗначениеВыражение, "_ТекущееОкно.", "ТекОкно.Содержимое[0]."); + Иначе + ТекстВыражения = СтрЗаменить(ЗначениеВыражение, "_CurrentWindow.", "ТекОкно.Содержимое[0]."); + КонецЕсли; + + Окна = ПолучитьОкна(); + + ОкноНайдено = Ложь; + Для Каждого ТекОкно Из Окна Цикл + Если ТекОкно.Заголовок = ЗначениеЗаголовокОкна Тогда + Если ТекОкно.Содержимое.Количество() > 0 Тогда + ОкноНайдено = Истина; + УстановитьСвойствоОбновлениеТекстаРедактированияДляОкна(ТекОкно); + Прервать; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Если НЕ ОкноНайдено И ВызыватьИсключение Тогда ТекстСообщения = НСтр("ru = 'Не найдено окно <%1>'"); ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ЗначениеЗаголовокОкна); ВызватьИсключение ТекстСообщения @@ -515,4 +556,54 @@ КонецФункции +&НаКлиенте +Процедура УстановитьСвойствоОбновлениеТекстаРедактированияДляОкна(ТекОкно) + + Для Каждого ТекФорма Из ТекОкно.Содержимое Цикл + Для Каждого ТекЭлемент Из ТекФорма.Элементы Цикл + + ТипЭлемента = ТипЗнч(ТекЭлемент); + Если ТипЭлемента = Тип("ГруппаФормы") Тогда + Продолжить; + ИначеЕсли ТипЭлемента = Тип("ДекорацияФормы") Тогда + Продолжить; + ИначеЕсли ТипЭлемента = Тип("КнопкаФормы") Тогда + Продолжить; + ИначеЕсли ТипЭлемента = Тип("ТаблицаФормы") Тогда + Продолжить; + ИначеЕсли ТипЭлемента = Тип("ПолеФормы") Тогда + Если ТекЭлемент.Вид = ВидПоляФормы.ПолеКартинки Тогда + Продолжить; + ИначеЕсли ТекЭлемент.Вид = ВидПоляФормы.ПолеHTMLДокумента Тогда + Продолжить; + ИначеЕсли ТекЭлемент.Вид = ВидПоляФормы.ПолеФлажка Тогда + Продолжить; + ИначеЕсли ТекЭлемент.Вид = ВидПоляФормы.ПолеПереключателя Тогда + Продолжить; + ИначеЕсли ТекЭлемент.Вид = ВидПоляФормы.ПолеТекстовогоДокумента Тогда + Продолжить; + ИначеЕсли ТекЭлемент.Вид = ВидПоляФормы.ПолеПолосыРегулирования Тогда + Продолжить; + ИначеЕсли ТекЭлемент.Вид = ВидПоляФормы.ПолеНадписи Тогда + Продолжить; + КонецЕсли; + ИначеЕсли ТипЭлемента = Тип("ДополнениеЭлементаФормы") Тогда + Продолжить; + КонецЕсли; + + Попытка + ТекЭлемент.ОбновлениеТекстаРедактирования = ОбновлениеТекстаРедактирования.ПриИзмененииЗначения; + Исключение + //Сообщить(ТипЗнч(ТекЭлемент)); + //Попытка + // Сообщить("Вид: " + ТекЭлемент.Вид); + //Исключение + //КонецПопытки; + КонецПопытки; + + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + #КонецОбласти \ No newline at end of file diff --git "a/training/features/\320\223\320\273\320\260\320\262\320\26002/\320\227\320\260\320\272\320\273\320\260\320\264\320\272\320\260\320\241\320\265\321\200\320\262\320\270\321\201\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\241\321\202\320\260\320\261\320\270\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262.feature" "b/training/features/\320\223\320\273\320\260\320\262\320\26002/\320\227\320\260\320\272\320\273\320\260\320\264\320\272\320\260\320\241\320\265\321\200\320\262\320\270\321\201\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\241\321\202\320\260\320\261\320\270\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262.feature" index 9988572326..860b91f562 100644 --- "a/training/features/\320\223\320\273\320\260\320\262\320\26002/\320\227\320\260\320\272\320\273\320\260\320\264\320\272\320\260\320\241\320\265\321\200\320\262\320\270\321\201\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\241\321\202\320\260\320\261\320\270\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262.feature" +++ "b/training/features/\320\223\320\273\320\260\320\262\320\26002/\320\227\320\260\320\272\320\273\320\260\320\264\320\272\320\260\320\241\320\265\321\200\320\262\320\270\321\201\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\241\321\202\320\260\320\261\320\270\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\242\320\265\321\201\321\202\320\276\320\262.feature" @@ -16,15 +16,19 @@ И Пауза 1 И я делаю клик по элементу формы VA UI Automation 'ЭтотСеанс' 'ГруппаПодсистемаСтабилизацияВыполненияТестов' UI Automation И Пауза 1 + И я вращаю колесо мыши "Back" + И Пауза 1 + И я делаю подсветку нескольких элементов VA с их заголовком "Стабилизация выполнения тестов" UI Automation - | 'Имя' | - | 'КоличествоПопытокВыполненияСценария' | - | 'КоличествоПопытокВыполненияДействия' | - | 'КоличествоСекундПоискаОкна' | - | 'ТаймаутДляАсинхронныхШагов' | - | 'БезопасноеВыполнениеШагов' | - | 'ПаузаПриОткрытииОкна' | - | 'МаксимальноеВремяВыполненияДействия' | + | 'Имя' | + | 'КоличествоПопытокВыполненияСценария' | + | 'ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове' | + | 'КоличествоПопытокВыполненияДействия' | + | 'КоличествоСекундПоискаОкна' | + | 'ТаймаутДляАсинхронныхШагов' | + | 'БезопасноеВыполнениеШагов' | + | 'ПаузаПриОткрытииОкна' | + | 'МаксимальноеВремяВыполненияДействия' | * Данное поле устанавливает количество попыток выполнения одного сценария. И я делаю подсветку нескольких элементов VA с их заголовком "Количество попыток выполнения сценария" UI Automation @@ -33,7 +37,23 @@ * По умолчанию в поле указано значение один. * Если указано значение более одного, тогда если сценарий не был выполнен успешно, будет выполнено несколько попыток запустить сценарий. - * Данное поле устанавливает количество попыток для выполнения действия во время работы сценария. + + * Продолжим. Этот флаг управляет тем, нужно ли автоматически отключать возможность затирания текста введенного в поле. + И я делаю подсветку нескольких элементов VA с их заголовком "Отключение затирания текста" UI Automation + | 'Имя' | 'Тип' | 'ИмяЭлементаСТемжеРодителем' | 'ТолькоВертикальныеКоординаты' | + | 'ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове' | '' | '' | 'Ложь' | + * Тут нужно рассказать по подробнее. + * Существует проблема, что при синхронизации состояния формы после завершения серверного вызова, может затираться текст, который в данный момент редактирует пользователь. + * В тэстах это может проявляться так, что тест ввёл значение в поле, но до того как он начал работать с другим полем данное значение было возвращено в предыдущее состояние. + * Данная опция включает механизм, когда свойство "ОбновлениеТекстаРедактирования" у полей формы, будет изменяться после вызова шага Тогда открылось окно + И я делаю подсветку нескольких элементов VA с их заголовком "Отключение затирания текста" UI Automation + | 'Имя' | 'Тип' | 'ИмяЭлементаСТемжеРодителем' | 'ТолькоВертикальныеКоординаты' | + | 'ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове' | '' | '' | 'Ложь' | + * Важный момент. Для работы опции в базе клиента тестирования должно быть установлено расширение VAExtension. + + + + * Продолжим. Данное поле устанавливает количество попыток для выполнения действия во время работы сценария. И я делаю подсветку нескольких элементов VA с их заголовком "Количество попыток выполнения действия" UI Automation | 'Имя' | 'Тип' | 'ИмяЭлементаСТемжеРодителем' | 'ТолькоВертикальныеКоординаты' | | 'КоличествоПопытокВыполненияДействия' | '' | '' | 'Ложь' | @@ -45,6 +65,10 @@ | 'Имя' | 'Тип' | 'ИмяЭлементаСТемжеРодителем' | 'ТолькоВертикальныеКоординаты' | | 'КоличествоПопытокВыполненияДействия' | '' | '' | 'Ложь' | + + + + * Продолжим. Это поле управляет тем сколько секунд будет происходить ожидание появления нового окна. И я делаю подсветку нескольких элементов VA с их заголовком "Ожидание появления окна" UI Automation | 'Имя' | 'Тип' | 'ИмяЭлементаСТемжеРодителем' | 'ТолькоВертикальныеКоординаты' | From d14fb14381a502067e82aedc7e734a148ee36cc4 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:19:26 +0300 Subject: [PATCH 13/23] =?UTF-8?q?=D0=92=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=D0=BF=20=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\270\320\222\320\270\320\264\320\265\320\276.feature" | 7 +++++++ 1 file changed, 7 insertions(+) diff --git "a/features/Libraries/VB/\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\270\320\264\320\265\320\276.feature" "b/features/Libraries/VB/\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\270\320\264\320\265\320\276.feature" index 02dce7dac8..a66ec48d58 100644 --- "a/features/Libraries/VB/\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\270\320\264\320\265\320\276.feature" +++ "b/features/Libraries/VB/\320\227\320\260\320\277\320\276\320\273\320\275\320\270\321\202\321\214\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\227\320\260\320\277\320\270\321\201\320\270\320\222\320\270\320\264\320\265\320\276.feature" @@ -21,6 +21,13 @@ # И Я закрыл все окна клиентского приложения # И Я открываю VanessaAutomation в режиме TestClient + + И я перехожу к закладке с именем 'ГруппаНастройки' + И я перехожу к закладке с именем 'РаботаСТэгами' + И я перехожу к закладке с именем 'СтраницаВыполнениеСценариев' + И я разворачиваю группу с именем 'ГруппаВыполнениеСценариевЛогирование' + И я устанавливаю флаг с именем 'ДелатьЛогВыполненияСценариевВЖР' + И я перехожу к закладке "Сервис" И я перехожу к закладке с именем "СтраницаСервисОсновные" И я устанавливаю флаг 'Включить отладочные сообщения' From 46425c1571edd2bf02a69eceabe2b314a3b192d4 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:19:45 +0300 Subject: [PATCH 14/23] =?UTF-8?q?=D0=9E=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D1=88=D0=B0=D0=B3=D0=B0=20'=D0=98?= =?UTF-8?q?=20=D1=8F=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D1=8B=D0=B2=D0=B0?= =?UTF-8?q?=D1=8E=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=20?= =?UTF-8?q?=D0=B2=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=D0=B5=20"=D0=9F=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5"=20=D1=81=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=BE=D0=BC=20=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F'=20#2248?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/Libraries/\320\230\320\275\320\270\321\206\320\270\320\260\321\202\320\276\321\200\320\224\320\260\320\275\320\275\321\213\321\205/step_definitions/\320\221\320\270\320\261\320\273\320\270\320\276\321\202\320\265\320\272\320\260\320\250\320\260\320\263\320\276\320\262\320\230\320\275\320\270\321\206\320\270\320\260\321\202\320\276\321\200\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/Libraries/\320\230\320\275\320\270\321\206\320\270\320\260\321\202\320\276\321\200\320\224\320\260\320\275\320\275\321\213\321\205/step_definitions/\320\221\320\270\320\261\320\273\320\270\320\276\321\202\320\265\320\272\320\260\320\250\320\260\320\263\320\276\320\262\320\230\320\275\320\270\321\206\320\270\320\260\321\202\320\276\321\200\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 54bba7a5f6..1a158beaea 100644 --- "a/features/Libraries/\320\230\320\275\320\270\321\206\320\270\320\260\321\202\320\276\321\200\320\224\320\260\320\275\320\275\321\213\321\205/step_definitions/\320\221\320\270\320\261\320\273\320\270\320\276\321\202\320\265\320\272\320\260\320\250\320\260\320\263\320\276\320\262\320\230\320\275\320\270\321\206\320\270\320\260\321\202\320\276\321\200\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/Libraries/\320\230\320\275\320\270\321\206\320\270\320\260\321\202\320\276\321\200\320\224\320\260\320\275\320\275\321\213\321\205/step_definitions/\320\221\320\270\320\261\320\273\320\270\320\276\321\202\320\265\320\272\320\260\320\250\320\260\320\263\320\276\320\262\320\230\320\275\320\270\321\206\320\270\320\260\321\202\320\276\321\200\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -140,7 +140,7 @@ &НаКлиенте //И я записываю документ "e1cib/data/Документ.ЗаказПоставщику?ref=82eb18c04ddd688e11ee158b5cb59dc0" в режиме "Проведение" с вызовом исключения //@ЯЗаписываюДокументПоНавигационнойСсылкеВРежимеСВызовомИсключения(Парам01,Парам02) -Функция ЯЗаписываюДокументПоНавигационнойСсылкеРежимеСВызовомИсключения(ИмяПеременной, Режим) Экспорт +Функция ЯЗаписываюДокументПоНавигационнойСсылкеВРежимеСВызовомИсключения(ИмяПеременной, Режим) Экспорт Инициатор().РезультатЗаписиДокументаПоНавигационнойСсылке(ИмяПеременной, Режим, Истина); КонецФункции From 753e19cb6a6b88e7023d82cf4004d26f4f8bc769 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:21:04 +0300 Subject: [PATCH 15/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c9d241ea89..117aafc469 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -780,6 +780,9 @@ &НаКлиенте Перем ЗакрыватьСистемныеДиалогиЕслиПослеИзЗакрытияМожноПродолжитьВыполнениеСценария; +&НаКлиенте +Перем ОкнаДляКоторыхНеНужноОтключатьОбновлениеТекстаРедактирования; + #КонецОбласти #КонецОбласти @@ -10813,6 +10816,35 @@ КонецПроцедуры +//Существует проблема, что при синхронизации состояния формы после завершения серверного вызова, может затираться текст, который в данный момент редактирует пользователь. +//В тестах это может проявляться так, что тест ввёл значение в поле, но до того как он начал работать с другим полем данное значение было возвращено в предыдущее состояние. +//Данный метод меняет свойство "ОбновлениеТекстаРедактирования" у полей формы, чтобы избежать этого эффекта. +&НаКлиенте +Процедура ОтключитьДляПолейВозможностьЗатиранияТекстаПриЗавершенииСерверногоВызоваПриОткрытииОкна(ИмяТекущегоОкна = Неопределено) Экспорт + + Если ТипЗнч(ИмяТекущегоОкна) = Тип("Строка") Тогда + Если ЭтоЗаголовокОкнаМодальногоДиалога(ИмяТекущегоОкна) + ИЛИ ПустаяСтрока(ИмяТекущегоОкна) + ИЛИ ОкнаДляКоторыхНеНужноОтключатьОбновлениеТекстаРедактирования[НРег(ИмяТекущегоОкна)] <> Неопределено + Тогда + Возврат; + КонецЕсли; + + КонецЕсли; + + Если НЕ Объект.ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове Тогда + Возврат; + КонецЕсли; + + Попытка + ОтключитьОбновлениеТекстаРедактированияПолейВТекущемОкнеРасширение(Ложь); + Исключение + ТекстСообщения = Локализовать("Не получилось в текущем окне отключить возможность затирания текста в полях"); + ЗаписатьЛогВЖРОшибка("ОтключитьДляПолейВозможностьЗатиранияТекстаПриЗавершенииСерверногоВызоваПриОткрытииОкна", ТекстСообщения); + КонецПопытки; + +КонецПроцедуры + #КонецОбласти #Область ОбщегоНазначения @@ -14009,6 +14041,75 @@ КонецФункции +//Существует проблема, что при синхронизации состояния формы после завершения серверного вызова, может затираться текст, который в данный момент редактирует пользователь. +//В тестах это может проявляться так, что тест ввёл значение в поле, но до того как он начал работать с другим полем данное значение было возвращено в предыдущее состояние. +//Данный метод меняет свойство "ОбновлениеТекстаРедактирования" у полей формы, чтобы избежать этого эффекта. +&НаКлиенте +Процедура ОтключитьОбновлениеТекстаРедактированияПолейВТекущемОкнеРасширение(ВызыватьИсключение) Экспорт + + АктивноеОкно = ПолучитьАктивноеОкноИзТестовоеПриложение(); + ЗаголовокАктивногоОкна = АктивноеОкно.Заголовок; + + Если ЭтоМодальныйДиалог(АктивноеОкно) Тогда + Возврат; + ИначеЕсли ПустаяСтрока(ЗаголовокАктивногоОкна) Тогда + Возврат; + ИначеЕсли ОкнаДляКоторыхНеНужноОтключатьОбновлениеТекстаРедактирования[НРег(ЗаголовокАктивногоОкна)] <> Неопределено Тогда + Возврат; + КонецЕсли; + + Если Найти(ЗаголовокАктивногоОкна, "(") = 0 И Найти(ЗаголовокАктивногоОкна, " от ") = 0 Тогда + // Проверка на формы справочников и документов. + // У справочников в скобках указано имя справочника. + // У документов либо написано (создание) либо есть в заголовоке дата, и там написано " от " + Возврат; + КонецЕсли; + + ОткрытьНавигационнуюСсылку("e1cib/app/Обработка.VAExtension_ДанныеТекущегоОкна"); + + ФормаОбработки = КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемаяФорма"),,"*VAExtension_ДанныеТекущегоОкна*",10); + Если ФормаОбработки = Неопределено Тогда + Возврат; + КонецЕсли; + + РеквизитВыражениеВычислено = ФормаОбработки.НайтиОбъект(,,"ВыражениеВычислено"); + РеквизитЗначениеРезультат = ФормаОбработки.НайтиОбъект(,,"ЗначениеРезультат"); + РеквизитЗначениеВыражение = ФормаОбработки.НайтиОбъект(,,"ЗначениеВыражение"); + + Если НЕ ВызыватьИсключение Тогда + РеквизитВызыватьИсключение = ФормаОбработки.НайтиОбъект(,,"ВызыватьИсключение"); + //Снятие флага вызова исключения + РеквизитВызыватьИсключение.УстановитьОтметку(); + КонецЕсли; + + РеквизитЗначениеЗаголовокОкна = ФормаОбработки.НайтиОбъект(,,"ЗначениеЗаголовокОкна"); + РеквизитЗначениеЗаголовокОкна.ВвестиТекст(ЗаголовокАктивногоОкна); + + КнопкаУстановитьСвойствоОбновлениеТекстаРедактирования = ФормаОбработки.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"),,"УстановитьСвойствоОбновлениеТекстаРедактирования"); + КнопкаУстановитьСвойствоОбновлениеТекстаРедактирования.Нажать(); + + Попытка + БылаОшибка = Истина; + ОжиданиеОкончанияОбработки(БылаОшибка, РеквизитВыражениеВычислено); + Если БылаОшибка Тогда + СтрокаСообщения = Локализовать("Не получилось выполнить выражение в контексте текущей формы клиента тестирования."); + ВызватьИсключение СтрокаСообщения; + КонецЕсли; + + ПредставлениеДанных = ПолучитьПредставлениеДанныхЭлементаФормы(РеквизитЗначениеРезультат); + + КнопкаЗакрытьФорму = ФормаОбработки.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"),,"ЗакрытьФорму"); + Попытка + КнопкаЗакрытьФорму.Нажать(); + Исключение + ЗаписатьЛогВЖРИнформация("ВычислениеВыражения", ОписаниеОшибки()); + КонецПопытки; + Исключение + ЗаписатьЛогВЖРИнформация("ЯВыполняюВыражениеВТекущемОкнеРасширение", ОписаниеОшибки()); + КонецПопытки; + +КонецПроцедуры + #КонецОбласти #Область РаботаСПеременнымиКонтекста From ad7979af078c64ff148772aecc8bc626037635be Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:21:49 +0300 Subject: [PATCH 16/23] =?UTF-8?q?=D0=92=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=20=D1=81=D0=B0=D0=BC=D0=BE=D1=82=D0=B5=D1=81=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=D1=8B=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B0=20=D0=BB=D0=B8=D1=88=D0=BD?= =?UTF-8?q?=D1=8F=D1=8F=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D1=8C=20=D0=B2=20?= =?UTF-8?q?=D0=BB=D0=BE=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 117aafc469..70b5a1cef7 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7140,7 +7140,7 @@ ЗаписатьЛогВЖРИнформация("ВыполнитьШаг.СтекВызова", ПодробноеПредставлениеОшибки); ТекШаг.Вставить("ОписаниеОшибки", ПодробноеПредставлениеОшибки); - Если Объект.ДелатьЛогВыполненияСценариевВТекстовыйФайл Тогда + Если Объект.ДелатьЛогВыполненияСценариевВТекстовыйФайл И НЕ Объект.РежимСамотестирования Тогда ЗаписатьСтрокуВТекстовыйЛогИлиКонсоль(ПодставитьПараметрыВСтроку( Локализовать("Шаг упал в секции Попытка/Исключение: <%1>"), ТекШаг.Имя @@ -30293,7 +30293,7 @@ ЗаписатьЛогВЖРИнформация("ВыполнитьШаг.ПопыткаИсключение", ТекШаг.Имя + Символы.ПС + СтрОшибка); ЗаписатьЛогВЖРИнформация("ВыполнитьШаг.СтекВызова", ПодробноеПредставлениеОшибки); - Если Объект.ДелатьЛогВыполненияСценариевВТекстовыйФайл Тогда + Если Объект.ДелатьЛогВыполненияСценариевВТекстовыйФайл И НЕ Объект.РежимСамотестирования Тогда ЗаписатьСтрокуВТекстовыйЛогИлиКонсоль(ПодставитьПараметрыВСтроку( Локализовать("Шаг упал в секции Попытка/Исключение: <%1>"), ТекШаг.Имя From 9e37d8c7e8e7d53987a17fddafc2fef7ed3e11d7 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:23:07 +0300 Subject: [PATCH 17/23] =?UTF-8?q?=D0=A3=D1=82=D0=BE=D1=87=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D1=80=D0=BE=D0=BA,=20=D0=BA?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D1=81=D1=87=D0=B8=D1=82?= =?UTF-8?q?=D0=B0=D1=8E=D1=82=D1=81=D1=8F=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 70b5a1cef7..6c6c70ae6d 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -29508,6 +29508,7 @@ ИЛИ Найти(Стр, "Поле объекта не обнаружено") > 0 ИЛИ Найти(Стр, "Процедура или функция с указанным именем уже определена") > 0 ИЛИ Найти(Стр, "Процедура или функция с указанным именем не определена") > 0 + ИЛИ Найти(Стр, "Переменная не определена") > 0 ИЛИ Найти(Стр, "Нарушение прав доступа") > 0 ИЛИ Найти(Стр, "Обращение к процедуре как к функции") > 0 ИЛИ Найти(Стр, "Показанные в таблице документы не удалось пометить на удаление") > 0 @@ -29520,7 +29521,10 @@ ИЛИ Найти(Стр, "Ошибка инициализации модуля") > 0 ИЛИ Найти(Стр, "Запуск программы невозможен") > 0 ИЛИ Найти(Стр, "возникла непредвиденная ошибка") > 0 - ИЛИ Найти(Стр, "Не удалось заблокировать таблицу") > 0 Тогда + ИЛИ Найти(Стр, "Не удалось заблокировать таблицу") > 0 + ИЛИ Найти(Стр, "Ошибка компиляции при вычислении выражения или выполнении фрагмента кода") > 0 + ИЛИ Найти(Стр, "{<Неизвестный модуль>(") > 0 + ИЛИ Найти(Стр, "Не удалось инициализировать схему запроса") > 0 Тогда Возврат Истина; КонецЕсли; From e98f38e2de30165b34f4049322d355ffef162195 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:24:03 +0300 Subject: [PATCH 18/23] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=87?= =?UTF-8?q?=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=20=D0=B8=D0=B7=20=D0=B4=D0=B2=D0=BE=D0=B8?= =?UTF-8?q?=D1=87=D0=BD=D1=8B=D1=85=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 74 ++++++++++++------- 1 file changed, 48 insertions(+), 26 deletions(-) diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6c6c70ae6d..f98baeec2a 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -33374,18 +33374,23 @@ &НаСервереБезКонтекста Функция ПолучитьТабличныйДокументНаСервере(Знач АдресВременногоХранилища, Знач Расширение = Неопределено) ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); - Если Расширение = Неопределено Тогда - ИмяВременногоФайла = ПолучитьИмяВременногоФайла("mxl"); - Иначе - ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение); - КонецЕсли; - ДвоичныеДанные.Записать(ИмяВременногоФайла); - - ТабличныйДокумент = ПрочитатьФайлВТабличныйДокументНаСервере(ИмяВременногоФайла); Попытка - УдалитьФайлы(ИмяВременногоФайла); + ТабличныйДокумент = ТабличныйДокументИзДвоичныхДанныхПоток(ДвоичныеДанные); Исключение + Если Расширение = Неопределено Тогда + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("mxl"); + Иначе + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение); + КонецЕсли; + ДвоичныеДанные.Записать(ИмяВременногоФайла); + + ТабличныйДокумент = ПрочитатьФайлВТабличныйДокументНаСервере(ИмяВременногоФайла); + + Попытка + УдалитьФайлы(ИмяВременногоФайла); + Исключение + КонецПопытки; КонецПопытки; Возврат ТабличныйДокумент; @@ -40164,15 +40169,22 @@ Функция ПреобразоватьФайлМакетаВМассивСервер(Знач ДанныеМакета, Знач ДопПараметры) Если ТипЗнч(ДанныеМакета) = Тип("ДвоичныеДанные") Тогда - ИмяВременногоФайла = ПолучитьИмяВременногоФайла("mxl"); - - ДанныеМакета.Записать(ИмяВременногоФайла); - - ТД = ПрочитатьФайлВТабличныйДокументНаСервере(ИмяВременногоФайла); Попытка - УдалитьФайлы(ИмяВременногоФайла); + + ТД = ТабличныйДокументИзДвоичныхДанныхПоток(ДанныеМакета); + Исключение + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("mxl"); + + ДанныеМакета.Записать(ИмяВременногоФайла); + + ТД = ПрочитатьФайлВТабличныйДокументНаСервере(ИмяВременногоФайла); + + Попытка + УдалитьФайлы(ИмяВременногоФайла); + Исключение + КонецПопытки; КонецПопытки; Возврат ПреобразоватьТабличныйДокументВМассив(ТД, ДопПараметры); @@ -40445,15 +40457,19 @@ &НаСервереБезКонтекста Функция ТабличныйДокументИзДвоичныхДанных(Знач ФайлМакета) - ИмяВременногоФайла = ПолучитьИмяВременногоФайла("mxl"); - - ФайлМакета.Записать(ИмяВременногоФайла); - - ТД = ПрочитатьФайлВТабличныйДокументНаСервере(ИмяВременногоФайла); - Попытка - УдалитьФайлы(ИмяВременногоФайла); + ТД = ТабличныйДокументИзДвоичныхДанныхПоток(ФайлМакета); Исключение + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("mxl"); + + ФайлМакета.Записать(ИмяВременногоФайла); + + ТД = ПрочитатьФайлВТабличныйДокументНаСервере(ИмяВременногоФайла); + + Попытка + УдалитьФайлы(ИмяВременногоФайла); + Исключение + КонецПопытки; КонецПопытки; Возврат ТД; @@ -40484,10 +40500,16 @@ ИмяВременногоФайла = Неопределено; Если ТипЗнч(ДанныеМакета) = Тип("ТабличныйДокумент") Тогда ТД = ДанныеМакета; - Иначе - ИмяВременногоФайла = ПолучитьИмяВременногоФайла("mxl"); - ДанныеМакета.Записать(ИмяВременногоФайла); - ТД = ПрочитатьФайлВТабличныйДокументНаСервере(ИмяВременногоФайла); + Иначе + + Попытка + ТД = ТабличныйДокументИзДвоичныхДанныхПоток(ДанныеМакета); + Исключение + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("mxl"); + ДанныеМакета.Записать(ИмяВременногоФайла); + ТД = ПрочитатьФайлВТабличныйДокументНаСервере(ИмяВременногоФайла); + КонецПопытки; + КонецЕсли; Если СчитываниеМакетаНачСтр = 1 И СчитываниеМакетаНачКол = 1 From 4c5d477e475383f96e654bc6964d828c037ca4ff Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:24:36 +0300 Subject: [PATCH 19/23] =?UTF-8?q?=D0=94=D0=BE=D0=BF=20=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f98baeec2a..06e58850eb 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -33543,7 +33543,7 @@ ВыполненаОбработкаЗавершенияВыполненияСценариев = Истина; - ЗаписатьЛогВЖРИнформация("ЗавершениеВыполненияСценариев", Локализовать("Начало работы алгоритма по завершению выполнения сценариев.")); + ЗаписатьЛогВЖРИнформация("ЗавершениеВыполненияСценариев", Локализовать("Начало работы алгоритма по завершению выполнения сценариев.") + "1"); Если НужноПоказатьОкноОстановкиВыполненияСценария() Тогда ЗакрытьОкноОстановкиВыполненияСценария(); @@ -33564,6 +33564,8 @@ МодульРедакторТекста().УстановитьЗначенияПеременныхVanessaEditor(); + ЗаписатьЛогВЖРИнформация("ЗавершениеВыполненияСценариев", Локализовать("Начало работы алгоритма по завершению выполнения сценариев.") + "2"); + СоздатьФайлHTMLИнструкции(); СоздатьФайлMarkdownИнструкции(); ЗавершитьЗаписьВидео(); @@ -33573,6 +33575,9 @@ ОбновитьСтатусыКнопокСценариев(); СделатьСообщениеВсеСценарииОбработаны(); + + ЗаписатьЛогВЖРИнформация("ЗавершениеВыполненияСценариев", Локализовать("Начало работы алгоритма по завершению выполнения сценариев.") + "3"); + Если Объект.ДелатьОтчетВФорматеАллюр Тогда ЗаписатьЛогВЖРИнформация("ЗавершениеВыполненияСценариев", "ФормированиеОтчетаAllure"); @@ -33730,6 +33735,8 @@ КонецЕсли; + ЗаписатьЛогВЖРИнформация("ЗавершениеВыполненияСценариев", Локализовать("Начало работы алгоритма по завершению выполнения сценариев.") + "4"); + Если Объект.ЗавершитьРаботуСистемыПослеВыполненияВсехСценариев Тогда ЗаписатьЛогВЖРИнформация("ЗавершениеВыполненияСценариев", "ОбработчикОжиданияПрекратитьРаботуСистемы"); ПодключитьОбработчикОжидания("ОбработчикОжиданияПрекратитьРаботуСистемы", 1, Истина); @@ -33743,6 +33750,8 @@ ЗакрытьТекущуюВкладкуРедактора(); КонецЕсли; + ЗаписатьЛогВЖРИнформация("ЗавершениеВыполненияСценариев", Локализовать("Начало работы алгоритма по завершению выполнения сценариев.") + "5"); + Оповестить("ОкончаниеВыполненияСценариевVanessaAutomation"); #КонецЕсли From cf1cdab6fa343ad6f00f5c8adb5ed4df781245dc Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:25:02 +0300 Subject: [PATCH 20/23] =?UTF-8?q?=D0=A8=D0=B0=D0=B3=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D0=B2=20=D0=BF=D0=BE=D0=BB=D1=8F=D1=85=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20#22?= =?UTF-8?q?52?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 06e58850eb..53ff21f68c 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -44315,6 +44315,7 @@ ИмяФайлаОстановкаВыполненияСценария = Неопределено; НомерПопыткиВыполненияСценария = 0; ЗакрыватьСистемныеДиалогиЕслиПослеИзЗакрытияМожноПродолжитьВыполнениеСценария = Истина; + ОкнаДляКоторыхНеНужноОтключатьОбновлениеТекстаРедактирования = ОкнаДляКоторыхНеНужноОтключатьОбновлениеТекстаРедактирования(); Если ТипЗнч(Объект.ДополнительныеПараметры) = Тип("Структура") Тогда Если Объект.ДополнительныеПараметры.Свойство("КешПараметровЗапуска") Тогда @@ -51095,6 +51096,28 @@ КонецФункции +&НаСервереБезКонтекста +Функция ТабличныйДокументИзДвоичныхДанныхПоток(ДвДанные) + + ТабДок = Новый ТабличныйДокумент; + Поток = ДвДанные.ОткрытьПотокДляЧтения(); + ТабДок.Прочитать(Поток); + Поток.Закрыть(); + + Возврат ТабДок; + +КонецФункции + +&НаКлиенте +Функция ОкнаДляКоторыхНеНужноОтключатьОбновлениеТекстаРедактирования() + + Результат = Новый Соответствие; + Результат.Вставить(НРег("Редактирование выбранных полей"), Истина); + + Возврат Результат; + +КонецФункции + #КонецОбласти #Область Настройки @@ -53030,6 +53053,7 @@ ТаблицаИменНоваяСтрока("ПодключатьГорячуюКлавишуДляПолученияСправкиОбЭлементе", "ConnectAHotkeyToGetHelpAboutCurrentItem", ТаблицаИмен, НижнийРегистр); ТаблицаИменНоваяСтрока("ЗакрыватьСценарийИнтерактивнойСправкиПослеВыполнения", "CloseInteractiveHelpScriptAfterExecution", ТаблицаИмен, НижнийРегистр); ТаблицаИменНоваяСтрока("ПоказыватьПомощникПриПервомЗапуске", "ShowHelperOnFirstLaunch", ТаблицаИмен, НижнийРегистр); + ТаблицаИменНоваяСтрока("ОтключатьДляПолейВозможностьЗатиранияТекстаПриСерверномВызове", "DisableForFieldsAbilityToOverwriteTextWhenServerCall", ТаблицаИмен, НижнийРегистр); ТаблицаИменНоваяСтрока("ОбучениеЗапуститьУрок", "LearningRunLesson", ТаблицаИмен, НижнийРегистр); ТаблицаИменНоваяСтрока("ОбучениеВидео", "LearningVideo", ТаблицаИмен, НижнийРегистр); From 529a04abeaf115e7d2bc43afebc17b681c3cf478 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:25:32 +0300 Subject: [PATCH 21/23] =?UTF-8?q?=D0=9E=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0=D1=87=D0=B8=20=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D1=85=20=D0=BC=D0=B5=D0=B6=D0=B4=D1=83=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=BE=D0=BC=20=D0=B8=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BE=D0=BC=20=D0=B2=20?= =?UTF-8?q?=D1=88=D0=B0=D0=B3=D0=B5=20"=D0=98=20=D1=8F=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D1=8F=D1=8E=20=D0=BA=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=B2=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BD=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=8F=D0=B7=D1=8B=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=B5=20=D1=81=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=B0=D1=87=D0=B5=D0=B9=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D1=85"=20#2249?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 3 +++ 1 file changed, 3 insertions(+) diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 53ff21f68c..93c0eac7b1 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -44968,6 +44968,9 @@ СлужебныеПеременныеКонтекста.Вставить("ТекущийПрофильTestClient", Истина); СлужебныеПеременныеКонтекста.Вставить("ПодключенныеTestClient", Истина); СлужебныеПеременныеКонтекста.Вставить("_ДанныеФайловПриСохраненииМакета", Истина); + СлужебныеПеременныеКонтекста.Вставить("_ЭлементФормы", Истина); + СлужебныеПеременныеКонтекста.Вставить("_ОтборЭлементов", Истина); + СлужебныеПеременныеКонтекста.Вставить("_ПодсказкаЭлементаФормы", Истина); КонецПроцедуры From 83c3fd3fc325e2368e1866c23d79d4fafa87195c Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:26:03 +0300 Subject: [PATCH 22/23] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=BE=D0=B5=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B4=D0=BE=D0=BB=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81?= =?UTF-8?q?=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D1=8F,=20=D0=B5=D1=81?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=BF=D0=BE=D1=8F=D0=B2=D0=B8=D0=BB=D1=81=D1=8F?= =?UTF-8?q?=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D0=B4=D0=B8=D0=B0=D0=BB=D0=BE=D0=B3=20=D0=B8=20=D0=B2=D0=BE?= =?UTF-8?q?=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=20=D0=B5=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BA=D1=80=D1=8B=D1=82=D1=8C=20=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B4=D0=BE=D0=BB=D0=B6=D0=B8=D1=82=D1=8C=20=D1=81?= =?UTF-8?q?=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B9=20#2242?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 93c0eac7b1..23b36db474 100644 --- "a/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/VanessaAutomation/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -51032,7 +51032,7 @@ ТекстСообщения = Локализовать("Закрыт системный дилалог <%1>. Выполнение сценария продолжено."); ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ЗаголовокОкнаДиалога); ЗаписатьЛогВЖРИнформация("ЗакрытьСистемныйДиалогКоторыйМешаетПродолжитьСценарий", ТекстСообщения); - + ЗаписатьСтрокуВТекстовыйЛогИлиКонсоль(ТекстСообщения); Возврат Истина; КонецЕсли; КонецЕсли; From 4842d76102dbead41ea66164496f55b559483155 Mon Sep 17 00:00:00 2001 From: Pautov Leonid Date: Sat, 21 Dec 2024 21:26:24 +0300 Subject: [PATCH 23/23] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F.=20?= =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=20=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VanessaAutomation/Ext/ObjectModule.bsl | 2 +- docs/Changelog.md | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/VanessaAutomation/Ext/ObjectModule.bsl b/VanessaAutomation/Ext/ObjectModule.bsl index ea53c25b8a..475f2539b3 100644 --- a/VanessaAutomation/Ext/ObjectModule.bsl +++ b/VanessaAutomation/Ext/ObjectModule.bsl @@ -472,7 +472,7 @@ КонецФункции Функция ПолучитьВерсиюОбработки(ДобавлятьНазвание = Истина, ТолькоЦифры = Ложь) Экспорт - Версия = "1.2.041.34"; + Версия = "1.2.041.37"; Если ТолькоЦифры Тогда Возврат Версия; diff --git a/docs/Changelog.md b/docs/Changelog.md index 40a3b866a4..fe6d14e8ac 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -1,11 +1,12 @@ # История версий -## 1.2.041.34 +## 1.2.041.37 ### Новые возможности * Настройка для стабилизации выполнения тестов - МаксимальноеВремяВыполненияДействия #2135 * Явное указание каталога для выполнения системных скриптов #2162 * Генерация шага по текущей строке табло переменных #2188 +* Нужна возможность указывать имена колонок в таблицах не полностью, используя символы * #2215 ### Новые шаги * И я придумываю новую фамилию и запоминаю в переменную "ИмяПеременной" #2082 @@ -79,6 +80,9 @@ * Тогда переменная "ИмяПеременной" имеет значение "ЗначениеПеременной" по шаблону #2213 * И я отменяю выбор файла #2218 * И я запоминаю заголовок поля с именем "ИмяПоля" как "ИмяПеременной" #2239 +* И текущее время в диапазоне от "23:30:00" до "23:59:59" #2251 +* Тогда я жду наступления времени "00:00:00" #2251 +* И я отключаю обновление текста редактирования полей в текущем окне (расширение)#2252 ### Разные доработки @@ -115,9 +119,9 @@ * Возможность запуска генератора дымовых тестов через vanessa-runner с указанием VBParams, т.к. пока vanessa-runner не может передавать VAParams #2227 * Снятие скриншотов до того как происходит снятие данных текущей формы #2241 * Автоматическое продолжение сценария, если появился системный диалог и возможно его закрыть и продолжить сценарий #2242 -* Нужна возможность указывать имена колонок в таблицах не полностью, используя символы * #2215 * Поддержать возможность использовать старый алгоритм установки внешней компоненты VanessaExt #2243 * Вызов справки по элементу Alt+H когда не установлен флаг "Подключить горячую клавишу для получения справки об элементе" #2244 +* Шаг и опция для отключения затирания текста в полях при завершении серверного вызова #2252 * Поддержка 8.3.25 #2119 - ОчиститьРезультатДиалогаВыбораФайла - позволяет очистить массив строк, который используется для выбора файла - ВвестиHTMLДокумента - позволяет ввести в поле HTML документа текст @@ -158,6 +162,8 @@ * Запуск сценария из фичи по тэгу отрабатывает без контекста #2161 Спасибо @akademik1986 * Правильная генерация шага нажатия на кнопку когда в логе действий пользователя нет имени кнопки #2206 * В попытке-искл происходят рандомные перепрыгивания активного курсора при нажатии на F11 #2214 Спасибо @Reheab +* Опечатка в реализации шага 'И я записываю документ в режиме "Проведение" с вызовом исключения' #2248 Спасибо @amiralnar +* Ошибка передачи данных между клиентом и сервером в шаге "И я выполняю код встроенного языка на сервере с передачей переменных" #2249 Спасибо @amiralnar ### Переименования шагов шаги