工况类型找不到时在列表循环匹配。

This commit is contained in:
2026-03-05 17:34:46 +08:00
parent e285191149
commit 4cc6a3391f
12 changed files with 17025 additions and 17000 deletions

View File

@@ -1024,31 +1024,56 @@ class UploadConfigPage:
)
condition_button.click()
self.logger.info(f"成功点击{work_type_name}工况选择按钮")
# 检查是否有ListView如果没有就再次点击
try:
# 尝试查找ListView
self.wait.until(
EC.presence_of_element_located((AppiumBy.CLASS_NAME, "android.widget.ListView"))
)
self.logger.info(f"找到{work_type_name}工况选择的ListView")
except TimeoutException:
# 没有找到ListView再次点击按钮
self.logger.warning(f"未找到{work_type_name}工况选择的ListView再次点击按钮")
condition_button.click()
self.logger.info(f"再次成功点击{work_type_name}工况选择按钮")
# 选择主要的工况选项
if self._select_condition_option(workinfo_name):
self.logger.info(f"成功为{work_type_name}选择主要工况: {workinfo_name}")
success_count += 1
else:
self.logger.warning(f"未能为{work_type_name}选择主要工况: {workinfo_name}")
except TimeoutException:
self.logger.error(f"等待{work_type_name}工况选择按钮超时")
id_list = [
"com.bjjw.cjgc:id/all_point_workinfo_sp_suidao",
"com.bjjw.cjgc:id/all_point_workinfo_sp_luji",
"com.bjjw.cjgc:id/all_point_workinfo_sp_qiaoliang",
"com.bjjw.cjgc:id/all_point_workinfo_sp_handong",
]
for id in id_list:
if id == button_id:
continue
try:
self.wait.until(
EC.element_to_be_clickable((AppiumBy.ID, id))
)
self.driver.find_element(AppiumBy.ID, id).click()
self.logger.info(f"成功点击{work_type_name}其他工况选择按钮: {id}")
except TimeoutException:
self.logger.error(f"等待{work_type_name}其他工况选择按钮超时: {id}")
# return False
except Exception as e:
self.logger.error(f"点击{work_type_name}工况按钮时出错: {str(e)}")
return False
# 检查是否有ListView如果没有就再次点击
try:
# 尝试查找ListView
self.wait.until(
EC.presence_of_element_located((AppiumBy.CLASS_NAME, "android.widget.ListView"))
)
self.logger.info(f"找到{work_type_name}工况选择的ListView")
except TimeoutException:
# 没有找到ListView再次点击按钮
self.logger.warning(f"未找到{work_type_name}工况选择的ListView再次点击按钮")
condition_button.click()
self.logger.info(f"再次成功点击{work_type_name}工况选择按钮")
# 选择主要的工况选项
if self._select_condition_option(workinfo_name):
self.logger.info(f"成功为{work_type_name}选择主要工况: {workinfo_name}")
success_count += 1
else:
self.logger.warning(f"未能为{work_type_name}选择主要工况: {workinfo_name}")
# except TimeoutException:
# self.logger.error(f"等待{work_type_name}工况选择按钮超时")
# except Exception as e:
# self.logger.error(f"点击{work_type_name}工况按钮时出错: {str(e)}")
# 第二步:如果有次要工况,滑动页面处理
if minor_conditions_list: