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

调整展厅巡检脚本的操作流程,增加会场静音等操作与截图。输出会议修改相关代码。

上级 76a6a87e
......@@ -200,8 +200,8 @@ def issue_send_and_upload(wd , issue_num, issue_name):
issue_file_path = [
r"D:\GithubData\自动化测试\ubains-module-test\预定系统\reports\issue_file\5.164Scan 安全报告.pdf",
r"D:\GithubData\自动化测试\ubains-module-test\预定系统\reports\issue_file\展厅巡检排班记录241129.xlsx",
r"D:\GithubData\自动化测试\ubains-module-test\预定系统\reports\issue_file\统一平台培训赋能.pptx",
r"D:\GithubData\自动化测试\ubains-module-test\预定系统\reports\issue_file\议题图片.png",
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\issue_file\ideaTop部署配置视频.mp4",
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\issue_file\IdeaTop软件配置&操作说明文档.docx",
r"D:\GithubData\自动化测试\ubains-module-test\预定系统\reports\issue_file\议题图片.png"
]
......@@ -223,7 +223,7 @@ def issue_send_and_upload(wd , issue_num, issue_name):
INFO(f"第{i+1}个议题文件上传完成")
sleep(5)
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "MeetingMessage", "添加议题文件")
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Meeting_Message", "添加议题文件")
# 点击【确定】按钮
safe_click((By.XPATH, "//div[@aria-label='会议文件上传']//div[@class='el-dialog__footer']//div//span[contains(text(),'确定')]"),wd)
sleep(2)
......
......@@ -108,4 +108,5 @@
- 更新展厅巡检定时任务。通过覆盖的方式将appium的截图替换掉hytest的截图,从而实现appium的测试报告生成。
31. 2024-12-16
- 补充展厅预定巡检的截图信息,补充开发调试使用的毫米波雷达模拟.
- 修改主README文档,补充目录说明,执行指令,以及报告查看内容.
\ No newline at end of file
- 修改主README文档,补充目录说明,执行指令,以及报告查看内容.
- 调整展厅巡检脚本的操作流程,增加会场静音等操作与截图。输出会议修改相关代码。
\ No newline at end of file
from datetime import datetime, timedelta
from time import sleep
from datetime import timedelta
import sys
import os
......
from datetime import timedelta
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 *
# 获取当前脚本所在的目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建CSV文件的绝对路径
csv_file_path = os.path.join(current_dir, '../../测试数据/会议主流程/会议删除.csv')
# 定义时间格式
time_format = "%H:%M"
class Message_Update_000x:
"""
执行指令:
1.cd 预定系统
2.hytest --report_title 会议修改测试报告 --test 会议删除_0**
"""
ddt_cases = read_csv_data(csv_file_path)
def teststeps(self):
"""
执行测试步骤以会议室删除功能。
本函数根据参数输入会议室名称进行搜索并删除会议室,并检查删除后的提示信息是否与预期相符。
字段含义:
name:用例名称
message_name:原会议名称
check_text:检查提示文本
"""
# 初始化通知文本为空字符串
notify_text = ""
# 从全局存储中获取webdriver实例
wd = GSTORE['wd']
name = self.name
message_name, check_text = self.para
# 切换至已预定列表界面
STEP(1, '切换至已预定列表界面')
safe_click((By.XPATH, "//span[contains(text(),'已预订会议')]"),wd)
sleep(1)
# 在已预定列表搜索会议
STEP(1,f"在已预定列表界面搜索会议:{message_name}")
INFO(f"搜索会议:{message_name}")
# 输入会议名称
safe_send_keys((By.XPATH, "//input[@placeholder='输入关键字搜索']"), message_name, wd)
# 敲击回车进行搜索
send_keyboard((By.XPATH, "//input[@placeholder='输入关键字搜索']"), wd)
sleep(1)
# 获取查询结果
notify_text = elment_get_text((By.XPATH, f"//div[@class='cell el-tooltip'][contains(text(),'{message_name}')]"),wd)
INFO(f"搜索结果为:{notify_text}")
CHECK_POINT("搜索结果是否正确", message_name in notify_text)
sleep(2)
STEP(2, "点击【删除会议】按钮")
# 点击【会议删除】按钮
safe_click((By.XPATH, "//span[contains(text(),'删除会议')]"), wd)
# 点击【取消】按钮
safe_click((By.XPATH, "(//span[contains(text(),'取消')])[5]"),wd)
sleep(2)
# 再次点击【会议删除】按钮
safe_click((By.XPATH, "//span[contains(text(),'删除会议')]"), wd)
safe_click((By.XPATH, "(//span[contains(text(),'确定')])[11]"), wd)
sleep(1)
STEP(4, f"检查删除提示信息是否正确:{check_text}")
# 获取删除成功提示信息
notify_text = get_notify_text(wd, (By.XPATH, "//p[@class='el-message__content']"), "Message_Manage","Message_Del",f"{name}删除会议提示信息")
INFO(f"删除提示信息为:{notify_text}")
CHECK_POINT("删除提示信息是否正确", check_text in notify_text)
\ No newline at end of file
......@@ -68,17 +68,18 @@ def message_extend_meeting(time_value, wd, name):
"""
# 安全地输入延长会议的时间值
safe_send_keys((By.XPATH, "//div[@class='el-input']//input[@type='text']"), time_value, wd)
sleep(2)
# 安全地点击确定按钮以应用新的时间设置
safe_click((By.XPATH, "//div[@slot='footer']//span[contains(text(),'确定')]"), wd)
# 等待一段时间以确保操作完成
sleep(1)
sleep(2)
# 获取操作后的通知文本
notify_text = get_notify_text(wd, (By.XPATH, "//p[@class='el-message__content']"), "Message_Manage",
"Message_Update_Status", f"{name}_修改状态失败提示信息")
# 记录操作失败的提示信息
INFO(f"修改状态失败提示信息为:{notify_text}")
# 再次等待以确保系统更新
sleep(1)
sleep(2)
# 返回通知文本以供进一步处理
return notify_text
......@@ -87,7 +88,7 @@ class Message_UpdateStatus_000x:
"""
执行指令:
1.cd 预定系统
2.hytest --report_title 会议预约测试报告 --test 会议状态设置_0**
2.hytest --report_title 会议状态设置测试报告 --test 会议状态设置_0**
"""
ddt_cases = read_csv_data(csv_file_path)
......@@ -201,12 +202,12 @@ class Message_UpdateStatus_000x:
INFO("点击【确定】按钮")
safe_click((By.XPATH, "//button[@type='button']//span[contains(text(),'预定')]"), wd)
sleep(3)
sleep(2)
# 查看是否显示加载中
notify_text = elment_get_text((By.XPATH, "//p[@class='el-loading-text']"), wd)
CHECK_POINT("是否显示加载中", "提交数据中" in notify_text)
sleep(5)
# notify_text = elment_get_text((By.XPATH, "//p[@class='el-loading-text']"), wd)
# CHECK_POINT("是否显示加载中", "提交数据中" in notify_text)
# sleep(5)
# 获取提示信息
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage",
......@@ -248,6 +249,7 @@ class Message_UpdateStatus_000x:
"Message_Update_Status", f"{name}_修改状态成功提示信息")
INFO(f"修改状态成功提示信息为:{notify_text}")
CHECK_POINT("修改状态成功提示是否正确", "会议提前开始成功" in notify_text)
sleep(2)
# 校验延长会议时间边界值
STEP(8,"延长会议时间边界值测试")
......@@ -256,24 +258,27 @@ class Message_UpdateStatus_000x:
message_update_status(wd)
INFO("选择【延长时间】为空")
# 调用延长会议时间函数
notify_text = message_extend_meeting("", wd, name)
notify_text = message_extend_meeting("0", wd, name)
CHECK_POINT("检查延长时间为空提示是否正确", "至少延长15分钟" in notify_text)
sleep(2)
INFO("选择【延长时间】为10分钟")
# 调用延长会议时间函数
notify_text = message_extend_meeting("10", wd, name)
CHECK_POINT("检查延长时间为“10”分钟提示是否正确", "至少延长15分钟" in notify_text)
sleep(2)
INFO("选择【延长时间】为90分钟")
# 调用延长会议时间函数
notify_text = message_extend_meeting("90", wd, name)
sleep(3)
CHECK_POINT("检查延长时间为“90”分钟提示是否正确", "超过该会议室可预订的最大时长" in notify_text)
sleep(2)
INFO("选择【延长时间】为16分钟")
# 调用延长会议时间函数
notify_text = message_extend_meeting("16", wd, name)
CHECK_POINT("检查延长时间为“16”分钟提示是否正确", "会议延长成功" in notify_text)
sleep(2)
# 结束会议
STEP(9,"结束会议")
......
......@@ -3,6 +3,8 @@ import sys
import os
from venv import logger
from pygments.lexers.diff import WDiffLexer
# 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径
......@@ -105,6 +107,13 @@ class Exhibition_hall_inspection_000x:
issue_send_and_upload(wd, 5, issue_name)
sleep(2)
# 选择签到时间
INFO("选择提前30分钟开始签到")
safe_click((By.XPATH, "(//span[@class='el-switch__core'])[2]"),wd)
safe_click((By.XPATH, "(//span[@class='el-switch__core'])[3]"),wd)
sleep(1)
safe_send_keys((By.XPATH, "//input[@id='input_checkin']"), "30", wd)
# 将字符串转换为时间对象1
start_time = datetime.strptime(book_start_time, time_format)
end_time = datetime.strptime(book_end_time, time_format)
......@@ -172,7 +181,7 @@ class Exhibition_hall_inspection_000x:
notify_text = elment_get_text((By.XPATH, f"//span[normalize-space()='{ipn[i]}']"), wd)
INFO(f"已选择参会人:{notify_text}")
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "MeetingMessage", "选择内部参会人")
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Meeting_Message", "选择内部参会人")
# 点击【下一步】按钮
safe_click((By.XPATH,"//div[contains(text(),'下一步')]"),wd)
......@@ -291,5 +300,16 @@ class Exhibition_hall_inspection_000x:
wd.refresh()
sleep(2)
single_click_and_drag((By.XPATH,"//span[contains(text(),'展厅指挥中心')]"), (By.XPATH,"(//div)[119]") , wd)
single_click_and_drag((By.CSS_SELECTOR,"body > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > table:nth-child(1) > tbody:nth-child(2) > tr:nth-child(1) > td:nth-child(2) > div:nth-child(1) > span:nth-child(1)"),(By.XPATH,"(//div)[120]"), wd)
sleep(4)
# SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "MeetingControl", "会场画面控制")
INFO("使用基础会控功能:禁用摄像头、麦克风")
safe_click((By.XPATH,"//span[contains(text(),'禁用摄像头')]"),wd)
STEP(11, "检查会控界面功能")
INFO("开启指挥中心麦克风")
sleep(2)
safe_click((By.XPATH,"(//img[@title='解除静音'])[3]"),wd)
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "MeetingControl", "会场画面控制")
\ No newline at end of file
name,message_name,check_text
会议删除_001,这是普通会议测试3,删除成功
\ No newline at end of file
name,conference_name,message_name,book_start_time,book_end_time,book_check_text
会议状态设置_001,产研中心会议室,哈哈哈哈会议,16:00,16:15,预定成功
\ No newline at end of file
会议状态设置_001,产研中心会议室,哈哈哈哈会议,20:45,21:00,预定成功
\ No newline at end of file
name,conference_name,message_name,book_type,issue_name,book_start_time,book_end_time,inside_participant_name,message_notification,notification_method,check_text
展厅巡检_001,展厅会议室,展厅巡检测试,普通会议,议题1,09:30,09:45,CZJ,开会前一天提醒,短信,预定成功
\ No newline at end of file
展厅巡检_001,展厅会议室,展厅巡检测试,普通会议,议题1,20:15,20:45,CZJ,开会前一天提醒,短信,预定成功
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论