nixel2007 / tc-epf-template

Шаблон тестовой обработки для 1С:Тест-центр и Vanessa Automation
35 stars 10 forks source link

Поддержка доп. параметров клиентов тестирования и каталогов библиотек #7

Open vkostyanetsky opened 3 years ago

vkostyanetsky commented 3 years ago

Добавил поддержку доп. параметров клиентов тестирования (нужна, например, чтобы запускать информационную базу с интерфейсом на нужном языке) и возможность указать каталоги библиотек фич.

Реализация — два новых реквизита обработки, поля на форме для их заполнения и код в методе ЗаполнитьНастройкиVA().

nixel2007 commented 3 years ago

Я вот думаю, может вместо этих точечных параметров сделать поддержку передачи VAParams целиком?

vkostyanetsky commented 3 years ago

Можно и так, конечно.

vkostyanetsky commented 3 years ago

Попробовал. Выглядит изящнее (меньше кода, больше возможностей). Минус: не понятно, как быть с ключом /N в дополнительных параметрах клиентов.

По умолчанию Ванесса прописывает этот ключ самостоятельно, заполняя логином текущего пользователя. Это нормально, когда у нас конечное количество пользователей, но Тест-Центр генерирует множество учетных записей для ВРМ в зависимости от настроек сценария — например, Sales Manager_ТЦ000001, Sales Manager_ТЦ000002 и так далее. Таким образом, в роли нельзя указать заранее сгенерированный VAParams.json, иначе тест-клиент будет запускаться не под тем логином, который на самом деле нужен.

Можно добавить в обработку опцию «заменять логин клиента тестирования логином ВРМ». Как считаешь, нормальный вариант или есть более правильный подход?

Фрагмент VAParams, о котором я говорю:

    "TestClient": {
        "runtestclientwithmaximizedwindow": false,
        "testclienttimeout": 25,
        "testclientports": "",
        "testclientdebug": false,
        "testclientdebugkeys": "",
        "testclientdebugaddress": "",
        "datatestclients": [
            {
                "Name": "Этот клиент",
                "PathToInfobase": "File=\"C:\\1C\\Infobases\\LT\";",
                "PortTestClient": 0,
                "AddItionalParameters": "/N\"SM\" /Len /VLen ",
                "ClientType": "",
                "ComputerName": "localhost"
            }
        ]
    },
nixel2007 commented 3 years ago

Но ведь VA запускается в отдельных ВРМ под конкретными ТЦ_пользователями. Почему не подходит имя текущего пользователя? Я упускаю что-то?

vkostyanetsky commented 3 years ago

Насколько я понимаю, получится примерно так:

  1. Тест-Центр запускает ВРМ под логином User_ТЦ000001.
  2. Обработка запуска фичи открывает обработку Ванессы; та автоматом прописывает \N"User_ТЦ000001" в дополнительных параметрах клиента. На этом этапе всё о'кей.
  3. Обработка запуска фичи вызывает ЗагрузитьНастройкиИзФайлаЗавершение() в форме Ванессы, подсовывая ей указанный в настройках роли VAParams.json. При этом таблица тест-клиентов заменяется содержимым блока datatestclients из указанного файла.

При этом затирается и \N"User_ТЦ000001", который был прописан на втором шаге — либо заменяется на то, что было в файле (например, \N"Administrator"), либо вообще исчезает, если в файле этого параметра нет.

Гоню?

nixel2007 commented 3 years ago

Да вроде нет, похоже на правду. Надо попробовать у @Pr-Mex спросить в телеграме, можно ли реализовать нужный сценарий.