diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml deleted file mode 100644 index f0ab45f6..00000000 --- a/.github/workflows/sonar.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Контроль качества - -on: - push: - pull_request: - workflow_dispatch: - workflow_call: - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Актуализация - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Извлечение версии конфигурации - shell: bash - run: echo "version=`cat ./src/cf/Configuration.xml | grep -Po '(?<=)(.*)(?=)' | gawk -F'.' '{print $1"." $2"." $3}'`" >> $GITHUB_OUTPUT - id: extract_version - - - name: Вычисление имени ветки - uses: nelonoel/branch-name@v1.0.1 - - - name: Настройка sonar-scanner - uses: warchant/setup-sonar-scanner@v8 - - # Анализ проекта в SonarQube (ветка) - - name: Анализ в SonarQube (branch) - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: sonar-scanner - -Dsonar.host.url=https://sonar.openbsl.ru - -Dsonar.branch.name=${{ env.BRANCH_NAME }} - -Dsonar.projectVersion=${{ steps.extract_version.outputs.version }} - # Анализ проекта в SonarQube (пулл-реквест) - - name: Анализ в SonarQube (pull-request) - if: github.event_name == 'pull_request' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: sonar-scanner - -Dsonar.host.url=https://sonar.openbsl.ru - -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} - -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} - -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} - -Dsonar.scm.revision=${{ github.event.pull_request.head.sha }} diff --git "a/features/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260 \320\277\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205 \320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\271.feature" "b/features/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260 \320\277\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205 \320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\271.feature" new file mode 100644 index 00000000..6fb86f6d --- /dev/null +++ "b/features/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260 \320\277\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\321\205 \320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\271.feature" @@ -0,0 +1,28 @@ +#language: ru + +@tree + +Функционал: подсистема предопределенных значений + +Контекст: + Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий + +Сценарий: проверка создания предопределенных элементов плана видов характеристик +* Заполнение предопределенных из кода + Дано Я открываю основную форму списка плана видов характеристик 'пбп_ПредопределенныеЗначения' + Тогда открылось окно 'Предопределенные значения' + И я нажимаю на кнопку с именем 'ФормаЗаполнитьПредопределенные' +* Проверка наличия предопределенного элемента + И в таблице "Список" я перехожу на один уровень вниз + И в таблице "Список" я перехожу к строке: + | 'Идентификатор настройки' | 'Код' | 'Наименование' | 'Пароль' | + | 'КолДнейХраненияИсторииИнтеграции' | '000000004' | 'Количество дней хранения истории интеграции' | 'Нет' | + И в таблице "Список" я активизирую поле с именем "Наименование" + И в таблице "Список" я выбираю текущую строку + Тогда открылось окно 'Количество дней хранения истории интеграции (Предопределенные значения)' +* Дозаполнение предопределенного элемента + И в поле с именем 'Значение' я ввожу текст '28' + И я нажимаю на кнопку с именем 'ФормаЗаписатьИЗакрыть' + И я жду закрытия окна 'Количество дней хранения истории интеграции (Предопределенные значения) *' в течение 20 секунд + Тогда открылось окно 'Предопределенные значения' + И Я закрываю окно 'Предопределенные значения' \ No newline at end of file diff --git "a/features/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260 \321\203\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\321\217 \320\270\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.feature" "b/features/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260 \321\203\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\321\217 \320\270\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.feature" new file mode 100644 index 00000000..626a618b --- /dev/null +++ "b/features/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260 \321\203\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\321\217 \320\270\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.feature" @@ -0,0 +1,75 @@ +#language: ru + +@tree + +Функционал: подсистема управления интеграциями + +Контекст: + Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий + +Сценарий: проверка создания предопределенных элементов подсистемы управления интеграциями +* Заполнение предопределенных из кода + И В командном интерфейсе я выбираю 'Управление интеграциями' 'Интегрируемые системы' + Тогда открылось окно 'Интегрируемые системы' + И я нажимаю на кнопку с именем 'ФормаЗаполнитьПредопределенные' + И В командном интерфейсе я выбираю 'Управление интеграциями' 'Интеграционные потоки' + Тогда открылось окно 'Интеграционные потоки' + И я нажимаю на кнопку с именем 'ФормаЗаполнитьПредопределенные' + И В командном интерфейсе я выбираю 'Управление интеграциями' 'Настройки интеграции' + Тогда открылось окно 'Настройки интеграции' + И я нажимаю на кнопку с именем 'ФормаЗаполнитьПредопределенные' +* Дозаполнение настройки интеграции + И в таблице "Список" я перехожу к строке: + | 'Код' | 'Наименование' | + | '000000001' | 'Интеграция с системой N' | + И в таблице "Список" я выбираю текущую строку + Тогда открылось окно 'Интеграция с системой N (Настройка интеграции)' + И я нажимаю кнопку выбора у поля с именем "ТипИнтеграции" + Тогда открылось окно 'Типы интеграций' + И в таблице "Список" я перехожу к строке: + | 'Код' | 'Наименование' | + | '000000001' | 'Файловые обмены' | + И в таблице "Список" я перехожу на один уровень вниз + И в таблице "Список" я перехожу на один уровень вниз + И в таблице "Список" я перехожу к строке: + | 'Код' | 'Наименование' | + | '000000017' | 'SFTP' | + И в таблице "Список" я выбираю текущую строку + И я нажимаю кнопку выбора у поля с именем "ИнтегрируемаяСистема" + Тогда открылось окно 'Интегрируемые системы' + И в таблице "Список" я перехожу к строке: + | 'Код' | 'Наименование' | + | '000000001' | 'Система N' | + И в таблице "Список" я выбираю текущую строку + И в поле с именем 'СтрокаПодключения' я ввожу текст '127.0.0.1' + И в таблице "СписокНастроек" я нажимаю на кнопку с именем 'СписокНастроекДобавитьОбщиеНастройки' + Тогда открылось окно 'Интеграция с системой N (Настройка интеграции) *' + И я нажимаю на кнопку с именем 'ФормаЗаписатьИЗакрыть' + И я жду закрытия окна 'Интеграция с системой N (Настройка интеграции) *' в течение 20 секунд +* Проверка существования предопределенного элемента интегрируемых систем + И В командном интерфейсе я выбираю 'Управление интеграциями' 'Интегрируемые системы' + Тогда открылось окно 'Интегрируемые системы' + И в таблице "Список" я перехожу к строке: + | 'Идентификатор настройки' | 'Код' | 'Наименование' | + | 'СистемаN' | '000000001' | 'Система N' | + И в таблице "Список" я выбираю текущую строку + Тогда открылось окно 'Система N (Интегрируемая система)' + И Я закрываю окно 'Система N (Интегрируемая система)' +* Дозаполнение интеграционного потока + И В командном интерфейсе я выбираю 'Управление интеграциями' 'Интеграционные потоки' + Тогда открылось окно 'Интеграционные потоки' + И в таблице "Список" я перехожу к строке: + | 'Код' | 'Наименование' | + | '000000001' | 'Интеграционный поток системы N' | + И в таблице "Список" я выбираю текущую строку + Тогда открылось окно 'Интеграционный поток системы N (Интеграционный поток)' + И я нажимаю кнопку выбора у поля с именем "НастройкаИнтеграции" + Тогда открылось окно 'Настройки интеграции' + И в таблице "Список" я перехожу к строке: + | 'Код' | 'Наименование' | + | '000000001' | 'Интеграция с системой N' | + И в таблице "Список" я выбираю текущую строку + Тогда открылось окно 'Интеграционный поток системы N (Интеграционный поток) *' + И в поле с именем 'ТочкаВхода' я ввожу текст '/test' + И я нажимаю на кнопку с именем 'ФормаЗаписатьИЗакрыть' + И я жду закрытия окна 'Интеграционный поток системы N (Интеграционный поток) *' в течение 20 секунд \ No newline at end of file diff --git a/jobConfiguration.json b/jobConfiguration.json index e6280707..1a426568 100644 --- a/jobConfiguration.json +++ b/jobConfiguration.json @@ -2,14 +2,20 @@ "$schema": "https://raw.githubusercontent.com/firstBitMarksistskaya/jenkins-lib/develop/resources/schema.json", "stages": { "initSteps": true, + "edtValidate": true, "syntaxCheck": true, "smoke": true, "yaxunit": true, "telegram": true, - "bdd": true + "bdd": true, + "sonarqube": true }, + "edtVersion": "2024.1.3:x86_64", "sourceFormat": "designer", "srcDir": "src/cf", + "resultsTransform": { + "transformer": "edt-ripper" + }, "initInfobase": { "initMethod": "fromSource", "extensions": [ @@ -25,10 +31,18 @@ "publishToAllureReport": false, "publishToJUnitReport": true }, + "bdd": { + "coverage": true + }, "yaxunit": { + "coverage": true, "publishToAllureReport": false, "publishToJUnitReport": true }, + "sonarqube": { + "sonarQubeInstallation": "Sonar.openbsl", + "waitForQualityGate": true + }, "notifications": { "telegram": { "onAlways":true diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" index 7685265b..fbfb935b 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" @@ -128,17 +128,6 @@ Normal b75fecce-942b-4aed-abc9-e6a02e460fb3 - - - - НастройкаИнтеграции - Items - None - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - Normal 911b6018-f537-43e8-a417-da56b22f9aec diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" index 390a8384..385d51c1 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" @@ -181,7 +181,7 @@ - ДатаОбмена + ДатаИнтеграцииВМиллисекундах Desc Normal diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" index b7cc2642..2ff92f59 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" @@ -128,17 +128,6 @@ Normal b75fecce-942b-4aed-abc9-e6a02e460fb3 - - - - ИнтегрируемаяСистема - Items - None - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - Normal 911b6018-f537-43e8-a417-da56b22f9aec diff --git a/tools/VBParams.json b/tools/VBParams.json index 6d796ce9..1c41cc88 100644 --- a/tools/VBParams.json +++ b/tools/VBParams.json @@ -37,9 +37,9 @@ "ЗапускатьКлиентТестированияСМаксимизированнымОкном": true, "ТаймаутЗапуска1С": 25, "ДиапазонПортовTestclient": "", - "ЗапускатьТестКлиентВРежимеОтладки": false, - "КлючиОтладки": "", - "АдресОтладчика": "", + "ЗапускатьТестКлиентВРежимеОтладки": true, + "КлючиОтладки": "-http", + "АдресОтладчика": "http://127.0.0.1:1550", "ДанныеКлиентовТестирования": [] }, "ДелатьОтчетВФорматеАллюр": true, diff --git a/tools/vrunner.json b/tools/vrunner.json index 99a7ac85..aaa7714c 100644 --- a/tools/vrunner.json +++ b/tools/vrunner.json @@ -5,11 +5,15 @@ "--db-user": "", "--db-pwd": "", "--workspace": ".", - "--ordinaryapp": "0" + "--ordinaryapp": "0", + "--additional": "/debug -http -attach /debuggerURL http://localhost:1550" }, "vanessa": { "--vanessasettings": "./tools/VBParams.json", "--pathvanessa": "./oscript_modules/vanessa-automation-single/vanessa-automation-single.epf", "--additional": "/DisplayAllFunctions /L ru" + }, + "xunit": { + "--testclient-additional": "/debug -http -attach /debuggerURL http://localhost:1550" } -} \ No newline at end of file +} diff --git a/tools/yaxunit.json b/tools/yaxunit.json index b5910455..cf7d2029 100644 --- a/tools/yaxunit.json +++ b/tools/yaxunit.json @@ -23,4 +23,4 @@ "level": "debug" }, "exitCode": "./build/out/yaxunit/result.txt" -} \ No newline at end of file +}