Selenium Grid - jak ładnie informować na jakiej przeglądarce uruchomiły się testy.

0

Witam
Uruchamiam jednocześnie te same testy na dwóch nodach jednocześnie i niestety informacje z unittest są beznadziejne. Nie mówią na jakiej przeglądarce zostały uruchomione testy a tym bardziej na jakiej poszło coś nie tak.

Moje testy:

import unittest
import os
from selenium import webdriver


class SeleniumTest(unittest.TestCase):

    def setUp(self) -> None:
        caps = {'browserName': os.getenv('BROWSER', 'chrome')}
        self.browser = webdriver.Remote(command_executor='http://10.217.82.25:4444/wd/hub', desired_capabilities=caps)

    def test_pierwszy(self):
        self.browser.get('http://google.pl')

    def tearDown(self):
        self.browser.quit()


if __name__ == '__main__':
    unittest.main(warnings='ignore', verbosity=3)

Uruchamiam najpierw tak:

from subprocess import Popen


processes = []

for counter in range(1):
    chrome_cmd = 'export BROWSER=chrome && python main.py'
    firefox_cmd = 'export BROWSER=firefox && python main.py'
    processes.append(Popen(chrome_cmd, shell=True))
    processes.append(Popen(firefox_cmd, shell=True))

for counter in range(1):
    processes[counter].wait()

i dostaję wynik taki:

test_pierwszy (__main__.SeleniumTest) ... test_pierwszy (__main__.SeleniumTest) ... ok

----------------------------------------------------------------------
Ran 1 test in 1.149s

OK

Nie wiadomo jaki testy tyczy się jakiej przeglądarki. Na samym końcu jest tylko jedno ok.
Chciałbym uzyskać coś w tym stylu:

test_pierwszy (__main__.SeleniumTest-chrome) ... ok
test_pierwszy (__main__.SeleniumTest-firefox) ... ok

----------------------------------------------------------------------
Ran 1 test in 1.149s

OK

Czy jest to możliwe lub może ja idę w złą stronę i inaczej się uruchamia testy wielowątkowo ?

1

A spróbuj przerobić to na asyncio. Kiedyś puszczałem tak skrypty oparte na selenium (asynchroniczne skrapowanie kilku różnych web jednocześnie). Testy powinny się podobnie zachować.

0

@ledi12: Ale te rozwiązanie nie załatwia mi sprawy z informowaniem. Mam jeden zestaw testów który za pośrednictwem selenium Grid jest uruchamiany jednocześnie na wielu przeglądarkach. I mój problem jest taki że widnieje "test_pierwszy (main.SeleniumTest) ..." wiele razy. Jak wystąpi błąd to nie jestem wstanie stwierdzić czy ten błąd jest na Firefox czy na chrome. Wszędzie pisze test_pierwszy. Chciałbym do tej informacji o uruchomionym teście doklejać z jakiej to jest przeglądarki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1