Skip to content

Commit b3d0aca

Browse files
committed
Новая организация селениум тестов
1 parent eee9bca commit b3d0aca

File tree

3 files changed

+29
-28
lines changed

3 files changed

+29
-28
lines changed

tests/selenium/selenium_session.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,29 @@
33

44
from selenium.webdriver import Chrome
55

6+
HOST = 'http://web:5000'
7+
ROOT_DIR = '/usr/src/project'
8+
9+
from selenium.webdriver.chrome.options import Options
10+
11+
def chrome_options(audio_file=None):
12+
chrome_options = Options()
13+
14+
chrome_options.add_argument('--no-sandbox')
15+
chrome_options.add_argument('--headless')
16+
chrome_options.add_argument(f'--unsafely-treat-insecure-origin-as-secure={HOST}')
17+
chrome_options.add_argument("--disable-user-media-security")
18+
chrome_options.add_argument("--use-fake-device-for-media-stream")
19+
chrome_options.add_argument("--use-fake-ui-for-media-stream")
20+
21+
if audio_file is not None:
22+
chrome_options.add_argument(f'--use-file-for-fake-audio-capture={audio_file}')
23+
24+
return chrome_options
25+
626
class SeleniumSession:
7-
def __init__(self, host, config, chrome_options, requires_init=True):
8-
self.__prepare_session(host, config, chrome_options, requires_init)
27+
def __init__(self, config, chrome_options, requires_init=True):
28+
self.__prepare_session(HOST, config, chrome_options, requires_init)
929

1030
def __init_driver(self, chrome_options):
1131
self.driver = Chrome(options=chrome_options)
@@ -30,7 +50,7 @@ def __registrate(self, config):
3050

3151
def __prepare_session(self, host, config, chrome_options, requires_init):
3252
self.host = host
33-
53+
3454
self.__init_driver(chrome_options)
3555

3656
if requires_init:

tests/selenium/test_simple_training.py

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,22 @@
1-
import os
21
import pytest
32
from time import sleep
43

5-
from selenium.webdriver.chrome.options import Options
6-
4+
from selenium_session import ROOT_DIR, chrome_options
75
from training_session import Training
86

97
from app.config import Config
108

11-
HOST = 'http://web:5000'
12-
ROOT_DIR = os.getcwd()
13-
149
CONFIG_PATH = f'{ROOT_DIR}/app_conf/testing.ini'
1510
AUDIO_FILE = f"{ROOT_DIR}/simple_phrases_russian.wav"
16-
PRESENTATION_FILE = f"{ROOT_DIR}/test_data/test_presentation_file_0.pdf"
1711

12+
PRESENTATION_FILE = f"{ROOT_DIR}/test_data/test_presentation_file_0.pdf"
1813
ESTIMATED_PROCESSING_TIME_IN_SECONDS = 100
1914

20-
def chrome_options():
21-
chrome_options = Options()
22-
23-
chrome_options.add_argument('--no-sandbox')
24-
chrome_options.add_argument('--headless')
25-
chrome_options.add_argument(f'--unsafely-treat-insecure-origin-as-secure={HOST}')
26-
27-
chrome_options.add_argument("--disable-user-media-security")
28-
chrome_options.add_argument("--use-fake-device-for-media-stream")
29-
chrome_options.add_argument("--use-fake-ui-for-media-stream")
30-
chrome_options.add_argument(f'--use-file-for-fake-audio-capture={AUDIO_FILE}')
31-
32-
return chrome_options
33-
3415
@pytest.fixture(scope='module')
3516
def training_session():
3617
Config.init_config(CONFIG_PATH)
3718

38-
training_session = Training(HOST, Config.c, chrome_options())
19+
training_session = Training(Config.c, chrome_options(AUDIO_FILE))
3920

4021
yield training_session
4122

tests/selenium/training_session.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
from time import sleep
22

3-
from selenium_session import SeleniumSession
3+
from selenium_session import SeleniumSession, HOST
44

55
from selenium.webdriver.common.by import By
66
from selenium.webdriver.support import expected_conditions as EC
77
from selenium.webdriver.support.ui import WebDriverWait
88

99

1010
class Training(SeleniumSession):
11-
def __init__(self, host, config, chrome_options, requires_init=True):
12-
super().__init__(host, config, chrome_options, requires_init)
11+
def __init__(self, config, chrome_options, requires_init=True):
12+
super().__init__(config, chrome_options, requires_init)
1313

1414
def upload_presentation(self, presentation_path):
1515
self.driver.get(f'{self.host}/upload_presentation/')

0 commit comments

Comments
 (0)