Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Multiple browsers in Selenium with Python+ Nose+Jenkins


(Yegor ) #1

Добрый день!!!
Пытаюсь запустить одну и ту же серию тестов для разных браузеров (Firefox, IE,Chrome),для генерации отчета для Jenkins использую Nose :

for browser in config.browser_list:
print(“Running tests with %s” % browser)
os.environ[“BROWSER”] = browser
argv = sys.argv[:]
argv.insert(1,"–with-xunit")
argv.insert(2,"–xunit-file=test_output.xml")

но отчет генерируется только для последнего браузера ( из browser_list - Chrome). Подскажите ,пожалуйста, как поменять существующий код или каким кодом его заменить что бы получать полный отчет по всем браузерам!


(somaritane) #2

Похоже, что каждый раз перезаписывается xunit report “test_output.xml”.
Можно добавлять к имени отчета имя браузера, как то так:

argv.insert(2,"--xunit-file=test_output_%s.xml" % browser)

Jenkins, естественно, придется настроить на разные именя отчетов.


(Dmytro Makhno) #3

@somaritane, а дженкинс разрулит одни и теже имена тестов хоть и в разных файлах?


(somaritane) #4

@dmakhno, если использовать матричный (multi-configuration) проект, то разрулит. В качестве одной из осей (axiss) в конфигурационной матрице можно указать список браузеров, и передавать его скрипту через параметр или переменную окружения, убрав цикл по конфигурациям внутри скрипта.