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

调整钉钉发送消息调用函数,去除callback回调。补充部门管理模块的定时执行任务。调整get_reportfile_send_dingding函数的参数。

上级 c875c935
......@@ -472,7 +472,7 @@ def dingding_send_message(test_report_url, title, text, mobile):
# 记录调用此函数的日志
logging.info("开始构建并发送钉钉机器人消息")
# 钉钉机器人的 Webhook URL 和密钥
# 钉钉机器人的 Webhook URL 和密钥(测试环境)
webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=7fbf40798cad98b1b5db55ff844ba376b1816e80c5777e6f47ae1d9165dacbb4'
secret = 'SEC610498ed6261ae2df1d071d0880aaa70abf5e67efe47f75a809c1f2314e0dbd6'
......@@ -509,7 +509,7 @@ def dingding_send_message(test_report_url, title, text, mobile):
},
"at": {
"atMobiles": [mobile],
"isAtAll": False
"isAtAll": True
}
}
......@@ -536,7 +536,6 @@ def run_automation_test(report_title, report_url_prefix, test_case):
- report_title: 报告的标题
- report_url_prefix: 报告URL的前缀
- test_case: 测试用例脚本执行的标签名
- callback: 回调函数
"""
# 记录测试开始的日志
logging.info("开始自动化测试...")
......@@ -570,7 +569,7 @@ def run_automation_test(report_title, report_url_prefix, test_case):
logging.info("自动化测试完成。")
# 调用回调函数处理后续操作
get_reportfile_send_dingding("用户管理模块_测试报告", "http://192.168.1.166")
get_reportfile_send_dingding(f"{report_title}_测试报告", report_url_prefix)
def get_reportfile_send_dingding(report_title, report_url_prefix):
try:
......
......@@ -77,4 +77,5 @@
22. 2024-11-28
- 封装get_reportfile_send_dingding函数用来获取测试报告文件并拼接IP地址,并发送钉钉群消息。优化定时任务run_automation_test函数的调用处理,并增加对于的日志输出。
- 补充定时任务执行的注解。
- 调整元素定位的显示等待时间,避免因服务器的网络波动导致元素获取异常。
\ No newline at end of file
- 调整元素定位的显示等待时间,避免因服务器的网络波动导致元素获取异常。
- 调整钉钉发送消息调用函数,去除callback回调。补充部门管理模块的定时执行任务。调整get_reportfile_send_dingding函数的参数。
\ No newline at end of file
......@@ -92,15 +92,10 @@ class Delete_User_000x:
SELENIUM_LOG_SCREEN(wd,"50%","User_Manage","User_Delete",f"{name}_查看删除结果")
if name == "用户删除_012":
# 清除浏览器,再重新打开浏览器
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login()
enter_the_backend()
INFO("打开账号管理下拉菜单")
safe_click((By.XPATH, "//span[@class='aside_menu menu_account']"), wd)
INFO("进入用户管理模块")
safe_click((By.XPATH, "//li[contains(text(),'用户管理')]"), wd)
\ No newline at end of file
# 清除数据
safe_send_keys((By.XPATH, "//input[@placeholder='输入关键字']"), "默认部门名称", wd)
send_keyboard((By.XPATH, "//input[@placeholder='输入关键字']"), wd)
sleep(1)
safe_click((By.XPATH, "(//span[contains(text(),'删除')])[4]"),wd)
sleep(2)
safe_click((By.XPATH,"(//span[contains(text(),'确定')])[4]"),wd)
\ No newline at end of file
......@@ -15,6 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门编辑.csv')
class Department_Edit_000x:
tags = ['部门管理功能']
"""
执行指令:
1.cd 预定系统
......@@ -27,6 +28,7 @@ class Department_Edit_000x:
执行测试步骤以部门管理主流程功能。
本函数根据参数输入部门名称,并检查新增后的提示信息是否与预期相符。
"""
login_url = 'https://192.168.5.218/#/login/logindf'
# 初始化通知文本为空字符串
notify_text = ""
# 从全局存储中获取webdriver实例
......@@ -96,6 +98,7 @@ class Department_Edit_000x:
# 获取并检查编辑部门后的提示信息
notify_text = get_notify_text(wd, (By.XPATH,"//p[@class='el-message__content']"),"Department_Manage", "Department_Edit", name)
INFO(f"部门编辑提示:{notify_text}")
sleep(4)
CHECK_POINT("检查部门编辑提示", notify_text == check_text)
# 步骤8:检查部门负责人
......@@ -108,4 +111,4 @@ class Department_Edit_000x:
(By.XPATH, f"//div[@class='currentDep']//div[contains(text(),'{department_user}')]"), wd)
CHECK_POINT("检查部门负责人查询结果", department_user in notify_text)
safe_click((By.XPATH, "//div[@aria-label='编 辑']//i[@class='el-dialog__close el-icon el-icon-close']"), wd)
sleep(1)
\ No newline at end of file
sleep(2)
\ No newline at end of file
......@@ -20,6 +20,7 @@ class Main_Department_Manage_000x:
1.cd 预定系统
2.hytest --report_title 部门主流程测试报告 --test 部门主流程_0**
"""
tags = ['部门管理功能']
ddt_cases = read_csv_data(csv_file_path)
def teststeps(self):
......@@ -57,7 +58,7 @@ class Main_Department_Manage_000x:
INFO("点击编辑按钮")
# 安全点击编辑按钮
safe_click((By.XPATH,
"//div[@class='content']//div[2]//div[1]//span[2]//span[2]//button[2]"),wd)
"(//span[contains(text(),'编 辑')])[3]"),wd)
INFO(f"输入部门名称:{department_name}")
# 输入新的部门名称
safe_send_keys((By.XPATH,
......@@ -102,4 +103,5 @@ class Main_Department_Manage_000x:
notify_text = get_notify_text(wd, (By.XPATH,"//p[@class='el-message__content']"),"Department_Manage", "Department_Main", f"{name}部门删除")
INFO(f"部门删除提示文本:{notify_text}")
# 检查删除提示文本是否与预期相符
CHECK_POINT("部门删除提示文本", notify_text == check_del_text)
\ No newline at end of file
CHECK_POINT("部门删除提示文本", notify_text == check_del_text)
sleep(3)
\ No newline at end of file
......@@ -15,6 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门新增.csv')
class Department_Add_000x:
tags = ['部门管理功能']
"""
执行指令:
1.cd 预定系统
......@@ -51,12 +52,38 @@ class Department_Add_000x:
CHECK_POINT("父级部门新增提示文本", notify_text == check_add_text)
elif department_type == "二级子部门":
# 安全点击操作,找到新增按钮并点击
safe_click((By.XPATH, "//div[@class='el-tree-node is-expanded is-focusable']//span[contains(text(),'添 加')]"), wd)
# 安全点击操作,找到新增父部门按钮并点击
safe_click((By.XPATH, "//button[@class='el-button el-button--primary el-button--medium']"), wd)
safe_send_keys((By.XPATH, "//input[@placeholder='输入关键字']"), department_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='输入关键字']"), wd)
sleep(1)
STEP(2, "检查父级部门新增提示文本信息")
# 获取新增后的通知文本
notify_text = get_notify_text(wd, (By.XPATH, "//p[@class='el-message__content']"), "Department_Manage",
"Department_Add", f"{name}部门新增")
# 检查新增提示文本是否与预期相符
INFO(f"父级部门新增提示文本:{notify_text}")
CHECK_POINT("父级部门新增提示文本", notify_text == check_add_text)
# 安全点击操作,找到新增子部门按钮并点击
safe_click((By.XPATH, "(//span[contains(text(),'添 加')])[4]"), wd)
sleep(1)
STEP(2, "检查二级子部门新增提示文本信息")
# 获取新增后的通知文本
notify_text = get_notify_text(wd, (By.XPATH,"//p[@class='el-message__content']"),"Department_Manage", "Department_Add", f"{name}部门新增")
# 检查新增提示文本是否与预期相符
INFO(f"二级子部门新增提示文本:{notify_text}")
CHECK_POINT("二级子部门新增提示文本", notify_text == check_add_text)
\ No newline at end of file
CHECK_POINT("二级子部门新增提示文本", notify_text == check_add_text)
# 清除测试数据
if name == "部门新增_002":
safe_click((By.XPATH, "(//span[contains(text(),'删除')])[4]"),wd)
sleep(1)
safe_click((By.XPATH, "(//span[contains(text(),'确定')])[4]"), wd)
sleep(1)
# 获取新增后的通知文本
notify_text = get_notify_text(wd, (By.XPATH, "//p[@class='el-message__content']"), "Department_Manage",
"Department_Add", f"{name}部门新增")
# 检查新增提示文本是否与预期相符
INFO(f"检查清除数据的提示文本:{notify_text}")
CHECK_POINT("校验清除数据提示文本", notify_text == check_add_text)
\ No newline at end of file
......@@ -15,6 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门删除.csv')
class Department_Add_000x:
tags = ['部门管理功能']
"""
执行指令:
1.cd 预定系统
......
......@@ -15,6 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门查询.csv')
class Department_Query_000x:
tags = ['部门管理功能']
"""
执行指令:
1.cd 预定系统
......@@ -38,7 +39,7 @@ class Department_Query_000x:
STEP(1, "增加测试数据")
# 点击添加按钮以开始新增部门流程
safe_click((By.XPATH, "(//span[contains(text(),'添 加')])[1]"), wd)
sleep(2)
sleep(1)
# 获取新增后的通知文本并与预期比较
notify_text = get_notify_text(wd, (By.XPATH,"//p[@class='el-message__content']"),"Department_Manage", "Department_Query", f"{name}部门新增")
INFO(f"部门新增提示:{notify_text}")
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
......@@ -20,6 +20,7 @@ logging.basicConfig(
# 每天凌晨 0 点执行任务
schedule.every().day.at("09:30").do(run_automation_test, report_title="用户管理模块_测试报告", report_url_prefix="http://192.168.1.166", test_case="用户管理功能")
schedule.every().day.at("09:40").do(run_automation_test, report_title="部门管理模块_测试报告", report_url_prefix="http://192.168.1.166", test_case="部门管理功能")
try:
# 无限循环,持续检查并执行计划任务
......
name,department_delete_type,check_add_text,check_del_text
部门删除_001,单个删除,添加成功,删除成功
部门删除_002,批量删除,添加成功,删除成功
部门删除_003,单个删除,添加成功,删除成功
部门删除_004,不勾选部门进行批量删除,添加成功,请选择部门
\ No newline at end of file
部门删除_003,不勾选部门进行批量删除,添加成功,请选择部门
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论