From 3b84cce1ee43215b9f398148fda19f4b1025856b Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期三, 24 七月 2024 17:46:00 +0800
Subject: [PATCH] 测评系统自动测试

---
 po/vaq_answer_page.py |   80 +++++++++++++++++++--------------------
 1 files changed, 39 insertions(+), 41 deletions(-)

diff --git a/po/vaq_answer_page.py b/po/vaq_answer_page.py
index 57d6aca..9d5314e 100644
--- a/po/vaq_answer_page.py
+++ b/po/vaq_answer_page.py
@@ -1,10 +1,11 @@
 import random
 
 from base.base_page import BasePage
-from elements.vaq_answer_elements import VAQAnswerElements as Answer
+from elements.vaq_answer_elements import VAQAnswerElements
 from selenium.common.exceptions import *
 from selenium.webdriver.common.by import By
 import time
+import re
 
 
 class VAQAnswerPage(BasePage):
@@ -13,49 +14,46 @@
     """
     loading_count = 0
 
+    elements = VAQAnswerElements
+
+    slice_count = 9
+
     def answer(self):
-        # 鏆傚仠3绉�
-        # 棰勯�夊浘鐗�
-        # 鑾峰彇鍒版墍鏈夊浘鐗囬�夐」
-        pre_pictures = self.get_elements_wait(Answer.picture)
-        for picture in pre_pictures:
-            # 闅忔満1鍒�3
-            number = random.randint(1, 3)
-            # 鎷兼帴瑕佺偣鍑荤殑鎸夐挳鐨勫畾浣�
-            btn_loc = (By.XPATH, "div[3]/div[" + str(number) + "]")
-            # 鐐瑰嚮鎸夐挳
-            self.get_element_in(picture, btn_loc).click()
-            time.sleep(0.1)
-        # 鐐瑰嚮涓嬩竴姝ユ寜閽�
-        self.click(Answer.next_btn)
-        time.sleep(1)
-
+        time.sleep(3)
         # 鐐瑰嚮寮�濮嬫祴璇�
-        self.click(Answer.start_btn)
+        self.click(self.elements.start_btn)
+        time.sleep(2)
+        # 鐐瑰嚮缁х画娴嬭瘯
+        self.click(self.elements.start_btn)
 
-        # 缁嗚嚧鍒嗙被鍥剧墖
-        # 姣忎釜姝ラ閫夋嫨鍥剧墖鐨勬暟閲�
-        step_picture = [2, 2, 4, 4, 7, 7, 10, 10, 0]
-        i = 0
-        for num in step_picture:
-            for k in range(0, num):
-                # 鑾峰彇鍒板浘鐗�
-                picture = self.get_elements_wait(Answer.picture)[0]
-                # 鎷兼帴瑕佺偣鍑荤殑鎸夐挳鐨勫畾浣�
-                btn_loc = (By.XPATH, "div[2]/div[1]/img")
-                # 鐐瑰嚮鎸夐挳
-                btn = self.get_element_in(picture, btn_loc)
-                self.click_element_js(btn)
-                i += 1
-            # 鐐瑰嚮涓嬩竴姝ユ寜閽�
-            self.click(Answer.next_btn)
-        # 鐐瑰嚮鎻愪氦鎸夐挳
-        self.click_wait(Answer.submit_btn)
-        # 鏁版嵁鏄惁涓婁紶瀹屾垚
-        time.sleep(10)
-        if self.upload_is_success():
-            return True
-        return False
+        pre_pictures = self.get_eles(self.elements.pre_picture_btn, 10)
+
+        for pre_picture in pre_pictures:
+            pre_picture.click()
+            time.sleep(0.2)
+
+        # 鐐瑰嚮涓嬩竴姝�
+        self.click(self.elements.start_btn)
+
+        time.sleep(1)
+        for i in range(0, self.slice_count):
+            # 鑾峰彇褰撳墠鎵�闇�鍥剧墖鏁伴噺鐨勬枃瀛�
+            picture_count_text = self.get_ele(self.elements.current_require_picture_count)
+            pictures = self.get_eles(self.elements.picture_btn, 10)
+            match = re.search(r"(\d+) / (\d+)", picture_count_text.text)
+            total = int(match.group(2))
+            if (i + 1) != self.slice_count:
+                for k in range(0, total):
+                    self.driver.execute_script("arguments[0].click();", pictures[k])
+                    time.sleep(0.2)
+            if i == 0:
+                self.click(self.elements.start_btn)
+            else:
+                self.click(self.elements.next_btn)
+                time.sleep(1)
+        time.sleep(2)
+        # 鎻愪氦
+        self.click(self.elements.submit_btn)
 
     def upload_is_success(self):
         """

--
Gitblit v1.9.1