@@ -17,23 +17,27 @@ def test_basic_training():
1717 Config .init_config ('/usr/src/project/app_conf/testing.ini' )
1818
1919 chrome_options = Options ()
20+
2021 chrome_options .add_argument ('--no-sandbox' )
2122 chrome_options .add_argument ('--headless' )
23+ chrome_options .add_argument ('--unsafely-treat-insecure-origin-as-secure=http://web:5000' )
24+
2225 chrome_options .add_argument ("--disable-user-media-security" )
2326 chrome_options .add_argument ("--use-fake-device-for-media-stream" )
2427 chrome_options .add_argument ("--use-fake-ui-for-media-stream" )
2528 chrome_options .add_argument ('--use-file-for-fake-audio-capture={}/simple_phrases_russian.wav' .format (os .getcwd ()))
26- # chrome_options.add_experimental_option('detach', True)
2729
28- chrome_options .set_capability ("goog:loggingPrefs" , {"browser" : "ALL" })
30+ chrome_options .add_experimental_option ('detach' , True )
31+
2932
3033 driver = Chrome (options = chrome_options )
3134 session = requests .Session ()
32-
3335 sleep (5 )
3436
37+ # Инициализация тестовой сессии
3538 driver .get ('http://web:5000/init/' )
3639
40+ # Регистрация в системе
3741 session .request ('POST' ,'http://web:5000/lti' , data = {
3842 'lis_person_name_full' : Config .c .testing .lis_person_name_full ,
3943 'ext_user_username' : Config .c .testing .session_id ,
@@ -48,54 +52,49 @@ def test_basic_training():
4852 'oauth_consumer_key' : Config .c .testing .oauth_consumer_key ,
4953 })
5054
55+ # Загрузка презентации
5156 driver .get ('http://web:5000/upload_presentation/' )
5257
5358 file_input = WebDriverWait (driver , 20 ).until (EC .visibility_of_element_located ((By .CSS_SELECTOR , "input[type=file]" )))
5459 file_input .send_keys (f'{ os .getcwd ()} /test_data/test_presentation_file_0.pdf' )
5560
5661 WebDriverWait (driver , 5 ).until (EC .element_to_be_clickable ((By .ID , "button-submit" ))).click ()
5762
58- WebDriverWait (driver , 10 ).until (EC .visibility_of_element_located ((By .ID , "next" )))
59-
63+ # Подготовка и начало записи
6064 WebDriverWait (driver , 10 ).until (EC .element_to_be_clickable ((By .ID , "record" ))).click ()
6165
6266 WebDriverWait (driver , 10 ).until (EC .presence_of_element_located ((By .ID , "model-timer" )))
6367
6468 WebDriverWait (driver , 10 ).until (EC .invisibility_of_element ((By .ID , "model-timer" )))
6569
66- logs = driver .get_log ('browser' )
67- for entry in logs :
68- print (f"{ entry ['level' ]} - { entry ['message' ]} " )
69-
70- # print(driver.find_element(By.ID, "next").is_enabled())
71- # print(driver.find_element(By.ID, "next").get_attribute('disabled'))
72-
73- # WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "next")))
74- # sleep(5)
75- # print(cur == driver.page_source)
76- # print(difflib.unified_diff(cur, driver.page_source))
77- # print(driver.page_source)
78-
79- # WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "next"))).click()
80- # sleep(5)
81- # WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.ID, "done"))).click()
82-
83- # alert = Alert(driver)
84- # alert.accept()
85-
86- # feedback_flag = False
87- # step_count = 10
88- # step = 10
89- # for _ in range(step_count):
90- # driver.refresh()
91- # try:
92- # feedback_element = WebDriverWait(driver, step).until(EC.presence_of_element_located((By.ID, 'feedback')))
93- # if feedback_element.text.startswith('Оценка за тренировку'):
94- # feedback_flag = True
95- # break
96- # sleep(step)
97- # except:
98- # sleep(step)
99- # driver.close()
100-
101- # assert feedback_flag, f"Проверка тренировки заняла более {step_count*step} секунд"
70+ sleep (5 )
71+
72+ # Взаимодействие с презентацией
73+ WebDriverWait (driver , 10 ).until (EC .element_to_be_clickable ((By .ID , "next" ))).click ()
74+
75+ sleep (5 )
76+
77+ # Конец выступления
78+ WebDriverWait (driver , 5 ).until (EC .element_to_be_clickable ((By .ID , "done" ))).click ()
79+
80+ # ???
81+ alert = Alert (driver )
82+ alert .accept ()
83+
84+ # Ожидание результата тренировки
85+ feedback_flag = False
86+ step_count = 10
87+ step = 10
88+ for _ in range (step_count ):
89+ driver .refresh ()
90+ try :
91+ feedback_element = WebDriverWait (driver , step ).until (EC .presence_of_element_located ((By .ID , 'feedback' )))
92+ if feedback_element .text .startswith ('Оценка за тренировку' ):
93+ feedback_flag = True
94+ break
95+ sleep (step )
96+ except :
97+ sleep (step )
98+ driver .close ()
99+
100+ assert feedback_flag , f"Проверка тренировки заняла более { step_count * step } секунд"
0 commit comments