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

输出会议修改代码,增加预约类型的判断,处理对于周期会议的修改特殊处理。

上级 312dda8e
......@@ -61,4 +61,5 @@
17. 2024-11-20
- 排查驱动加载失败问题,问题由浏览器驱动与当前浏览器版本不同导致,已优化代码为自动根据浏览器版本下载对应驱动。
- 补充关于定制化项目的脚本路径,补充工商银行查询停车缴费系统数据的代码。
- 优化会议预约的脚本,增加预约类型、消息提醒、通知方式以及是否创建模板的代码判断,根据对应需求创建对应类型的会议。
\ No newline at end of file
- 优化会议预约的脚本,增加预约类型、消息提醒、通知方式以及是否创建模板的代码判断,根据对应需求创建对应类型的会议。
- 输出会议修改代码,增加预约类型的判断,处理对于周期会议的修改特殊处理。
\ No newline at end of file
from datetime import datetime, timedelta
from time import sleep
import sys
import os
from turtledemo.nim import HCOLOR
from xml.dom.pulldom import SAX2DOM
# 获取当前脚本的绝对路径
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:原会议名称
new_message_name:新会议名称
book_type:预约类型
repetitive_cycle:重复周期
update_type:修改周期会议的方式
host_name:主持人名称
message_content:会议内容
book_start_time:会议开始时间
book_end_time:会议结束时间
inside_participant_name:内部参会人名称
outside_participant_name:外部参会人名称
outside_participant_phone:外部参会人手机号码
message_notification:消息提醒时间
notification_method:通知方式
check_text:检查提示文本
"""
# 初始化通知文本为空字符串
notify_text = ""
# 从全局存储中获取webdriver实例
wd = GSTORE['wd']
name = self.name
message_name, new_message_name, book_type, repetitive_cycle, update_type, host_name, message_content, book_start_time, book_end_time, inside_participant_name, outside_participant_name, outside_participant_phone, save_template, template_name, message_notification, notification_method, 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)
STEP(2, "点击【修改会议】按钮")
# 点击【修改会议】按钮
safe_click((By.XPATH, "//button[contains(@type,'button')]//span[contains(text(),'修改会议')]"), wd)
sleep(1)
# 获取修改会议界面标题
notify_text = elment_get_text((By.XPATH, "//div[@class='reserve_Title']"),wd)
INFO(f"修改会议界面标题为:{notify_text}")
CHECK_POINT("修改会议界面标题是否正确", "修改会议" in notify_text)
STEP(3, "修改会议第一步修改信息")
INFO(
f"输入会议名称:{new_message_name},选择预约类型:{book_type},输入主持人:{host_name},输入会议内容:{message_content},选择会议开始时间:{book_start_time},选择会议结束时间:{book_end_time}")
# 输入会议名称
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议名称']"), new_message_name, wd)
# 判断预约类型
if book_type == "普通会议":
INFO("预约类型为:普通会议")
# 选择普通会议
safe_click((By.XPATH, f"//span[contains(text(),'{book_type}')]"), wd)
sleep(1)
elif book_type == "周期会议":
INFO("预约类型为:周期会议")
# 选择周期会议
safe_click((By.XPATH, f"//span[contains(text(),'{book_type}')]"), wd)
sleep(1)
# 选择重复周期
safe_click((By.XPATH, f"//span[contains(text(),'{repetitive_cycle}')]"), wd)
sleep(1)
# 输入会议主持人
safe_send_keys((By.XPATH, "//input[@placeholder='请输入']"), host_name, wd)
# 输入会议内容
safe_send_keys((By.XPATH, "//textarea[@placeholder='请输入会议内容']"), message_content, wd)
sleep(2)
# 点击时间块,重新选择
safe_click((By.XPATH, f"//div[normalize-space()='{book_start_time}']"),wd)
sleep(1)
# 获取提示信息
notify_text = get_notify_text(wd,(By.XPATH, "//p[contains(@class,'el-message__content')]"),"Message_Manage","Message_Book",f"{name}_时间重新选择提示")
INFO(f"时间重新选择提示为:{notify_text}")
CHECK_POINT("时间重新选择提示是否正确", "重新选择" in notify_text)
sleep(2)
# 将字符串转换为时间对象
start_time = datetime.strptime(book_start_time, time_format)
end_time = datetime.strptime(book_end_time, time_format)
# 如果需要将时间差转换为分钟数
time_diff_minutes = (end_time - start_time).total_seconds() / 60
INFO(f"时间差为:time_diff_minutes")
# 判断如果开始时间与结束时间相等,则不重复点击
if book_start_time == book_end_time:
INFO(f"开始时间与结束时间相等,选择时间块:{book_start_time}")
# 根据开始时间选择对应时间块,时间格式为:**:**
safe_click((By.XPATH, f"(//div[normalize-space()='{book_start_time}'])[1]"), wd)
elif book_start_time != book_end_time:
INFO(f"开始时间与结束时间不相等,选择时间块:{book_start_time},{book_end_time}")
# 根据开始时间选择对应时间块,时间格式为:**:**
safe_click((By.XPATH, f"(//div[normalize-space()='{book_start_time}'])[1]"), wd)
# 根据结束时间选择对应时间块,时间格式为:**:**
safe_click((By.XPATH, f"(//div[normalize-space()='{book_end_time}'])[1]"), wd)
sleep(2)
# 判断时间差是否大于最大预约时长1小时,即60分钟
if time_diff_minutes > 60:
INFO(f"时间差大于最大预约时长1小时,选择【超出预约时长】")
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage", "Message_Book", f"{name}_超出预约时长")
INFO(f"提示信息为:{notify_text}")
CHECK_POINT("超出预约时长提示是否正确", "最大预定时间 1 小时" in notify_text)
sleep(2)
# 不选时间点击【下一步】查看提示信息
INFO("不选时间点击【下一步】查看提示信息")
safe_click((By.XPATH, "//div[contains(text(),'下一步')]"),wd)
sleep(1)
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage", "Message_Update", f"{name}请选择会议时间提示信息")
INFO(f"提示信息为:{notify_text}")
CHECK_POINT("未选时间提示是否正确", "请选择会议时间" in notify_text)
sleep(1)
# 重新选择时间,将字符串转换为时间对象
time_obj = datetime.strptime(book_end_time, time_format)
time_obj_minus_5_minutes = time_obj - timedelta(minutes=30)
# 将时间对象转换回字符串
book_end_time = time_obj_minus_5_minutes.strftime(time_format)
INFO(f"重新选择结束时间为:{book_end_time}")
# 根据开始时间选择对应时间块,时间格式为:**:**
safe_click((By.XPATH, f"(//div[normalize-space()='{book_start_time}'])[1]"), wd)
# 根据结束时间选择对应时间块,时间格式为:**:**
safe_click((By.XPATH, f"(//div[normalize-space()='{book_end_time}'])[1]"), wd)
sleep(2)
# 在会议预定第二步界面进行数据填入
STEP(4, "修改会议第二步数据填写")
# 点击【下一步】进入会议预定第二步界面
safe_click((By.XPATH, "//div[contains(text(),'下一步')]"), wd)
sleep(1)
# 点击【清空】按钮,清空参会人数据
safe_click((By.XPATH, "//div[@class='reserve2_personnelList_t']//div[@class='el-tooltip'][contains(text(),'清空')]"),wd)
sleep(1)
# 检查弹窗提示信息
notify_text = elment_get_text((By.XPATH,"//p[contains(text(),'是否清空当前会议室参会人员')]"),wd)
INFO(f"清空人员弹窗提示信息为:{notify_text}")
CHECK_POINT("弹窗提示信息是否正确", "是否清空当前会议室参会人员" in notify_text)
sleep(2)
# 点击【确定】按钮
safe_click((By.XPATH,"//button[contains(@class,'el-button el-button--default el-button--small el-button--primary')]//span[contains(text(),'确定')]"),wd)
sleep(2)
# 检查提示信息
notify_text = get_notify_text(wd,(By.XPATH,"//p[@class='el-message__content']"),"Message_Manage","Message_Update",f"{name}_清空人员提示信息")
INFO(f"清空人员提示信息为:{notify_text}")
CHECK_POINT("提示信息是否正确", "已清空当前会议室人员" in notify_text)
# 根据参会人名称搜搜对应参会人
safe_send_keys((By.XPATH, "//input[@placeholder='账号/用户名']"), inside_participant_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='账号/用户名']"), wd)
sleep(1)
# 选择内部参会人
INFO(f"选择内部参会人:{inside_participant_name}")
safe_click((By.XPATH, "//tbody//tr//td//div//label//span//span"), wd)
# 获取已选的参会人名称
notify_text = elment_get_text((By.XPATH, f"//span[normalize-space()='{inside_participant_name}']"), wd)
INFO(f"已选择参会人:{notify_text}")
CHECK_POINT("内部参会人选择是否正确", inside_participant_name in notify_text)
INFO(f"输入外部参会人名称:{outside_participant_name},外部参会人号码:{outside_participant_phone}")
# 点击【添加外部参会人】按钮
safe_click((By.XPATH, "(//span[contains(text(),'添加外部参会人员')])[1]"), wd)
sleep(1)
INFO("检查弹窗标题是否正确")
notify_text = elment_get_text(
(By.XPATH, "//span[contains(@class,'el-dialog__title')][contains(text(),'添加外部参会人员')]"), wd)
INFO(f"弹窗标题为:{notify_text}")
CHECK_POINT("弹窗标题是否正确", "添加外部参会人员" in notify_text)
# 输入外部参会人名称、外部参会人号码
safe_send_keys((By.XPATH, "//div[contains(@class,'add_input')]//input[contains(@placeholder,'用户名')]"),
outside_participant_name, wd)
safe_send_keys((By.XPATH, "//input[@placeholder='手机号码']"), outside_participant_phone, wd)
sleep(1)
# 点击【确定】按钮
safe_click((By.XPATH,
"//div[@aria-label='添加外部参会人员']//div[@class='el-dialog__footer']//button[@type='button']"),
wd)
sleep(1)
# 检查提示信息是否正确
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage",
"Message_Book", f"{name}_添加外部参会人提示信息")
INFO(f"提示信息为:{notify_text}")
CHECK_POINT("提示信息是否正确", "添加成功" in notify_text)
# 点击【下一步】按钮
safe_click((By.XPATH, "//div[contains(text(),'下一步')]"), wd)
# 进入会议预约第三步进行填写
STEP(5, "会议第三步数据填写")
INFO("检查页面标题是否正确")
sleep(1)
# 获取页面标题
notify_text = elment_get_text((By.XPATH, "//h2[contains(text(),'消息提醒')]"), wd)
INFO(f"页面标题为:{notify_text}")
CHECK_POINT("页面标题是否正确", "消息提醒" in notify_text)
# 清空消息通知数据
safe_click((By.XPATH, "//div[contains(@class,'Reminds')]//span[contains(@class,'el-checkbox__label')][contains(text(),'全选')]"),wd)
safe_click((By.XPATH,
"//div[contains(@class,'Reminds')]//span[contains(@class,'el-checkbox__label')][contains(text(),'全选')]"),
wd)
# 清空发送方式数据
safe_click((By.XPATH, "//div[contains(@class,'Sendout')]//span[contains(@class,'el-checkbox__label')][contains(text(),'全选')]"),wd)
safe_click((By.XPATH,
"//div[contains(@class,'Sendout')]//span[contains(@class,'el-checkbox__label')][contains(text(),'全选')]"),
wd)
sleep(1)
# 判断是否需要存入模板
INFO(f"是否需要存入模板:{save_template}")
if save_template == "是":
# 点击【是】按钮
safe_click((By.XPATH,f"//span[@class='el-radio__label'][contains(text(),'{save_template}')]"),wd)
# 输入模板名称
safe_send_keys((By.XPATH,"//input[@placeholder='请输入模版名称']"),template_name,wd)
sleep(1)
else:
# 点击【否】按钮
safe_click((By.XPATH, f"//span[@class='el-radio__label'][contains(text(),'{save_template}')]"), wd)
sleep(1)
# 选择消息提醒时间
INFO(f"选择消息提醒时间:{message_notification}")
# 判断消息提醒时间是否为全选
if message_notification == "全选":
# 点击【全选】按钮
safe_click((By.XPATH,"//div[@class='Reminds']//span[@class='el-checkbox__label'][contains(text(),'全选')]"),wd)
sleep(1)
else:
# 选择对应的消息提醒时间
safe_click((By.XPATH, f"//span[contains(text(),'{message_notification}')]"), wd)
sleep(1)
# 选择通知方式
INFO(f"选择通知方式:{notification_method}")
if notification_method == "全选":
# 点击【全选】按钮
safe_click((By.XPATH,"//div[@class='Sendout']//span[@class='el-checkbox__label'][contains(text(),'全选')]"),wd)
else:
# 选择对应的通知方式
safe_click((By.XPATH, f"//span[contains(text(),'{notification_method}')]"), wd)
sleep(1)
# 点击【确定】按钮
STEP(6, "点击【确定】按钮")
safe_click((By.XPATH,"//div[contains(text(),'确定')]"),wd)
# 检查会议信息是否正确
STEP(7, "检查提示会议信息是否正确")
sleep(1)
INFO(
f"检查会议名称:{new_message_name},输入会议内容:{message_content}")
# 获取会议名称与会议内容
message_name_text = elment_get_text((By.XPATH,f"//div[contains(text(),'{new_message_name}')]"),wd)
message_content_text = elment_get_text((By.XPATH,f"//div[contains(text(),'{message_content}')]"),wd)
CHECK_POINT("提示信息是否正确", message_name_text in new_message_name and message_content_text in message_content)
# 点击最后【确定】按钮,修改成功后会跳转至已预定界面
STEP(8, "点击【确定】按钮")
safe_click((By.XPATH, "//div[@aria-label='会议信息']//span[contains(text(),'确定')]"), wd)
sleep(2)
# 判断会议是否为周期会议
if book_type == "周期会议":
# 选择修改周期会议的方式
safe_click((By.XPATH, f"//span[contains(text(),'{update_type}')]"),wd)
sleep(1)
# 点击二次确认弹窗【确定】按钮
safe_click((By.XPATH, "//div[@class='el-dialog__body']//span[contains(text(),'确定')]"),wd)
sleep(1)
else:
# 点击二次确认弹窗【确定】按钮
safe_click((By.XPATH, "//div[@class='el-dialog__body']//span[contains(text(),'确定')]"), wd)
sleep(1)
# 查看是否显示加载中
notify_text = elment_get_text((By.XPATH, "//p[@class='el-loading-text']"), wd)
CHECK_POINT("是否显示加载中", "提交数据中" in notify_text)
sleep(6)
# 获取提示信息
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage",
"Message_Book", f"{name}_修改成功提示信息")
INFO(f"修改成功提示信息为:{notify_text}")
CHECK_POINT("修改成功提示是否正确", notify_text == check_text)
\ No newline at end of file
from datetime import datetime, timedelta
from time import sleep
from turtledemo.nim import HCOLOR
from cffi.model import get_typecache
from hytest import *
import sys
import os
# 获取当前脚本的绝对路径
......@@ -258,7 +254,7 @@ class Message_Book_000x:
STEP(7, "检查提示会议信息是否正确")
sleep(1)
INFO(
f"输入会议名称:{message_name},输入会议内容:{message_content}")
f"检查会议名称:{message_name},输入会议内容:{message_content}")
# 获取会议名称与会议内容
message_name_text = elment_get_text((By.XPATH,f"//div[contains(text(),'{message_name}')]"),wd)
message_content_text = elment_get_text((By.XPATH,f"//div[contains(text(),'{message_content}')]"),wd)
......
......@@ -9,10 +9,16 @@
== cases\会议主流程\__st__.py
== cases\会议主流程\会议修改.py
CSV文件已读取
== cases\会议主流程\会议预约.py
CSV文件已读取
** no cases in this file , skip it.
== cases\会议室管理\会议室管理\__st__.py
......@@ -201,7 +207,7 @@ CSV文件已读取
========= 测试开始 : 20241120_114246 =========
========= 测试开始 : 20241120_154247 =========
......@@ -229,49 +235,65 @@ CSV文件已读取
点击登录按钮
>>> cases\会议主流程\会议预约.py
>>> cases\会议主流程\会议修改.py
* 会议预约_002 - 2024-11-20 11:42:53
* 会议修改_001 - 2024-11-20 15:42:52
[ case execution steps ]
-- 第 1 步 -- 在会议室列表搜索:产研中心会议室
-- 第 1 步 -- 切换至已预定列表界面
检查搜索结果
搜索结果为:产研中心会议室
-- 第 1 步 -- 在已预定列表界面搜索会议:这是周期会议测试1
搜索会议:这是周期会议测试1
搜索结果为:这是周期会议测试1
** 检查点 ** 搜索结果是否正确 ----> 通过
-- 第 2 步 -- 点击【会议预定】按钮
-- 第 2 步 -- 点击【修改会议】按钮
检查页面标题是否正确
页面标题为:会议预定
修改会议界面标题为:修改会议
** 检查点 ** 修改会议界面标题是否正确 ----> 通过
** 检查点 ** 页面标题是否正确 ----> 通过
-- 第 3 步 -- 修改会议第一步修改信息
-- 第 3 步 -- 会议第一步数据填写
输入会议名称:这是周期会议测试1,选择预约类型:周期会议,输入主持人:陈泽键,输入会议内容:这是会议内容哈哈,选择会议开始时间:19:00,选择会议结束时间:20:15
预约类型为:周期会议
picture imgs/Message_Manage/Message_Book/会议修改_001_时间重新选择提示20241120154301331157.png
时间重新选择提示为:重新选择
** 检查点 ** 时间重新选择提示是否正确 ----> 通过
输入会议名称:这是普通会议测试,选择预约类型:普通会议,输入主持人:陈泽键,输入会议内容:这是会议内容嘿嘿,选择会议开始时间:21:00,选择会议结束时间:22:15
预约类型为:普通会议
时间差为:time_diff_minutes
开始时间与结束时间不相等,选择时间块:21:00,22:15
开始时间与结束时间不相等,选择时间块:19:00,20:15
时间差大于最大预约时长1小时,选择【超出预约时长】
picture imgs/Message_Manage/Message_Book/会议预约_002_超出预约时长20241120114304313792.png
picture imgs/Message_Manage/Message_Book/会议修改_001_超出预约时长20241120154305677787.png
提示信息为:最大预定时间 1 小时
** 检查点 ** 超出预约时长提示是否正确 ----> 通过
不选时间点击【下一步】查看提示信息
picture imgs/Message_Manage/Message_Book/会议预约_002请选择会议时间提示信息20241120114307499621.png
picture imgs/Message_Manage/Message_Update/会议修改_001请选择会议时间提示信息20241120154309082619.png
提示信息为:请选择会议时间
** 检查点 ** 未选时间提示是否正确 ----> 通过
重新选择结束时间为:21:45
重新选择结束时间为:19:45
-- 第 4 步 -- 修改会议第二步数据填写
清空人员弹窗提示信息为:是否清空当前会议室参会人员
-- 第 4 步 -- 会议第二步数据填写
** 检查点 ** 弹窗提示信息是否正确 ----> 通过
picture imgs/Message_Manage/Message_Update/会议修改_001_清空人员提示信息20241120154318631075.png
清空人员提示信息为:已清空当前会议室人员
** 检查点 ** 提示信息是否正确 ----> 通过
选择内部参会人:admin@CZJ
已选择参会人:admin@CZJ
......@@ -284,7 +306,7 @@ picture imgs/Message_Manage/Message_Book/会议预约_002请选择会议时间
** 检查点 ** 弹窗标题是否正确 ----> 通过
picture imgs/Message_Manage/Message_Book/会议预约_002_添加外部参会人提示信息20241120114316455878.png
picture imgs/Message_Manage/Message_Book/会议修改_001_添加外部参会人提示信息20241120154323332666.png
提示信息为:添加成功
** 检查点 ** 提示信息是否正确 ----> 通过
......@@ -297,16 +319,16 @@ picture imgs/Message_Manage/Message_Book/会议预约_002_添加外部参会人
** 检查点 ** 页面标题是否正确 ----> 通过
是否需要存入模板:
选择消息提醒时间:全选
选择通知方式:邮件
是否需要存入模板:
选择消息提醒时间:开会前一天提醒
选择通知方式:短信
-- 第 6 步 -- 点击【确定】按钮
-- 第 7 步 -- 检查提示会议信息是否正确
输入会议名称:这是普通会议测试,输入会议内容:这是会议内容嘿嘿
检查会议名称:这是周期会议测试1,输入会议内容:这是会议内容哈哈
** 检查点 ** 提示信息是否正确 ----> 通过
......@@ -316,37 +338,37 @@ picture imgs/Message_Manage/Message_Book/会议预约_002_添加外部参会人
** 检查点 ** 是否显示加载中 ----> 通过
picture imgs/Message_Manage/Message_Book/会议预约_002_预定成功提示信息20241120114331233904.png
预定成功提示信息为:预定成功
** 检查点 ** 预定成功提示是否正确 ----> 通过
-- 第 9 步 -- 跳转至会议室列表界面
picture imgs/Message_Manage/Message_Book/会议修改_001_修改成功提示信息20241120154340274269.png
修改成功提示信息为:
检查界面标题是否为:会议室列表
** 检查点 ** 修改成功提示是否正确 ----> !! 不通过!!
** 检查点 ** 界面标题是否正确 ----> 通过
FAIL
Traceback:
File "D:\GithubData\自动化脚本-4\ubains-module-test\预定系统\cases\会议主流程\会议修改.py", line 338, in teststeps
CHECK_POINT("修改成功提示是否正确", notify_text == check_text)
File "C:\Users\29194\AppData\Local\Programs\Python\Python310\lib\site-packages\hytest\common.py", line 76, in CHECK_POINT
raise AssertionError()
AssertionError
PASS
[ suite teardown ] cases\
清除浏览器
========= 测试结束 : 20241120_114334 =========
========= 测试结束 : 20241120_154342 =========
耗时 : 48.517
耗时 : 55.514
预备执行用例数量 : 1
实际执行用例数量 : 1
通过 : 1
通过 : 0
失败 : 0
失败 : 1
异常 : 0
......
......@@ -9,10 +9,16 @@
== cases\会议主流程\__st__.py
== cases\会议主流程\会议修改.py
CSV文件已读取
== cases\会议主流程\会议预约.py
CSV文件已读取
** no cases in this file , skip it.
== cases\会议室管理\会议室管理\__st__.py
......@@ -201,7 +207,7 @@ CSV文件已读取
========= 测试开始 : 20241120_114217 =========
========= 测试开始 : 20241120_154018 =========
......@@ -229,73 +235,103 @@ CSV文件已读取
点击登录按钮
>>> cases\会议主流程\会议预约.py
>>> cases\会议主流程\会议修改.py
* 会议预约_002 - 2024-11-20 11:42:21
* 会议修改_001 - 2024-11-20 15:40:29
[ case execution steps ]
-- 第 1 步 -- 在会议室列表搜索:产研中心会议室
-- 第 1 步 -- 切换至已预定列表界面
检查搜索结果
搜索结果为:产研中心会议室
-- 第 1 步 -- 在已预定列表界面搜索会议:这是周期会议测试1
搜索会议:这是周期会议测试1
搜索结果为:这是周期会议测试1
** 检查点 ** 搜索结果是否正确 ----> 通过
-- 第 2 步 -- 点击【会议预定】按钮
-- 第 2 步 -- 点击【修改会议】按钮
检查页面标题是否正确
页面标题为:会议预定
修改会议界面标题为:修改会议
** 检查点 ** 面标题是否正确 ----> 通过
** 检查点 ** 修改会议界面标题是否正确 ----> 通过
-- 第 3 步 -- 会议第一步数据填写
-- 第 3 步 -- 修改会议第一步修改信息
输入会议名称:这是周期会议测试1,选择预约类型:周期会议,输入主持人:陈泽键,输入会议内容:这是会议内容哈哈,选择会议开始时间:19:00,选择会议结束时间:20:15
预约类型为:周期会议
picture imgs/Message_Manage/Message_Book/会议修改_001_时间重新选择提示20241120154039405585.png
时间重新选择提示为:重新选择
** 检查点 ** 时间重新选择提示是否正确 ----> 通过
输入会议名称:这是普通会议测试,选择预约类型:普通会议,输入主持人:陈泽键,输入会议内容:这是会议内容嘿嘿,选择会议开始时间:21:00,选择会议结束时间:22:15
预约类型为:普通会议
时间差为:time_diff_minutes
开始时间与结束时间不相等,选择时间块:21:00,22:15
开始时间与结束时间不相等,选择时间块:19:00,20:15
时间差大于最大预约时长1小时,选择【超出预约时长】
picture imgs/Message_Manage/Message_Book/会议预约_002_超出预约时长20241120114232102398.png
提示信息为:该时间段已有会议,请重新选择
picture imgs/Message_Manage/Message_Book/会议修改_001_超出预约时长20241120154043725828.png
提示信息为:最大预定时间 1 小时
** 检查点 ** 超出预约时长提示是否正确 ----> 通过
** 检查点 ** 超出预约时长提示是否正确 ----> !! 不通过!!
不选时间点击【下一步】查看提示信息
picture imgs/Message_Manage/Message_Update/会议修改_001请选择会议时间提示信息20241120154046935600.png
提示信息为:请选择会议时间
FAIL
Traceback:
File "D:\GithubData\自动化脚本-4\ubains-module-test\预定系统\cases\会议主流程\会议预约.py", line 142, in teststeps
CHECK_POINT("超出预约时长提示是否正确", "最大预定时间 1 小时" in notify_text)
File "C:\Users\29194\AppData\Local\Programs\Python\Python310\lib\site-packages\hytest\common.py", line 76, in CHECK_POINT
raise AssertionError()
AssertionError
** 检查点 ** 未选时间提示是否正确 ----> 通过
重新选择结束时间为:19:45
[ suite teardown ] cases\
清除浏览器
-- 第 4 步 -- 修改会议第二步数据填写
清空人员弹窗提示信息为:是否清空当前会议室参会人员
========= 测试结束 : 20241120_114234 =========
** 检查点 ** 弹窗提示信息是否正确 ----> 通过
picture imgs/Message_Manage/Message_Update/会议修改_001_清空人员提示信息20241120154056481129.png
清空人员提示信息为:已清空当前会议室人员
耗时 : 17.118 秒
** 检查点 ** 提示信息是否正确 ----> 通过
选择内部参会人:admin@CZJ
已选择参会人:admin@CZJ
** 检查点 ** 内部参会人选择是否正确 ----> 通过
输入外部参会人名称:陈泽坚,外部参会人号码:17319004674
检查弹窗标题是否正确
弹窗标题为:添加外部参会人员
** 检查点 ** 弹窗标题是否正确 ----> 通过
picture imgs/Message_Manage/Message_Book/会议修改_001_添加外部参会人提示信息20241120154101333472.png
提示信息为:添加成功
** 检查点 ** 提示信息是否正确 ----> 通过
-- 第 5 步 -- 会议第三步数据填写
检查页面标题是否正确
页面标题为:消息提醒
** 检查点 ** 页面标题是否正确 ----> 通过
预备执行用例数量 : 1
是否需要存入模板:否
选择消息提醒时间:开会前一天提醒
选择通知方式:短信
实际执行用例数量 : 1
-- 第 6 步 -- 点击【确定】按钮
通过 : 0
失败 : 1
-- 第 7 步 -- 检查提示会议信息是否正确
异常 : 0
检查会议名称:这是周期会议测试1,输入会议内容:这是会议内容哈哈
套件初始化失败 : 0
** 检查点 ** 提示信息是否正确 ----> 通过
套件清除 失败 : 0
用例初始化失败 : 0
-- 第 8 步 -- 点击【确定】按钮
用例清除 失败 : 0
......@@ -9,10 +9,16 @@
== cases\会议主流程\__st__.py
== cases\会议主流程\会议修改.py
CSV文件已读取
== cases\会议主流程\会议预约.py
CSV文件已读取
** no cases in this file , skip it.
== cases\会议室管理\会议室管理\__st__.py
......@@ -201,7 +207,7 @@ CSV文件已读取
========= 测试开始 : 20241120_114105 =========
========= 测试开始 : 20241120_153754 =========
......@@ -229,49 +235,65 @@ CSV文件已读取
点击登录按钮
>>> cases\会议主流程\会议预约.py
>>> cases\会议主流程\会议修改.py
* 会议预约_002 - 2024-11-20 11:41:38
* 会议修改_001 - 2024-11-20 15:38:17
[ case execution steps ]
-- 第 1 步 -- 在会议室列表搜索:产研中心会议室
-- 第 1 步 -- 切换至已预定列表界面
检查搜索结果
搜索结果为:产研中心会议室
-- 第 1 步 -- 在已预定列表界面搜索会议:这是周期会议测试1
搜索会议:这是周期会议测试1
搜索结果为:这是周期会议测试1
** 检查点 ** 搜索结果是否正确 ----> 通过
-- 第 2 步 -- 点击【会议预定】按钮
-- 第 2 步 -- 点击【修改会议】按钮
检查页面标题是否正确
页面标题为:会议预定
修改会议界面标题为:修改会议
** 检查点 ** 修改会议界面标题是否正确 ----> 通过
** 检查点 ** 页面标题是否正确 ----> 通过
-- 第 3 步 -- 修改会议第一步修改信息
-- 第 3 步 -- 会议第一步数据填写
输入会议名称:这是周期会议测试1,选择预约类型:周期会议,输入主持人:陈泽键,输入会议内容:这是会议内容哈哈,选择会议开始时间:19:00,选择会议结束时间:20:15
预约类型为:周期会议
picture imgs/Message_Manage/Message_Book/会议修改_001_时间重新选择提示20241120153826530103.png
时间重新选择提示为:重新选择
** 检查点 ** 时间重新选择提示是否正确 ----> 通过
输入会议名称:这是普通会议测试,选择预约类型:普通会议,输入主持人:陈泽键,输入会议内容:这是会议内容嘿嘿,选择会议开始时间:21:00,选择会议结束时间:22:15
预约类型为:普通会议
时间差为:time_diff_minutes
开始时间与结束时间不相等,选择时间块:21:00,22:15
开始时间与结束时间不相等,选择时间块:19:00,20:15
时间差大于最大预约时长1小时,选择【超出预约时长】
picture imgs/Message_Manage/Message_Book/会议预约_002_超出预约时长20241120114149089727.png
picture imgs/Message_Manage/Message_Book/会议修改_001_超出预约时长20241120153830818933.png
提示信息为:最大预定时间 1 小时
** 检查点 ** 超出预约时长提示是否正确 ----> 通过
不选时间点击【下一步】查看提示信息
picture imgs/Message_Manage/Message_Book/会议预约_002请选择会议时间提示信息20241120114152281208.png
picture imgs/Message_Manage/Message_Update/会议修改_001请选择会议时间提示信息20241120153834011462.png
提示信息为:请选择会议时间
** 检查点 ** 未选时间提示是否正确 ----> 通过
重新选择结束时间为:21:45
重新选择结束时间为:19:45
-- 第 4 步 -- 修改会议第二步数据填写
-- 第 4 步 -- 会议第二步数据填写
清空人员弹窗提示信息为:是否清空当前会议室参会人员
** 检查点 ** 弹窗提示信息是否正确 ----> 通过
picture imgs/Message_Manage/Message_Update/会议修改_001_清空人员提示信息20241120153843563504.png
清空人员提示信息为:已清空当前会议室人员
** 检查点 ** 提示信息是否正确 ----> 通过
选择内部参会人:admin@CZJ
已选择参会人:admin@CZJ
......@@ -284,7 +306,7 @@ picture imgs/Message_Manage/Message_Book/会议预约_002请选择会议时间
** 检查点 ** 弹窗标题是否正确 ----> 通过
picture imgs/Message_Manage/Message_Book/会议预约_002_添加外部参会人提示信息20241120114201205193.png
picture imgs/Message_Manage/Message_Book/会议修改_001_添加外部参会人提示信息20241120153848318588.png
提示信息为:添加成功
** 检查点 ** 提示信息是否正确 ----> 通过
......@@ -297,19 +319,53 @@ picture imgs/Message_Manage/Message_Book/会议预约_002_添加外部参会人
** 检查点 ** 页面标题是否正确 ----> 通过
是否需要存入模板:
选择消息提醒时间:全选
选择通知方式:邮件
是否需要存入模板:
选择消息提醒时间:开会前一天提醒
选择通知方式:短信
-- 第 6 步 -- 点击【确定】按钮
-- 第 7 步 -- 检查提示会议信息是否正确
输入会议名称:这是普通会议测试,输入会议内容:这是会议内容嘿嘿
检查会议名称:这是周期会议测试1,输入会议内容:这是会议内容哈哈
** 检查点 ** 提示信息是否正确 ----> 通过
-- 第 8 步 -- 点击【确定】按钮
ABORT argument of type 'NoneType' is not iterable
Traceback:
File "D:\GithubData\自动化脚本-4\ubains-module-test\预定系统\cases\会议主流程\会议修改.py", line 329, in teststeps
CHECK_POINT("是否显示加载中", "提交数据中" in notify_text)
TypeError: argument of type 'NoneType' is not iterable
[ suite teardown ] cases\
清除浏览器
========= 测试结束 : 20241120_153921 =========
耗时 : 87.275 秒
预备执行用例数量 : 1
实际执行用例数量 : 1
通过 : 0
失败 : 0
异常 : 1
套件初始化失败 : 0
套件清除 失败 : 0
用例初始化失败 : 0
用例清除 失败 : 0
name,message_name,new_message_name,book_type,repetitive_cycle,update_type,host_name,message_content,book_start_time,book_end_time,inside_participant_name,outside_participant_name,outside_participant_phone,save_template,template_name,message_notification,notification_method,check_text
会议修改_001,这是周期会议测试1,这是周期会议测试1,周期会议,每天,修改将来所有会议,陈泽键,这是会议内容哈哈,19:00,20:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一天提醒,短信,修改会议成功
会议修改_002,这是普通会议测试2,修改会议测试,普通会议,每天,修改将来所有会议,陈泽键修改,这是会议内容修改,21:00,22:15,admin@ZDH,陈修泽,17319004673,是,这是模板名称,全选,邮件,修改会议成功
会议修改_003,这是普通会议测试3,这是普通会议测试3,普通,每天,仅修改此会议,陈泽键,这是会议内容哈哈这是会议内容哈哈这是会议内容哈哈,23:00,23:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一小时提醒,全选,修改会议成功
\ No newline at end of file
name,conference_name,message_name,book_type,repetitive_cycle,host_name,message_content,book_start_time,book_end_time,inside_participant_name,outside_participant_name,outside_participant_phone,save_template,template_name,message_notification,notification_method,check_text
会议预约_001,产研中心会议室,这是周期会议测试,周期会议,每天,陈泽键,这是会议内容哈哈,19:00,20:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一天提醒,短信,预定成功
会议预约_002,产研中心会议室,这是普通会议测试,普通会议,每天,陈泽键,这是会议内容嘿嘿,21:00,22:15,admin@CZJ,陈泽坚,17319004674,是,这是模板名称,全选,邮件,预定成功
\ No newline at end of file
会议预约_001,产研中心会议室,这是周期会议测试1,周期会议,每天,陈泽键,这是会议内容哈哈,19:00,20:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一天提醒,短信,预定成功
会议预约_002,产研中心会议室,这是普通会议测试2,普通会议,每天,陈泽键,这是会议内容嘿嘿,21:00,22:15,admin@CZJ,陈泽坚,17319004674,是,这是模板名称,全选,邮件,预定成功
会议预约_003,产研中心会议室,这是普通会议测试3,普通,每天,陈泽键,这是会议内容哈哈这是会议内容哈哈这是会议内容哈哈,23:00,23:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一小时提醒,全选,预定成功
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论