From 8c9395d6a0e07ea64a7ed88a466c5befb83178e3 Mon Sep 17 00:00:00 2001 From: 阳洁 <2077506045@qq.com> Date: 星期五, 28 七月 2023 18:42:59 +0800 Subject: [PATCH] 测评系统自动测试 --- po/maq_answer_page.py | 101 +++++++++++++++++++++++++++++++++----------------- 1 files changed, 66 insertions(+), 35 deletions(-) diff --git a/po/maq_answer_page.py b/po/maq_answer_page.py index 7c3afcd..fbf2696 100644 --- a/po/maq_answer_page.py +++ b/po/maq_answer_page.py @@ -1,7 +1,7 @@ import random from base.base_page import BasePage -from elements.maq_answer_elements import MAQAnswerElements as Answer +from elements.maq_answer_elements import MAQAnswerElements from selenium.common.exceptions import * import time @@ -11,15 +11,30 @@ """ 绛旈椤甸潰 """ + loading_count = 0 - def answer_MAQ(self): + se = MAQAnswerElements + + def answer(self, hint=None, question: dict = None): + flag = False # 鏆傚仠3绉� time.sleep(3) + # 鐐瑰嚮寮�濮嬬瓟棰� + self.click(self.se.start_btn) + question_title = None while True: + # time.sleep(0.5) # 缁х画娴嬭瘯鎸夐挳鍑虹幇鍒欑偣鍑� if self.continue_btn_is_display(): - self.click(Answer.continue_testing_btn) + # 鍒ゆ柇hint鏄惁鏈夊唴瀹� + if hint: + # 鑾峰彇鎻愮ず璇唴瀹� + hint_text = self.get_ele(self.se.hint_text).text + # 鍒ゆ柇鎻愮ず璇唴瀹规槸鍚﹀寘鍚紶鍏ョ殑hint + if hint in hint_text: + flag = True + self.click(self.se.continue_testing_btn) # 鏍囬涓嶅瓨鍦ㄧ洿鎺ヨ繑鍥濬alse if not self.title_is_display(): @@ -27,22 +42,41 @@ try: # 鑾峰彇鍒版墍鏈夐�夐」 - options = self.get_elements(Answer.options) + options = self.get_eles(self.se.options) if len(options) < 6: continue number = random.randint(0, 5) if options[number].is_enabled(): + # 鑾峰彇鍒伴鐩� + # q_title = self.get_ele(self.se.q_title).text + # q_title涓巕uestion_title涓嶇浉鍚屽垯鍐欏叆question涓� + # 閬嶅巻瀛楀吀 + # if question: + # for key in question.keys(): + # q_title = self.get_ele(self.se.q_title).text + # if question[key]["title"] in q_title and "answer" not in question[key]: + # question[key]["answer"] = number + 1 + # question_title = q_title + # break options[number].click() except: pass # 鎻愪氦鎸夐挳瀛樺湪鍒欑偣鍑� if self.submit_btn_is_display(): - self.click(Answer.submit_btn) + self.click(self.se.submit_btn) # 鏁版嵁鏄惁涓婁紶瀹屾垚 time.sleep(15) if self.upload_is_success(): + if hint: + return flag return True + # 鏄惁缃戠粶寮傚父 + try: + self.get_ele(self.se.network_exception_title) + return "缃戠粶寮傚父" + except NoSuchElementException: + pass return False def upload_is_success(self): @@ -50,11 +84,15 @@ 鍒ゆ柇鏁版嵁鏄惁涓婁紶瀹屾垚 :return: """ - try: - self.get_element_wait(Answer.upload_success_title) - return True - except TimeoutException: - return False + i = 0 + while i < 60: + try: + self.get_ele(self.se.upload_success_title, timeout=5) + return True + except TimeoutException: + i += 1 + time.sleep(1) + return False def submit_btn_is_display(self): """ @@ -62,7 +100,7 @@ :return: """ try: - button = self.get_element(Answer.submit_btn) + button = self.get_ele(self.se.submit_btn) if button.is_enabled(): return True else: @@ -77,7 +115,7 @@ """ try: # 鐐瑰嚮缁х画娴嬭瘯鎸夐挳 - button = self.get_element(Answer.continue_testing_btn) + button = self.get_ele(self.se.continue_testing_btn) if button.is_enabled(): return True else: @@ -92,30 +130,23 @@ """ try: # 鑾峰彇鏍囬 - self.get_element_wait(Answer.title) + self.get_ele(self.se.title, timeout=10) return True except TimeoutException: return False - def loadin_text(self): - """ - 鍒ゆ柇鍔犺浇妗嗗姞杞斤紝濡傛灉鍔犺浇瓒呰繃10绉掔洿鎺ラ��鍑哄綋鍓嶆祴璇� - :return: - """ - i = 0 - while i < 10: - try: - self.get_element(Answer.loading_text) - i += 1 - time.sleep(1) - except: - return False - else: - return True - - def start_btn(self): - """ - 寮�濮嬫祴璇曟寜閽� - :return: - """ - self.click_wait(Answer.start_btn) + # def loadin_text(self): + # """ + # 鍒ゆ柇鍔犺浇妗嗗姞杞斤紝濡傛灉鍔犺浇瓒呰繃10绉掔洿鎺ラ��鍑哄綋鍓嶆祴璇� + # :return: + # """ + # i = 0 + # while i < 10: + # try: + # self.oper_elem("") + # i += 1 + # time.sleep(1) + # except: + # return False + # else: + # return True -- Gitblit v1.9.1