Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
2310b8be
提交
2310b8be
authored
12月 16, 2024
作者:
陈泽健
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调整展厅巡检脚本的操作流程,增加会场静音等操作与截图。输出会议修改相关代码。
上级
76a6a87e
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
131 行增加
和
21 行删除
+131
-21
base.py
预定系统/Base/base.py
+3
-3
README.md
预定系统/README.md
+3
-2
02会议修改.py
预定系统/cases/会议主流程/02会议修改.py
+1
-2
03会议删除.py
预定系统/cases/会议主流程/03会议删除.py
+81
-0
04会议状态设置.py
预定系统/cases/会议主流程/04会议状态设置.py
+14
-9
01展厅会议预约巡检.py
预定系统/cases/展厅巡检/01展厅会议预约巡检.py
+22
-1
会议删除.csv
预定系统/测试数据/会议主流程/会议删除.csv
+3
-0
会议状态设置.csv
预定系统/测试数据/会议主流程/会议状态设置.csv
+2
-2
会议预约.csv
预定系统/测试数据/展厅巡检/会议预约.csv
+2
-2
没有找到文件。
预定系统/Base/base.py
浏览文件 @
2310b8be
...
...
@@ -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
)
...
...
预定系统/README.md
浏览文件 @
2310b8be
...
...
@@ -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
预定系统/cases/会议主流程/02会议修改.py
浏览文件 @
2310b8be
from
datetime
import
datetime
,
timedelta
from
time
import
sleep
from
datetime
import
timedelta
import
sys
import
os
...
...
预定系统/cases/会议主流程/03会议删除.py
0 → 100644
浏览文件 @
2310b8be
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
预定系统/cases/会议主流程/04会议状态设置.py
浏览文件 @
2310b8be
...
...
@@ -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
,
"结束会议"
)
...
...
预定系统/cases/展厅巡检/01展厅会议预约巡检.py
浏览文件 @
2310b8be
...
...
@@ -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
预定系统/测试数据/会议主流程/会议删除.csv
0 → 100644
浏览文件 @
2310b8be
name,message_name,check_text
会议删除_001,这是普通会议测试3,删除成功
\ No newline at end of file
预定系统/测试数据/会议主流程/会议状态设置.csv
浏览文件 @
2310b8be
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
预定系统/测试数据/展厅巡检/会议预约.csv
浏览文件 @
2310b8be
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论