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

Настроить запуск Python+Selene на Selenoid

selene
selenoid
python
Теги: #<Tag:0x00007f7b654ae240> #<Tag:0x00007f7b654ae0d8> #<Tag:0x00007f7b654adf98>

(Alexzoo) #1

тесты на python+selene, и есть выделенный сервер Selenoid

локально тесты запускаются и все хорошо, а вот запустить на Селеноиде пока не получилось, все равно запускаются локально. настройки такие:

from selene import config, browser
from selene.support import by
from selene.support.conditions import be, have
from selene.support.jquery_style_selectors import s
from selenium import webdriver

def setup():
capabilities = {
“browserName”: “chrome”,
“version”: “68.0”,
“enableVNC”: False,
“enableVideo”: False
}

driver = webdriver.Remote(command_executor="http://x.x.x.x:4444/wd/hub", desired_capabilities=capabilities)
driver.set_window_size(1920, 1080)

def test_1()

def_test_2
и тд

запускаю через py.test


(vania-pooh) #2

Капабилити похожи на правильные, URL тоже. Про остальное не знаю.


(Alexzoo) #3

урл то я специально затер.
а вот по поводу капабилити - мне бы конкретики немного.


(Roy Obenon) #4

а пинги проходят на сервер с селеноид? может firewall не пускает на него


(Остап Олексин) #5

В документции selene есть пример ручного создания драйвера:

from selene import browser 
from selenium import webdriver

# this allows you to provide additional driver customization
def setup_module(m):
    driver = webdriver.Remote(
        command_executor='http://127.0.0.1:4444/wd/hub',
        desired_capabilities={'browserName': 'htmlunit',
                              'version': '2',
                              'javascriptEnabled': True})
    browser.set_driver(driver)


# then you have to close driver manually
def teardown_module(m):
    browser.quit()

(Alexzoo) #6

Вот этот вариант заработал, НО только если запускать тесты через консоль командой:
py.test testname.py
Если запускать через PyCharm то все валиться с ошибками, с этим тоже надо разобраться.

def setup():
capabilities = {
“browserName”: “chrome”,
“version”: “68.0”,
“enableVNC”: False,
“enableVideo”: False
}

driver = webdriver.Remote(command_executor="http://х.х.х.х:4444/wd/hub", desired_capabilities=capabilities)
browser.set_driver(driver)
driver.set_window_size(1920, 1080)

def teardown():
browser.quit()