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
|