From 3b84cce1ee43215b9f398148fda19f4b1025856b Mon Sep 17 00:00:00 2001 From: yj <2077506045@qq.com> Date: 星期三, 24 七月 2024 17:46:00 +0800 Subject: [PATCH] 测评系统自动测试 --- po/caq_answer_page.py | 92 ++++++++++++++++++++++++--------------------- 1 files changed, 49 insertions(+), 43 deletions(-) diff --git a/po/caq_answer_page.py b/po/caq_answer_page.py index 2816cf5..7504f42 100644 --- a/po/caq_answer_page.py +++ b/po/caq_answer_page.py @@ -5,6 +5,7 @@ from selenium.common.exceptions import * import time +import re class CAQAnswerPage(BasePage): @@ -13,57 +14,62 @@ """ loading_count = 0 - es = CAQAnswerElements + elements = CAQAnswerElements def answer(self): - # 鐐瑰嚮寮�濮嬫寜閽� - self.click(self.es.start_btn, timeout=10) # 鏆傚仠3绉� time.sleep(3) - i = 0 - while i < 27: - if i == 0: - self.click(self.es.continue_testing_btn, timeout=10) - elif i < 4: - # 鑾峰彇鍒版墍鏈夐�夐」 - options_1 = self.elements_is_visibility(self.es.options_1) + # 鐐瑰嚮缁х画娴嬭瘯 + self.click(self.elements.continue_testing_btn, 5) + + 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: + # 鑾峰彇鎵�鏈夐鐩� + questions = self.get_eles(self.elements.questions, 5) + for question in questions: + options = self.get_elements_in(question, self.elements.options) number = random.randint(0, 4) - self.click_element_js(options_1[number]) + options[number].click() - options_2 = self.elements_is_visibility(self.es.options_2) - self.click_element_js(options_2[number]) + if current == 1: + self.click(self.elements.btn) + else: + self.click(self.elements.next_btn) + current += 1 + if current <= total: + time.sleep(1) + # 灏嗛〉闈㈡粦鍔ㄥ埌鏈�椤堕儴 + self.click(self.elements.scroll_top_btn, 5) + time.sleep(2) + time.sleep(2) - options_3 = self.elements_is_visibility(self.es.options_3) - self.click_element_js(options_3[number]) + # 鐐瑰嚮缁х画娴嬭瘯 + self.click(self.elements.continue_testing_btn, 5) - options_4 = self.elements_is_visibility(self.es.options_4) - self.click_element_js(options_4[number]) + title = self.get_ele(self.elements.q_title_2, 5) + # 鎴彇宸茬瓟鏁伴噺涓庢�绘暟閲� + match = re.search(r"(\d+)/(\d+)", title.text) + current = int(match.group(1)) + total = int(match.group(2)) - options_5 = self.elements_is_visibility(self.es.options_5) - self.click_element_js(options_5[number]) - - self.click_js(self.es.next_btn) - if i == 4: - self.click(self.es.continue_testing_btn, timeout=10) - - # # 鏍囬涓嶅瓨鍦ㄧ洿鎺ヨ繑鍥濬alse - # if not self.title_is_display(): - # return False - - if 4 < i < 26: - options_6 = self.elements_is_visibility(self.es.options_6) - number = random.randint(0, 4) - self.click_element_js(options_6[number]) - if i == 23: - self.click_js(self.es.submit_btn) - # 鏁版嵁鏄惁涓婁紶瀹屾垚 - time.sleep(15) - if self.upload_is_success(): - return True - else: - - self.click_js(self.es.next_btn) - i += 1 + while current <= total: + # 鑾峰彇鍒版墍鏈夐�夐」 + options = self.get_eles(self.elements.options_2, 5) + number = random.randint(0, 4) + options[number].click() + if current == 1: + self.click(self.elements.btn) + else: + if current == total: + time.sleep(1) + self.click(self.elements.next_btn) + current += 1 def upload_is_success(self): """ @@ -73,7 +79,7 @@ i = 0 while i < 60: try: - self.get_element_wait(self.es.upload_success_title) + self.get_element_wait(self.elements.upload_success_title) return True except TimeoutException: i += 1 -- Gitblit v1.9.1