atst/tests/acceptance/conftest.py
2018-10-15 09:10:08 -04:00

68 lines
1.7 KiB
Python

import os
import pytest
import logging
from logging.handlers import RotatingFileHandler
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from .live_server import LiveServer
@pytest.fixture(scope="session")
def live_app(app):
handler = RotatingFileHandler('log/acceptance.log', maxBytes=10000, backupCount=1)
handler.setLevel(logging.INFO)
app.logger.addHandler(handler)
runnable = LiveServer(app, port=8943, timeout=10)
runnable.spawn_live_server()
app.server_url = runnable.server_url
yield app
runnable.terminate()
@pytest.fixture(scope="session")
def browserstack_config():
return {
"win7_ie10": {
"browser": "IE",
"browser_version": "10.0",
"os": "Windows",
"os_version": "7",
"resolution": "1024x768",
"browserstack.local": True,
},
"iphone7": {
'browserName': 'iPhone',
'device': 'iPhone 7',
'realMobile': 'true',
'os_version': '10.3',
"browserstack.local": True,
}
}
@pytest.fixture(scope="session")
def driver_builder(browserstack_config):
def build_driver(config_key):
return webdriver.Remote(
command_executor="http://{}:{}@hub.browserstack.com:80/wd/hub".format(
os.getenv("BROWSERSTACK_EMAIL"), os.getenv("BROWSERSTACK_TOKEN")
),
desired_capabilities=browserstack_config.get(config_key),
)
return build_driver
@pytest.fixture(scope="session")
def ie10_driver(driver_builder):
driver = driver_builder("win7_ie10")
yield driver
driver.quit()