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

优化user_login函数,增加approval_status_control会议审批的公用函数。实现长安大学取消审批短信通知的JSON测试。

上级 51f027a3
......@@ -148,7 +148,7 @@ def get_login_url_from_config(login_type):
return login_url
# 管理员登录函数
def admin_login(username, password):
def user_login(username, password):
"""
管理员登录函数。
该函数通过模拟用户输入用户名、密码和验证码,并点击登录按钮,以实现管理员登录。
......@@ -1475,7 +1475,7 @@ def get_current_time_formatted():
return closest_time_point
# 会议创建函数
def meeting_message(meeting_room_name, message_type, message_name, wd):
def meeting_message(meeting_room_name, message_type, message_name, project_type, wd):
"""
会议室会议预定功能的实现。
......@@ -1483,8 +1483,10 @@ def meeting_message(meeting_room_name, message_type, message_name, wd):
包括会议名称和类型,最后选择会议时间并完成预定。
参数:
- MeetingRoomName (str): 会议室名称,用于搜索指定的会议室。
- MessageType (str): 会议类型,用于填写会议信息。
- meeting_room_name (str): 会议室名称,用于搜索指定的会议室。
- message_type (str): 会议类型,用于填写会议信息。
- message_name (str): 会议名称,用于填写会议信息。
- project_type (str): 项目类型,用于判断是否需要输入特定信息,如固定电话。
- wd: WebDriver实例,用于操作浏览器。
返回:
......@@ -1507,13 +1509,18 @@ def meeting_message(meeting_room_name, message_type, message_name, wd):
safe_click(
(By.XPATH, f"//div[@class='reserve_input']//span[@class='el-checkbox__label'][contains(text(),'{message_type}')]"), wd)
sleep(1)
# 判断是否为项目定制的预约界面
if project_type == "长安大学":
# 输入固定电话
safe_send_keys((By.XPATH,"//input[@placeholder='固定电话']"), "13724387311", wd)
# 选择会议时间,点击【快速预定】按钮
current_time = get_current_time_formatted()
print(f"获取当前的时间{current_time}")
safe_click((By.XPATH, f"//div[normalize-space()='{current_time}']"), wd)
sleep(1)
safe_click((By.XPATH, "//div[@class='header_Quick']"), wd)
safe_click((By.XPATH, "//div[@class='header_Quick']"), wd)
sleep(2)
# 点击【确定】按钮
safe_click((By.XPATH, "//button[@type='button']//span[contains(text(),'预定')]"), wd)
......@@ -1608,4 +1615,33 @@ def del_message(message_name, wd):
sleep(1)
# 进入【会议室列表】界面
safe_click((By.XPATH, "//span[contains(text(),'会议室列表')]"), wd)
sleep(1)
# 设置会议审批状态函数
def approval_status_control(message_name, approval_type, wd):
"""
设置会议审批状态。
参数:
- message_name: 会议名称,用于搜索特定的会议。
- approval_type: 审批类型,用于选择审批操作(如驳回)。
- wd: WebDriver实例,用于与浏览器交互。
"""
# 进入会议审批模块界面
safe_click((By.XPATH, "//span[contains(text(),'会议审批')]"), wd)
sleep(1)
# 进入待我审批界面
safe_click((By.XPATH, "//div[@id='tab-second']"), wd)
sleep(1)
# 搜索会议
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), message_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), wd)
sleep(1)
# 点击【审批】按钮
safe_click((By.XPATH, "//button[@type='button']//span[contains(text(),'审批')]"), wd)
sleep(1)
# 输入驳回意见
safe_send_keys((By.XPATH, "//textarea[@placeholder='请输入审批意见']"), "审批意见", wd)
# 点击【驳回】按钮
safe_click((By.XPATH, f"//span[contains(text(),'{approval_type}')]"), wd)
sleep(1)
\ No newline at end of file
......@@ -258,4 +258,5 @@
- 补充读取测试用例JSON数据安卓信息、系统管理和信息发布模块的部分功能测试。处理优化富创项目的新需求topic主题与MQTT消息体。
- 处理异常情况,补充截图操作。
68. 2025-03-17
- 补充实现展会的AI创会的简单代码处理,调整config.json配置项增加长安大学的配置信息。
\ No newline at end of file
- 补充实现展会的AI创会的简单代码处理,调整config.json配置项增加长安大学的配置信息。
- 优化user_login函数,增加approval_status_control会议审批的公用函数。实现长安大学取消审批短信通知的JSON测试。
\ No newline at end of file
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
def suite_teardown():
......
......@@ -31,7 +31,7 @@ class SMCMeeting_00x:
# 遍历 ddt_cases 并获取每一个 JSON 对象
for case in ddt_cases:
# 调用会议创建函数
meeting_message("SMC会议室", "SMC3.0", "SMC3.0", wd)
meeting_message("SMC会议室", "SMC3.0", "SMC3.0", "标准版", wd)
sleep(1)
for step in case:
print(f"当前步骤: {step}")
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
def suite_teardown():
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
def suite_teardown():
......
......@@ -35,7 +35,7 @@ class TxcentMeeting_00x:
# 遍历 ddt_cases 并获取每一个 JSON 对象
for case in ddt_cases:
# 调用会议创建函数
meeting_message("腾讯会议室", "腾讯会议", "腾讯会议",wd)
meeting_message("腾讯会议室", "腾讯会议", "腾讯会议","标准版", wd)
sleep(1)
for step in case:
print(f"当前步骤: {step}")
......
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
def suite_teardown():
browser_quit()
\ No newline at end of file
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
def suite_teardown():
browser_quit()
\ No newline at end of file
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
def suite_teardown():
browser_quit()
\ No newline at end of file
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
def suite_teardown():
browser_quit()
\ No newline at end of file
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
def suite_teardown():
......
......@@ -35,7 +35,7 @@ class EditMessage_00x:
# 遍历 ddt_cases 并获取每一个 JSON 对象
for case in ddt_cases:
# 调用会议创建函数
meeting_message("预约会议室", "普通会议", "普通会议",wd)
meeting_message("预约会议室", "普通会议", "普通会议","标准版", wd)
# 搜索会议
safe_send_keys((By.XPATH, "//input[@placeholder='输入关键字搜索']"), "普通会议", wd)
send_keyboard((By.XPATH, "//input[@placeholder='输入关键字搜索']"), wd)
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
def suite_teardown():
......
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
sleep(2)
# 进入历史记录界面
safe_click((By.XPATH,"//span[contains(text(),'历史记录')]"), wd)
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 切换至历史会议模块
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@PT", "Ubains@4321")
user_login("admin@PT", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
......
......@@ -35,7 +35,7 @@ class MessageApproval:
# 遍历 ddt_cases 并获取每一个 JSON 对象
for case in ddt_cases:
# 创建审批会议
meeting_message("审批会议室", "普通会议", "审批测试会议",wd)
meeting_message("审批会议室", "普通会议", "审批测试会议","标准版", wd)
for step in case:
print(f"当前步骤: {step}")
# 先赋值
......
......@@ -172,7 +172,7 @@ class MeetingApproval_Status_000x:
safe_click((By.XPATH,"//img[@title='退出登录']"),wd)
sleep(2)
# 登录审批人的账号
admin_login("admin@ZDH","Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
logging.info("登录审批人账号")
sleep(2)
# 进入会议审批模块
......@@ -288,4 +288,4 @@ class MeetingApproval_Status_000x:
INFO("退出当前账号,返回至普通用户账号")
logging.info("退出当前账号,返回至普通用户账号")
safe_click((By.XPATH, "//img[contains(@title,'退出登录')]"), wd)
admin_login("admin@user", "Ubains@4321")
\ No newline at end of file
user_login("admin@user", "Ubains@4321")
\ No newline at end of file
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@user", "Ubains@4321")
user_login("admin@user", "Ubains@4321")
sleep(2)
def suite_teardown():
......
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
safe_click((By.CSS_SELECTOR, ".el-collapse-item__arrow.el-icon-arrow-right"), wd)
sleep(2)
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 进入后台模块
......
......@@ -22,7 +22,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开会议室管理下拉菜单")
......
......@@ -22,7 +22,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开会议室管理下拉菜单")
......
......@@ -22,7 +22,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开会议室管理下拉菜单")
......
......@@ -16,7 +16,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
sleep(2)
# 进入历史记录界面
safe_click((By.XPATH,"//span[contains(text(),'会议模板')]"), wd)
\ No newline at end of file
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 切换至会议模板模块
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 进入后台模块
......
......@@ -14,14 +14,14 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 进入后台模块
safe_click((By.XPATH, "//img[@title='后台系统']"),wd)
# 切换至信息统计模块
safe_click((By.XPATH, "//span[contains(text(),'信息统计')]"), wd)
def suite_teardown():
wd = GSTORE['wd']
wd.quit()
\ No newline at end of file
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 进入后台模块
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 进入后台模块
......
......@@ -22,7 +22,7 @@ def suite_setup():
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
user_login("Test02", "ubains@123")
def suite_teardown():
browser_quit()
\ No newline at end of file
......@@ -22,7 +22,7 @@ def suite_setup():
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
user_login("Test02", "ubains@123")
def suite_teardown():
browser_quit()
\ No newline at end of file
......@@ -26,7 +26,7 @@ def suite_setup():
app_init(device_ip,62001)
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
user_login("Test02", "ubains@123")
sleep(5)
......
......@@ -26,7 +26,7 @@ def suite_setup():
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
user_login("Test02", "ubains@123")
def suite_teardown():
device_ip = '192.168.5.142'
......
......@@ -22,7 +22,7 @@ def suite_setup():
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
user_login("Test02", "ubains@123")
sleep(2)
# 进入后台
enter_the_backend()
......
......@@ -30,7 +30,7 @@ def suite_setup():
# 传入系统类型,展厅预定巡检 == 192.168.5.200
browser_init("展厅预定巡检")
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
user_login("Test02", "ubains@123")
def suite_teardown():
device_ip = '192.168.5.112'
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 进入后台模块
......
......@@ -15,7 +15,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 进入后台模块
......
......@@ -14,7 +14,7 @@ def suite_setup():
STEP(1, "初始化浏览器")
# 初始化浏览器与系统地址
browser_init("标准版预定系统")
admin_login("admin@Test", "Ubains@4321")
user_login("admin@Test", "Ubains@4321")
sleep(2)
wd = GSTORE['wd']
# 进入后台模块
......
......@@ -132,7 +132,7 @@ class Main_User_Manage_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -110,7 +110,7 @@ class User_Chanage_Pwd_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
# wd.refresh()
INFO("打开账号管理下拉菜单")
......
......@@ -103,7 +103,7 @@ class Add_User_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -100,7 +100,7 @@ class Query_User_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -99,7 +99,7 @@ class User_Status_000x:
CHECK_POINT('校验登录提示信息', notify_text == '用户被停用')
STEP(7, '重新登录管理员账号,回到用户管理界面')
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
safe_click((By.XPATH, "//span[@class='aside_menu menu_account']"), wd)
......@@ -128,7 +128,7 @@ class User_Status_000x:
wd.get(login_url)
# 最大化浏览器窗口
wd.maximize_window()
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
wd.refresh()
......
......@@ -20,7 +20,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
......@@ -14,7 +14,7 @@ def suite_setup():
browser_init("标准版预定系统")
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
user_login("admin@ZDH", "Ubains@4321")
enter_the_backend()
INFO("打开账号管理下拉菜单")
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论