结合测量仪测试完毕,准备测平差+上传
This commit is contained in:
65
actions.py
65
actions.py
@@ -15,6 +15,7 @@ from page_objects.section_mileage_config_page import SectionMileageConfigPage
|
||||
from page_objects.upload_config_page import UploadConfigPage
|
||||
from page_objects.more_download_page import MoreDownloadPage
|
||||
from page_objects.screenshot_page import ScreenshotPage
|
||||
from check_station import CheckStation
|
||||
import globals.driver_utils as driver_utils # 导入驱动工具模块
|
||||
import globals.global_variable as global_variable
|
||||
from page_objects.login_page import LoginPage
|
||||
@@ -138,6 +139,7 @@ class DeviceAutomation:
|
||||
logging.warning(f"设备 {self.device_id} 检查会话状态时出错: {str(inner_e)}")
|
||||
return False
|
||||
# # 使用全局函数初始化驱动
|
||||
self.results_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test_results')
|
||||
# self.driver, self.wait = driver_utils.init_appium_driver(self.device_id)
|
||||
# 初始化页面对象
|
||||
logging.info(f"设备 {self.device_id} 开始初始化页面对象")
|
||||
@@ -148,6 +150,7 @@ class DeviceAutomation:
|
||||
self.upload_config_page = UploadConfigPage(self.driver, self.wait, self.device_id)
|
||||
self.more_download_page = MoreDownloadPage(self.driver, self.wait,self.device_id)
|
||||
self.screenshot_page = ScreenshotPage(self.driver, self.wait, self.device_id)
|
||||
self.check_station = CheckStation(self.driver, self.wait, self.device_id)
|
||||
logging.info(f"设备 {self.device_id} 所有页面对象初始化完成")
|
||||
|
||||
# 检查应用是否成功启动
|
||||
@@ -182,7 +185,7 @@ class DeviceAutomation:
|
||||
login_success = False
|
||||
|
||||
for attempt in range(max_retries_login + 1):
|
||||
if self.login_page.login("wangshun"):
|
||||
if self.login_page.login("czsczq115ykl"):
|
||||
login_success = True
|
||||
break
|
||||
else:
|
||||
@@ -199,35 +202,6 @@ class DeviceAutomation:
|
||||
return False
|
||||
else:
|
||||
retry_count += 1
|
||||
|
||||
# login_btn_exists = self.login_page.is_login_page()
|
||||
# if not login_btn_exists:
|
||||
# logging.error(f"设备 {self.device_id} 未知应用状态,无法确定当前页面,跳转到登录页面")
|
||||
# if self.login_page.navigate_to_login_page(self.driver, self.device_id):
|
||||
# logging.info(f"设备 {self.device_id} 成功跳转到登录页面")
|
||||
# return self.run_automation() # 递归调用处理登录后的状态
|
||||
# else:
|
||||
# logging.error(f"设备 {self.device_id} 跳转到登录页面失败")
|
||||
# return False
|
||||
|
||||
# # 处理登录页面状态
|
||||
# logging.info(f"设备 {self.device_id} 检测到登录页面,执行登录操作")
|
||||
# max_retries = 1
|
||||
# login_success = False
|
||||
|
||||
# for attempt in range(max_retries + 1):
|
||||
# if self.login_page.login():
|
||||
# login_success = True
|
||||
# break
|
||||
# else:
|
||||
# if attempt < max_retries:
|
||||
# logging.warning(f"设备 {self.device_id} 登录失败,准备重试 ({attempt + 1}/{max_retries})")
|
||||
# time.sleep(2) # 等待2秒后重试
|
||||
# else:
|
||||
# logging.error(f"设备 {self.device_id} 登录失败,已达到最大重试次数")
|
||||
|
||||
# if not login_success:
|
||||
# return False
|
||||
|
||||
logging.info(f"设备 {self.device_id} 登录成功,继续执行更新操作")
|
||||
time.sleep(1)
|
||||
@@ -247,13 +221,13 @@ class DeviceAutomation:
|
||||
# task_data = apis.get_measurement_task()
|
||||
# logging.info(f"设备 {self.device_id} 获取到的测量任务: {task_data}")
|
||||
task_data = {
|
||||
"id": 39,
|
||||
"id": 53,
|
||||
"user_name": "czsczq115ykl",
|
||||
"name": "czsczq115ykl",
|
||||
"line_num": "L179451",
|
||||
"line_name": "CDWZQ-2标-资阳沱江特大桥-23-35-山区",
|
||||
"line_num": "L220076",
|
||||
"line_name": "CZSCZQ-11-五工区-列衣隧道进口-D3K638+507-D3K638+607-山区",
|
||||
"remaining": "0",
|
||||
"status": 1
|
||||
"status": 0
|
||||
}
|
||||
if not task_data:
|
||||
logging.info(f"设备 {self.device_id} 未获取到状态为1的测量任务,等待后重试")
|
||||
@@ -296,11 +270,26 @@ class DeviceAutomation:
|
||||
logging.error(f"没有完成打数据的线路,结束任务")
|
||||
return False
|
||||
|
||||
# 执行打数据加转点
|
||||
if not self.check_station.run():
|
||||
logging.error(f"设备 {self.device_id} 打数据加转点执行失败")
|
||||
return False
|
||||
|
||||
# GLOBAL_TESTED_BREAKPOINT_LIST 把已打完的写入日志文件
|
||||
# with open(os.path.join(self.results_dir, "打数据完成线路.txt"), "w", encoding='utf-8') as f:
|
||||
# for bp in global_variable.GLOBAL_TESTED_BREAKPOINT_LIST:
|
||||
# f.write(f"{bp}\n")
|
||||
# 执行上传配置管理,传入当前断点名称
|
||||
breakpoint_name = global_variable.GLOBAL_CURRENT_PROJECT_NAME
|
||||
line_num = global_variable.GLOBAL_LINE_NUM
|
||||
if self.upload_config_page.upload_config_page_manager(self.results_dir, breakpoint_name, line_num):
|
||||
logging.info(f"设备 {self.device_id} 断点 '{breakpoint_name}' 上传成功")
|
||||
upload_success_count += 1
|
||||
else:
|
||||
logging.error(f"设备 {self.device_id} 断点 '{breakpoint_name}' 上传失败")
|
||||
for i in range(3):
|
||||
if self.upload_config_page.upload_config_page_manager(self.results_dir, breakpoint_name, line_num):
|
||||
logging.info(f"设备 {self.device_id} 断点 '{breakpoint_name}' 重试上传成功")
|
||||
upload_success_count += 1
|
||||
break
|
||||
else:
|
||||
logging.error(f"设备 {self.device_id} 断点 '{breakpoint_name}' 上传失败,第 {i+1} 次重试")
|
||||
|
||||
return task_count > 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user