From c0dc1bc9676d0bc15355cfd16e9bb92a31518aa8 Mon Sep 17 00:00:00 2001 From: yj <2077506045@qq.com> Date: 星期四, 25 七月 2024 11:50:11 +0800 Subject: [PATCH] 测评系统自动测试 --- po/maq_answer_page.py | 112 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 99 insertions(+), 13 deletions(-) diff --git a/po/maq_answer_page.py b/po/maq_answer_page.py index fbf2696..d5993bb 100644 --- a/po/maq_answer_page.py +++ b/po/maq_answer_page.py @@ -3,8 +3,8 @@ from base.base_page import BasePage from elements.maq_answer_elements import MAQAnswerElements from selenium.common.exceptions import * - import time +import re class MAQAnswerPage(BasePage): @@ -14,14 +14,100 @@ loading_count = 0 - se = MAQAnswerElements + elements = MAQAnswerElements - def answer(self, hint=None, question: dict = None): + tip_timing = 35 + + def exercise_answer(self): + # 鑾峰彇鍒伴鐩� + time.sleep(3) + title = self.get_ele(self.elements.q_title, 5) + # 鎴彇宸茬瓟鏁伴噺涓庢�绘暟閲� + match = re.search(r"(\d+)/(\d+)", title.text) + current = int(match.group(1)) + total = int(match.group(2)) + + while current <= total: + # 鑾峰彇鍒版墍鏈夐�夐」 + options = self.get_eles(self.elements.options, 5) + number = random.randint(0, 5) + if options[number].is_enabled(): + options[number].click() + current += 1 + continue + time.sleep(3) + # 鐐瑰嚮鎻愪氦鎸夐挳 + self.click(self.elements.exercise_submit_btn, 10) + + def answer(self): + # 鑾峰彇鍒伴鐩� + time.sleep(3) + title = self.get_ele(self.elements.q_title, 5) + # 鎴彇宸茬瓟鏁伴噺涓庢�绘暟閲� + match = re.search(r"(\d+)/(\d+)", title.text) + current = int(match.group(1)) + total = int(match.group(2)) + + while current <= total: + print(f"\n鐜板湪鏄疢AQ绗瑊current}棰�") + # 瑙﹀彂浜嬩腑 + if current == self.tip_timing: + time.sleep(5) + self.click(self.elements.continue_testing_btn, 10) + + # 鑾峰彇鍒版墍鏈夐�夐」 + options = self.get_eles(self.elements.options, 5) + number = random.randint(0, 5) + if options[number].is_enabled(): + options[number].click() + current += 1 + continue + + time.sleep(3) + # 鐐瑰嚮鎻愪氦鎸夐挳 + self.click(self.elements.submit_btn, 10) + # while True: + # # 鑾峰彇鍒版墍鏈夐�夐」 + # 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() + # + # # 鎻愪氦鎸夐挳瀛樺湪鍒欑偣鍑� + # if self.submit_btn_is_display(): + # 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 answer2(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) @@ -30,11 +116,11 @@ # 鍒ゆ柇hint鏄惁鏈夊唴瀹� if hint: # 鑾峰彇鎻愮ず璇唴瀹� - hint_text = self.get_ele(self.se.hint_text).text + hint_text = self.get_ele(self.elements.hint_text).text # 鍒ゆ柇鎻愮ず璇唴瀹规槸鍚﹀寘鍚紶鍏ョ殑hint if hint in hint_text: flag = True - self.click(self.se.continue_testing_btn) + self.click(self.elements.continue_testing_btn) # 鏍囬涓嶅瓨鍦ㄧ洿鎺ヨ繑鍥濬alse if not self.title_is_display(): @@ -42,7 +128,7 @@ try: # 鑾峰彇鍒版墍鏈夐�夐」 - options = self.get_eles(self.se.options) + options = self.get_eles(self.elements.options) if len(options) < 6: continue number = random.randint(0, 5) @@ -64,7 +150,7 @@ # 鎻愪氦鎸夐挳瀛樺湪鍒欑偣鍑� if self.submit_btn_is_display(): - self.click(self.se.submit_btn) + self.click(self.elements.submit_btn) # 鏁版嵁鏄惁涓婁紶瀹屾垚 time.sleep(15) if self.upload_is_success(): @@ -73,7 +159,7 @@ return True # 鏄惁缃戠粶寮傚父 try: - self.get_ele(self.se.network_exception_title) + self.get_ele(self.elements.network_exception_title) return "缃戠粶寮傚父" except NoSuchElementException: pass @@ -87,7 +173,7 @@ i = 0 while i < 60: try: - self.get_ele(self.se.upload_success_title, timeout=5) + self.get_ele(self.elements.upload_success_title, timeout=5) return True except TimeoutException: i += 1 @@ -100,7 +186,7 @@ :return: """ try: - button = self.get_ele(self.se.submit_btn) + button = self.get_ele(self.elements.submit_btn) if button.is_enabled(): return True else: @@ -115,7 +201,7 @@ """ try: # 鐐瑰嚮缁х画娴嬭瘯鎸夐挳 - button = self.get_ele(self.se.continue_testing_btn) + button = self.get_ele(self.elements.continue_testing_btn) if button.is_enabled(): return True else: @@ -130,7 +216,7 @@ """ try: # 鑾峰彇鏍囬 - self.get_ele(self.se.title, timeout=10) + self.get_ele(self.elements.title, timeout=10) return True except TimeoutException: return False -- Gitblit v1.9.1