提交 3d1590e0 authored 作者: 陈泽健's avatar 陈泽健

兰州中石化项目输出角色权限组的部分JSON数据,调试自动化运行。排查展厅自动化失败问题,处理chrome版本升级后,chromedriver版本没对上问题。

上级 1ce1f644
...@@ -73,6 +73,7 @@ def browser_init(login_type): ...@@ -73,6 +73,7 @@ def browser_init(login_type):
# 使用备用的ChromeDriver下载源 # 使用备用的ChromeDriver下载源
# service = Service(ChromeDriverManager().install()) # service = Service(ChromeDriverManager().install())
# 手动指定ChromeDriver的路径 # 手动指定ChromeDriver的路径
# chromedriver下载地址:https://googlechromelabs.github.io/chrome-for-testing/
# 自动化运行服务器的chromedriver路径: # 自动化运行服务器的chromedriver路径:
# 拯救者电脑 # 拯救者电脑
service = Service(r'C:\Users\29194\AppData\Local\Programs\Python\Python310\Scripts\chromedriver.exe') service = Service(r'C:\Users\29194\AppData\Local\Programs\Python\Python310\Scripts\chromedriver.exe')
......
...@@ -309,4 +309,6 @@ ...@@ -309,4 +309,6 @@
- 安卓信息消息监听脚本也增加MQTT账号密码的配置处理。 - 安卓信息消息监听脚本也增加MQTT账号密码的配置处理。
- 调试兰州中石化项目会议申报模块的自动化JSON数据。 - 调试兰州中石化项目会议申报模块的自动化JSON数据。
89. 2025-06-03: 89. 2025-06-03:
- 兰州中石化项目输出会议申报模块的JSON数据,调试自动化运行,补充会议申报模块的JSON数据。 - 兰州中石化项目输出会议申报模块的JSON数据,调试自动化运行,补充会议申报模块的JSON数据。
\ No newline at end of file 90. 2025-06-05:
- 兰州中石化项目输出角色权限组的部分JSON数据,调试自动化运行。排查展厅自动化失败问题,处理chrome版本升级后,chromedriver版本没对上问题。
\ No newline at end of file
...@@ -18,7 +18,7 @@ class ConferenceDeclaration: ...@@ -18,7 +18,7 @@ class ConferenceDeclaration:
""" """
执行指令是: 执行指令是:
1.cd 预定系统 1.cd 预定系统
2.hytest --report_title 兰州中石化项目会议申报测试报告 --report_url_prefix https://192.168.1.67 --tag 兰州中石化项目会议申报 2.hytest --report_title 兰州中石化项目会议申报测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 兰州中石化项目会议申报
""" """
ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='会议申报',case_type="兰州中石化项目25-05-24") ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='会议申报',case_type="兰州中石化项目25-05-24")
# 测试开始前调用clear_columns_in_xlsx函数,将测试用例中的测试结果和日志截图置空 # 测试开始前调用clear_columns_in_xlsx函数,将测试用例中的测试结果和日志截图置空
......
import sys
import os
# 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..'))
# 添加路径
sys.path.append(预定系统_path)
# 导入模块
from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("兰州中石化项目测试环境")
user_login("admin", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 点击【系统管理】展开下拉框
INFO("点击【系统管理】展开下拉框")
safe_click((By.ID, "manage-collapse"), wd)
sleep(1)
# 点击【角色权限管理】按钮进入模块
INFO("点击【角色权限管理】按钮进入模块")
safe_click((By.XPATH, "//div[@id='PermissionManage']"), wd)
sleep(1)
def suite_teardown():
wd = GSTORE['wd']
wd.quit()
\ No newline at end of file
import sys
import os
# 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..', '..', '..' , '..'))
# 添加路径
sys.path.append(预定系统_path)
# 导入模块
from 预定系统.Base.base import *
# 构建XLSX文件的绝对路径
xlsx_file_path = os.path.join(预定系统_path, '测试数据', '兰州中石化项目测试用例.xlsx')
class RolePermissionManagement:
tags = ['兰州中石化项目角色权限管理']
"""
执行指令是:
1.cd 预定系统
2.hytest --report_title 兰州中石化项目角色权限管理测试报告 --report_url_prefix http://nat.ubainsyun.com:31133 --tag 兰州中石化项目角色权限管理
"""
ddt_cases = read_xlsx_data(xlsx_file_path, sheet_name='角色权限管理',case_type="兰州中石化项目25-05-24")
# 测试开始前调用clear_columns_in_xlsx函数,将测试用例中的测试结果和日志截图置空
# clear_columns_in_xlsx(xlsx_file_path, sheet_name='会议创建', columns_to_clear=['测试结果', '测试频次', '日志截图'])
def teststeps(self):
"""
执行测试步骤函数,主要用于执行读取的测试用例并进行信息统计模块功能测试操作
"""
# 从全局存储中获取webdriver对象
wd = GSTORE['wd']
name = self.name
for step in self.para:
# 赋值页面类型page
page_type = step.get('page')
# 赋值元素定位类型,并将字符串转为Enum类型
locator_type = get_by_enum(step.get('locator_type'))
# 赋值元素值
locator_value = step.get('locator_value')
# 赋值元素类型,例如:click点击、input输入框等
element_type = step.get('element_type')
# 赋值元素值,例如输入框的输入值
element_value = step.get('element_value')
# 赋值预期结果
expented_result = step.get('expented_result')
INFO(f"页面: {page_type}、元素定位类型: {locator_type}、元素定位值: {locator_value}、元素类型: {element_type}、元素值: {element_value}、预期结果: {expented_result}")
if element_type == "click":
safe_click((locator_type, locator_value), wd)
sleep(2)
elif element_type == "input":
safe_send_keys((locator_type, locator_value), element_value, wd)
sleep(2)
elif element_type == "getTips":
notify_text = get_notify_text(wd, (locator_type, locator_value))
INFO(f"获取到的提示信息为:{notify_text}")
sleep(2)
CHECK_POINT(f"获取到的提示信息为:{notify_text}", expented_result in notify_text)
SELENIUM_LOG_SCREEN(wd, "50")
elif element_type == "getText":
text = elment_get_text((locator_type, locator_value), wd)
INFO(f"获取到的文本信息为:{text}")
CHECK_POINT(f"获取到的文本信息为:{text}", expented_result in text)
SELENIUM_LOG_SCREEN(wd, "50")
# 执行完一个用例就刷新一下页面重置
wd.refresh()
wd.refresh()
sleep(2)
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论