Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
7d8bd20f
提交
7d8bd20f
authored
11月 20, 2024
作者:
陈泽健
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
输出会议修改代码,增加预约类型的判断,处理对于周期会议的修改特殊处理。
上级
312dda8e
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
563 行增加
和
107 行删除
+563
-107
README.md
预定系统/README.md
+3
-2
会议修改.cpython-310.pyc
预定系统/cases/会议主流程/__pycache__/会议修改.cpython-310.pyc
+0
-0
会议预约.cpython-310.pyc
预定系统/cases/会议主流程/__pycache__/会议预约.cpython-310.pyc
+0
-0
会议修改.py
预定系统/cases/会议主流程/会议修改.py
+339
-0
会议预约.py
预定系统/cases/会议主流程/会议预约.py
+1
-5
testresult.log
预定系统/log/testresult.log
+59
-37
testresult.log.1
预定系统/log/testresult.log.1
+73
-37
testresult.log.2
预定系统/log/testresult.log.2
+79
-23
会议修改.csv
预定系统/测试数据/会议主流程/会议修改.csv
+5
-0
会议预约.csv
预定系统/测试数据/会议主流程/会议预约.csv
+4
-3
没有找到文件。
预定系统/README.md
浏览文件 @
7d8bd20f
...
...
@@ -61,4 +61,5 @@
17.
2024-11-20
-
排查驱动加载失败问题,问题由浏览器驱动与当前浏览器版本不同导致,已优化代码为自动根据浏览器版本下载对应驱动。
-
补充关于定制化项目的脚本路径,补充工商银行查询停车缴费系统数据的代码。
-
优化会议预约的脚本,增加预约类型、消息提醒、通知方式以及是否创建模板的代码判断,根据对应需求创建对应类型的会议。
\ No newline at end of file
-
优化会议预约的脚本,增加预约类型、消息提醒、通知方式以及是否创建模板的代码判断,根据对应需求创建对应类型的会议。
-
输出会议修改代码,增加预约类型的判断,处理对于周期会议的修改特殊处理。
\ No newline at end of file
预定系统/cases/会议主流程/__pycache__/会议修改.cpython-310.pyc
0 → 100644
浏览文件 @
7d8bd20f
File added
预定系统/cases/会议主流程/__pycache__/会议预约.cpython-310.pyc
浏览文件 @
7d8bd20f
No preview for this file type
预定系统/cases/会议主流程/会议修改.py
0 → 100644
浏览文件 @
7d8bd20f
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
预定系统/cases/会议主流程/会议预约.py
浏览文件 @
7d8bd20f
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
)
...
...
预定系统/log/testresult.log
浏览文件 @
7d8bd20f
...
...
@@ -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_1
14246
=========
========= 测试开始 : 20241120_1
54247
=========
...
...
@@ -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_1
14334
=========
========= 测试结束 : 20241120_1
54342
=========
耗时 :
48.517
秒
耗时 :
55.514
秒
预备执行用例数量 : 1
实际执行用例数量 : 1
通过 :
1
通过 :
0
失败 :
0
失败 :
1
异常 : 0
...
...
预定系统/log/testresult.log.1
浏览文件 @
7d8bd20f
...
...
@@ -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_1
14217
=========
========= 测试开始 : 20241120_1
54018
=========
...
...
@@ -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
预定系统/log/testresult.log.2
浏览文件 @
7d8bd20f
...
...
@@ -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_1
14105
=========
========= 测试开始 : 20241120_1
53754
=========
...
...
@@ -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
预定系统/测试数据/会议主流程/会议修改.csv
0 → 100644
浏览文件 @
7d8bd20f
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
预定系统/测试数据/会议主流程/会议预约.csv
浏览文件 @
7d8bd20f
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论