Можем ли мы изменить мультикапабилии в промежутках между тестами в транспортире?

Я использую транспортир-огурец (транспортир 5.2.2 и огурец 3.2.0).

У меня есть такие требования - размещение некоторых деталей (из БД) в приложении с разными учетными данными пользователя.

В настоящее время я использую единственные учетные данные для входа. Итак, в beforeLaunch() мне нужно вызвать одну функцию (которая создает временную таблицу, содержащую все данные для ввода для этого пользователя), она разделит данные для каждого набора (пусть это будет набор 1, набор 2 и набор 3). И я запускаю сценарий автоматизации в 3 узлах с помощью selenium grid, передавая этот набор чисел в запрос (который используется для извлечения данных из временной таблицы в соответствии с заданным номером).

В моем js файле есть цикл для ввода данных построчно. И я установил getMultiCapabilities() динамически (разделив общее количество строк таблицы для данного пользователя на постоянное число).

Я могу успешно запустить его вот так. Но когда мне нужно запустить для нескольких пользователей, каждый узел может иметь данные для разных пользователей. Поэтому мне нужно работать таким образом, чтобы обрабатывать одного пользователя за раз во всех потоках, а затем для следующего пользователя.

Возможно ли это сделать так? Заранее спасибо.


person Devleena    schedule 23.10.2018    source источник


Ответы (1)


У вас есть хитрый способ запускать тесты. Я уверен, что это можно было бы сделать более «понятным» способом.

Но если это не нарушит ваш поток, я думаю, вы могли бы заархивировать то, что хотите, создав несколько config файлов. Где вы будете хранить конкретные данные для каждого пользователя.

Лучше разбить логику. В тестовых файлах спецификаций не должно быть ничего конкретного о пользователе, только что-то const user = someClass.getUser(). Отдельно у вас должен быть какой-то класс, который управлял этими пользователями. И снова, отдельно, класс, в котором вы получаете и получаете и ... данные о пользователе X из БД, файловой системы или API или чего-то еще.

person Oleksii    schedule 24.10.2018