Python + Selenium: параллельное выполнение тестов
Как запустить несколько тестов параллельно? Тесты написаны на языке Python, пакет начинается с Дженкинса и проходит в лаборатории соусов.
Когда я настраиваю разные задания в jenkins и запускаю их одновременно, все они терпят неудачу, я думаю, что это потому, что они не настроены для такой работы.
Я прошу прощения, если это очень запутанный вопрос, я надеялся, что кто-то может указать мне правильное направление, и я готов предоставить дополнительную документацию.
Я проверил эту ссылку http://nose.readthedocs.org/en/latest/doc_tests/test_multiprocess/multiprocess.html
и я провожу тесты, используя нос, но не уверен, правильно ли я его настроил.
0 ответов
У меня также были проблемы с параллельным выполнением тестов Selenium под Windows и CentOS 7, а также с CPython 3.5.1 и CPython 3.4.6.
Я рекомендую вам перейти на pytest
и работать параллельно, используя pytest-xdist
, Github репозиторий, демонстрирующий, как объединить pytest
'pytest-xdist, and
selenium` доступен по адресу https://github.com/danizen/python-selenium-parallel.
Основные соображения - убедиться, что экземпляр Selenium Webdriver специфичен для процесса. Я рекомендую использовать для этого threading.local, но мой пример делает это, делясь только на уровне класса.
Я также думаю, что существует общая потребность предоставить способ DevOps и разработчикам указывать параметры для создания веб-драйвера Selenium на основе переменных среды или параметров командной строки. См. https://pypi.org/project/holmium.core/ чтобы узнать, как это сделать - они также могут поддерживать многопоточность, но я не уверен. Однако я не поддерживаю идею гольмия о объектах страницы, и многие сетки селена выращены в домашних условиях. См. https://github.com/ncbi/robotframework-pageobjects/ для другого способа сделать это, на этот раз с роботизированной рамой.
Обратите внимание, что разработка носа была остановлена, но я думаю, что она будет работать, по крайней мере, в Linux, если вы используете CPython 2.7.