Тесты Selenium в Python Interpriter с параметрами ввода и вывода и ролями - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь найти лучшее решение для программирования тестов селена на python.

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

У меня есть * .py файлы сценариев, например: some_role.py и runner.py

Сначала я выбираю запустить его через файл runner, куда я отправляю аргументы, которые выполняются на консоли.

Например, если мне нужно запустить тест some_role.py n раз:

for i in range(n)
   cmd='python crawler.py' + arg1 + arg2
some_role_props.append(subprocess.Popen(cmd, 
shell=True, stout=subprocess.PIPE))

Затем я ловлю их с помощью sys.argv

Все нормально, когда я отправляюпараметры простых строк.Проблема в том, что я пытаюсь отправить объекты Python, такие как словарь.

Я пытался отправить словари с сериализацией json (Json.dump).Но я не могу получить это в роли role.py.(Json.loads не помогает. Literal.eval тоже не может его проанализировать) Лучшее, что я мог получить на role.py, - это строка.

Итак, вопрос в том, какой самый эффективный способ запускатесты?Есть ли лучший способ, чем использовать файлы cmd, subprocess или shell?Могу ли я запустить его только с объектами Python и интерпретатором Python?Стоит ли использовать несколько многопоточных библиотек?

...