Теперь я использую это для запуска тестов. Я передаю в командной строке имя браузера и количество потоков помощи. pytest-xdist
def __init__(self, browser):
desired_capabilites = None
comand_executor = "http://localhost:4444/wd/hub"
if browser == "chrome":
desired_capabilites = {
"browserName": "chrome",
"maxInstances": 5
}
elif browser == "firefox":
desired_capabilites = {
"browserName": "firefox",
"maxInstances": 5
}
self.driver = webdriver.Remote(
command_executor=comand_executor,
desired_capabilities=desired_capabilites)
Но у этого метода, как мне кажется, есть несколько недостатков:
- Перед запуском всегда запускайте * selenium-server * (
java -jar selenium-standalone-server.jar
) - чтобы протестировать все в разных браузерах
- Я должен выполнить тесты дважды (один для chrome, второй для ff)
Можно ли как-нибудь автоматизировать запуск сервера?
А как параллельно запускать тесты в разных браузерах?
Отличным вариантом будет создание двух узлов и одновременное выполнение тестов на обоих. Или создайте несколько разных браузеров в одном узле и уже запускайте их. Но я не знаю как. Заранее благодарим за помощь