Что лучше / проще всего было выполнить параллельные наборы тестов с использованием python unittest и Selenium / LambdaTest? - PullRequest
0 голосов
/ 19 июня 2020

Я запускаю несколько тестов, используя python и unittest. Для кроссбраузерного тестирования я использую Selenium и LambdaTest. На веб-сайте LambdaTest есть множество руководств, и один из них предлагает, чтобы для параллельного запуска тестов вы должны выполнить в cmd что-то вроде следующего:

python test1 &
python test2 &
python test3 &
....

В моем случае (и в случае с учебное пособие, которое я прочитал) все тестовые файлы одинаковы, за исключением desired_capabilities, который сообщает LambdaTest, в каком браузере и ОС запускать тесты. Это кажется громоздким. Кроме того, Powershell не позволяет легко выполнять множественное выполнение с &.

PyTest позволяет вам передавать параметры фикстуры при запуске набора тестов, чтобы я мог сделать что-то вроде

python test --chrome edge firefox opera

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

Внутри теста setUp() У меня есть различные возможности определено:

safari_cap = {
            "build": "test name",
            "name": "development",
            "platform": "MacOS Catalina",
            "browserName": "Safari",
            "version": "12.0",
            "selenium_version": "3.141.0",
            "idleTimeout": "120",
            "video": True
        }

        chrome_cap = {
            "name": "test name",
            "build": "development",
            'platform': "win10",
            'browserName': "chrome",
            'version': "73.0",
            "video": True,
            "idleTimeout": "120"
        }

Мой вопрос заключается в том, есть ли какой-нибудь простой способ передать аргументы с помощью unittest, чтобы на основе переданных аргументов можно было бы использовать правильные возможности для запуска набора или параллельных тестов через LambdaTest.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...