Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
7970312a
提交
7970312a
authored
12月 16, 2024
作者:
陈泽健
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
补充展厅预定巡检的截图信息,补充开发调试使用的毫米波雷达模拟.
上级
ae97288e
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
38 行增加
和
31 行删除
+38
-31
base.py
预定系统/Base/base.py
+1
-0
README.md
预定系统/README.md
+4
-2
01展厅会议预约巡检.py
预定系统/cases/展厅巡检/01展厅会议预约巡检.py
+21
-22
02移动端入会.py
预定系统/cases/展厅巡检/02移动端入会.py
+2
-1
毫米波雷达.py
预定系统/cases/设备管理/毫米波雷达.py
+4
-3
定时执行功能测试.py
预定系统/定时执行功能测试.py
+1
-1
MQTT毫米波调试.csv
预定系统/测试数据/MQTT模块/MQTT毫米波调试.csv
+3
-0
会议预约.csv
预定系统/测试数据/展厅巡检/会议预约.csv
+2
-2
没有找到文件。
预定系统/Base/base.py
浏览文件 @
7970312a
...
...
@@ -223,6 +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"
,
"添加议题文件"
)
# 点击【确定】按钮
safe_click
((
By
.
XPATH
,
"//div[@aria-label='会议文件上传']//div[@class='el-dialog__footer']//div//span[contains(text(),'确定')]"
),
wd
)
sleep
(
2
)
...
...
预定系统/README.md
浏览文件 @
7970312a
...
...
@@ -105,4 +105,6 @@
-
补充富创项目的MQTT消息监听,监听到消息后,会通过日志输出消息体内容,可用于富创项目测试替代第三方工具使用。
-
处理富创项目的MQTT预约、修改和删除会议消息体,增加代码可维护性。补充标准版安卓信息的监听代码。
30.
2024-12-14
-
更新展厅巡检定时任务。通过覆盖的方式将appium的截图替换掉hytest的截图,从而实现appium的测试报告生成。
\ No newline at end of file
-
更新展厅巡检定时任务。通过覆盖的方式将appium的截图替换掉hytest的截图,从而实现appium的测试报告生成。
31.
2024-12-16
-
补充展厅预定巡检的截图信息,补充开发调试使用的毫米波雷达模拟.
\ No newline at end of file
预定系统/cases/展厅巡检/01展厅会议预约巡检.py
浏览文件 @
7970312a
...
...
@@ -160,15 +160,19 @@ class Exhibition_hall_inspection_000x:
safe_click
((
By
.
XPATH
,
"//div[contains(text(),'下一步')]"
),
wd
)
sleep
(
1
)
# 根据参会人名称搜搜对应参会人
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}"
)
ipn
=
[
'赵嘉诚'
,
'CZJ'
,
'向彩娇'
,
'马晓丽'
,
'王兵'
,
'陈林'
,
'李立键'
,
'丁海洪'
,
'刘建胜'
,
'潘松林'
,
'卢培锽'
,
'黄史恭'
,
'罗一龙'
,
'彭甘宇'
]
for
i
in
range
(
0
,
14
):
safe_send_keys
((
By
.
XPATH
,
"//input[@placeholder='账号/用户名']"
),
ipn
[
i
],
wd
)
send_keyboard
((
By
.
XPATH
,
"//input[@placeholder='账号/用户名']"
),
wd
)
sleep
(
1
)
# 选择内部参会人
INFO
(
f
"选择内部参会人:{ipn[i]}"
)
safe_click
((
By
.
XPATH
,
"//th[contains(@class,'is-leaf el-table__cell')]//span[contains(@class,'el-checkbox__inner')]"
),
wd
)
# 获取已选的参会人名称
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"
,
"选择内部参会人"
)
# 点击【下一步】按钮
safe_click
((
By
.
XPATH
,
"//div[contains(text(),'下一步')]"
),
wd
)
...
...
@@ -195,16 +199,6 @@ class Exhibition_hall_inspection_000x:
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
)
...
...
@@ -236,7 +230,7 @@ class Exhibition_hall_inspection_000x:
safe_click
((
By
.
XPATH
,
"(//span[contains(text(),'应用截屏')])[1]"
),
wd
)
sleep
(
20
)
# 截屏查看门口屏的显示
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Android"
,
"截屏"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Android"
,
"
门口屏
截屏"
)
# 返回上一级界面
safe_click
((
By
.
XPATH
,
"//div[@aria-label='门口屏截屏']//i[@class='el-dialog__close el-icon el-icon-close']"
),
wd
)
...
...
@@ -257,6 +251,7 @@ class Exhibition_hall_inspection_000x:
# 会控操作
STEP
(
10
,
"检查会控界面功能"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"MeetingControl"
,
"检查会控界面功能"
)
INFO
(
"检查会控界面功能"
)
# 添加SMC会场
...
...
@@ -277,6 +272,7 @@ class Exhibition_hall_inspection_000x:
sleep
(
1
)
safe_click
((
By
.
XPATH
,
"//body[1]/div[1]/div[1]/div[3]/div[1]/div[2]/div[1]/div[1]/div[1]/div[2]/div[3]/div[1]/div[1]/div[1]/div[3]/table[1]/tbody[1]/tr[7]/td[1]/div[1]/label[1]/span[1]/span[1]"
),
wd
)
sleep
(
1
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"MeetingControl"
,
"添加会场功能"
)
safe_click
((
By
.
XPATH
,
"//div[contains(text(),'确定')]"
),
wd
)
sleep
(
1
)
...
...
@@ -284,7 +280,10 @@ class Exhibition_hall_inspection_000x:
# safe_click((By.XPATH,"//body/div[@id='app']/div[@id='Energy']/div[contains(@class,'main')]/div[contains(@class,'mainList')]/div[contains(@class,'main_l')]/div[contains(@class,'mainFNC')]/img[1]"),wd)
# 选择分屏功能
INFO
(
"选择分屏功能"
)
sleep
(
10
)
safe_click
((
By
.
XPATH
,
"//li[4]//img[1]"
),
wd
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"MeetingControl"
,
"分屏功能"
)
# 将左侧会场拖拽到右侧画面进行播放
INFO
(
"将左侧会场拖拽到右侧画面进行播放"
)
...
...
@@ -293,4 +292,4 @@ class Exhibition_hall_inspection_000x:
sleep
(
2
)
single_click_and_drag
((
By
.
XPATH
,
"//span[contains(text(),'展厅指挥中心')]"
),
(
By
.
XPATH
,
"(//div)[119]"
)
,
wd
)
sleep
(
4
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"MeetingControl"
,
"会场控制"
)
\ No newline at end of file
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"MeetingControl"
,
"会场画面控制"
)
\ No newline at end of file
预定系统/cases/展厅巡检/02移动端入会.py
浏览文件 @
7970312a
...
...
@@ -10,7 +10,7 @@ class Exhibition_hall_inspection_000x:
"""
执行指令:
1.cd 预定系统
2.hytest --report_title 会议预约测试报告 --report_url_prefix http://192.168.1.225 --t
est 展厅巡检_0**
2.hytest --report_title 会议预约测试报告 --report_url_prefix http://192.168.1.225 --t
ag 展厅巡检_腾讯会议
"""
tags
=
[
'展厅巡检_腾讯会议'
]
...
...
@@ -28,6 +28,7 @@ class Exhibition_hall_inspection_000x:
# 定位第一场会议按钮元素,并点击按钮
logging
.
info
(
"尝试定位【会议名称】按钮元素,并点击按钮"
)
# meeting_button = app_drive.find_element(AppiumBy.XPATH,"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.view.ViewGroup/android.widget.LinearLayout[1]/android.view.ViewGroup/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[4]/android.view.ViewGroup/androidx.appcompat.widget.LinearLayoutCompat[1]/android.view.ViewGroup/android.widget.TextView")
# meeting_button = app_drive.find_element(AppiumBy.ID,"com.tencent.wemeet.app:id/cb4")
meeting_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.view.ViewGroup/android.widget.LinearLayout[1]/android.view.ViewGroup/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[1]/android.view.ViewGroup/androidx.appcompat.widget.LinearLayoutCompat/android.view.ViewGroup/android.widget.TextView"
)
logging
.
info
(
"定位会议成功"
)
# 点击【加入会议】按钮
...
...
预定系统/cases/设备管理/毫米波雷达.py
浏览文件 @
7970312a
...
...
@@ -18,15 +18,16 @@ except ModuleNotFoundError as e:
current_dir
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
__file__
))
# 构建CSV文件的绝对路径
csv_file_path
=
os
.
path
.
join
(
current_dir
,
'../../测试数据/MQTT模块/MQTT毫米波上报数据.csv'
)
# csv_file_path = os.path.join(current_dir, '../../测试数据/MQTT模块/MQTT毫米波上报数据.csv')
csv_file_path
=
os
.
path
.
join
(
current_dir
,
'../../测试数据/MQTT模块/MQTT毫米波调试.csv'
)
if
__name__
==
"__main__"
:
# 读取配置文件
configs
=
Mqtt
.
read_config_from_csv
(
csv_file_path
)
broker_address
=
"192.168.
5.218
"
broker_address
=
"192.168.
1.193
"
port
=
1883
num_repeats
=
100
# 重复执行的次数
num_repeats
=
100
0
# 重复执行的次数
interval_between_repeats
=
0.2
# 每次重复之间的间隔时间(秒)
# 创建 MQTT 客户端实例-
...
...
预定系统/定时执行功能测试.py
浏览文件 @
7970312a
...
...
@@ -72,7 +72,7 @@ schedule.every().saturday.at("12:00").do(run_task, run_automation_test, report_t
schedule
.
every
()
.
day
.
at
(
"08:15"
)
.
do
(
run_task
,
run_automation_test
,
report_title
=
"展厅巡检_会议预约测试报告"
,
report_url_prefix
=
"http://nat.ubainsyun.com:31133"
,
test_case
=
"展厅巡检"
)
schedule
.
every
()
.
day
.
at
(
"08:
25
"
)
.
do
(
run_task
,
run_automation_test
,
report_title
=
"展厅巡检_腾讯终端入会测试报告"
,
report_url_prefix
=
"http://nat.ubainsyun.com:31133"
,
test_case
=
"展厅巡检_腾讯会议"
)
schedule
.
every
()
.
day
.
at
(
"08:
36
"
)
.
do
(
run_task
,
run_automation_test
,
report_title
=
"展厅巡检_腾讯终端入会测试报告"
,
report_url_prefix
=
"http://nat.ubainsyun.com:31133"
,
test_case
=
"展厅巡检_腾讯会议"
)
try
:
...
...
预定系统/测试数据/MQTT模块/MQTT毫米波调试.csv
0 → 100644
浏览文件 @
7970312a
topic,client_id,presence_state,kaiguan,julishezhi,lingmindushezhi,wifi_mac,ble_mac,sn,ip
/c1_100_wifi_u/D4F98D094001/properties/upload,D4F98D094001,1,0,3,2,D4F98D094001,D4F98D093001,D4F98D092001,192.168.1.1
\ No newline at end of file
预定系统/测试数据/展厅巡检/会议预约.csv
浏览文件 @
7970312a
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,16:15,16:30,CZJ,开会前一天提醒,短信,预定成功
\ No newline at end of file
展厅巡检_001,展厅会议室,展厅巡检测试,普通会议,议题1,09:30,09:45,CZJ,开会前一天提醒,短信,预定成功
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论