阳洁
2023-07-13 b9c5276ec40e2e80d4958a126c377b171b5baa43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import random
 
from base.base_page import BasePage
from elements.answer_elements import AnswerElements as Answer
import time
 
 
class AnswerPage(BasePage):
    """
    答题页面
    """
    loading_count = 0
 
    def answer_MAQ(self):
        # 暂停3秒
        time.sleep(3)
 
        try:
            # 获取标题
            self.get_element_wait(Answer.title)
        except:
            # 标题不存在直接失败
            return False
        while True:
 
            # 判断是否一直存在加载框
            if self.loadin_text():
                return
 
            try:
                # 点击继续测试按钮
                self.click(Answer.continue_testing_btn)
            except:
                pass
 
            try:
                # 获取到所有选项
                options = self.get_elements(Answer.options)
                if len(options) < 6:
                    continue
                number = random.randint(0, 5)
                options[number].click()
            except:
                pass
 
            try:
                # 点击提交按钮
                self.click(Answer.submit_btn)
            except:
                pass
 
            try:
                # 数据上传完成
                self.get_element(Answer.upload_success_title)
                return True
            except:
                pass
 
    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