Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
f3adf8fb
提交
f3adf8fb
authored
1月 06, 2025
作者:
陈泽健
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
补充展厅中控屏巡检流程的rtsp视频流截取监控画面,优化主题函数的代码,将每个设备控制封装为函数调用,增加可维护性。
上级
187defb5
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
289 行增加
和
78 行删除
+289
-78
.gitignore
.gitignore
+2
-1
app_base.cpython-310.pyc
预定系统/Base/__pycache__/app_base.cpython-310.pyc
+0
-0
app_base.py
预定系统/Base/app_base.py
+183
-8
README.md
预定系统/README.md
+2
-0
__st__.cpython-310.pyc
预定系统/cases/展厅巡检/00展厅中控屏/__pycache__/__st__.cpython-310.pyc
+0
-0
展厅中控屏.cpython-310.pyc
预定系统/cases/展厅巡检/00展厅中控屏/__pycache__/展厅中控屏.cpython-310.pyc
+0
-0
__st__.py
预定系统/cases/展厅巡检/00展厅中控屏/__st__.py
+49
-40
展厅中控屏.py
预定系统/cases/展厅巡检/00展厅中控屏/展厅中控屏.py
+52
-28
01服务器状态监测.cpython-310.pyc
.../cases/展厅巡检/08服务器监测/__pycache__/01服务器状态监测.cpython-310.pyc
+0
-0
定时执行功能测试.py
预定系统/定时执行功能测试.py
+1
-1
没有找到文件。
.gitignore
浏览文件 @
f3adf8fb
/预定系统/log
/预定系统/log
/预定系统/reports
\ No newline at end of file
预定系统/Base/__pycache__/app_base.cpython-310.pyc
浏览文件 @
f3adf8fb
No preview for this file type
预定系统/Base/app_base.py
浏览文件 @
f3adf8fb
from
time
import
sleep
from
appium.webdriver.common.appiumby
import
AppiumBy
from
appium.webdriver.common.appiumby
import
AppiumBy
from
dominate.tags
import
button
from
pygments.console
import
light_colors
import
logging
from
time
import
sleep
from
time
import
sleep
from
appium.options.android
import
UiAutomator2Options
from
appium.options.android
import
UiAutomator2Options
import
logging
from
selenium
import
webdriver
from
selenium
import
webdriver
from
hytest
import
*
def
app_setup_driver
(
platformName
,
platformVersion
,
deviceName
,
appPackage
,
appActivity
,
udid
):
def
app_setup_driver
(
platformName
,
platformVersion
,
deviceName
,
appPackage
,
appActivity
,
udid
):
...
@@ -330,7 +326,7 @@ def light_control(app_drive):
...
@@ -330,7 +326,7 @@ def light_control(app_drive):
light_training_room_button
.
click
()
light_training_room_button
.
click
()
sleep
(
2
)
sleep
(
2
)
def
curtain_control
(
app_drive
):
def
curtain_control
(
app_drive
,
wd
):
# 所有窗帘全部上升
# 所有窗帘全部上升
logging
.
info
(
"尝试定位所有【窗帘上升】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位所有【窗帘上升】按钮元素,并点击按钮"
)
# 上升按钮的定位
# 上升按钮的定位
...
@@ -340,10 +336,21 @@ def curtain_control(app_drive):
...
@@ -340,10 +336,21 @@ def curtain_control(app_drive):
f
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[{i}]"
)
f
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[{i}]"
)
curtain_up_button
.
click
()
curtain_up_button
.
click
()
sleep
(
2
)
sleep
(
2
)
INFO
(
"请检查窗帘上升状态是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"curtain_up"
)
# 截图获取当前中控屏软件窗帘上升的界面
# 截图获取当前中控屏软件窗帘上升的界面
app_drive
.
get_screenshot_as_file
(
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\curtain_up.png"
)
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\curtain_up.png"
)
sleep
(
10
)
sleep
(
10
)
# # 测试报告中补充窗帘上升的截图
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"curtain_rtsp_up"
)
# 通过rtsp流获取当前窗帘的上升效果图
curtain_rtsp_url
=
"rtsp://admin:huawei@123@192.168.4.18/LiveMedia/ch1/Media2"
logging
.
info
(
"开始捕获RTSP流中的帧"
)
if
capture_frame_from_rtsp
(
curtain_rtsp_url
,
"curtain_rtsp_up.png"
):
logging
.
info
(
"帧捕获成功"
)
else
:
logging
.
error
(
"帧捕获失败"
)
# 所有窗帘全部下降
# 所有窗帘全部下降
logging
.
info
(
"尝试定位所有【窗帘下降】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位所有【窗帘下降】按钮元素,并点击按钮"
)
...
@@ -354,17 +361,31 @@ def curtain_control(app_drive):
...
@@ -354,17 +361,31 @@ def curtain_control(app_drive):
f
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[{i}]"
)
f
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[{i}]"
)
curtain_down_button
.
click
()
curtain_down_button
.
click
()
sleep
(
2
)
sleep
(
2
)
INFO
(
"请检查窗帘下降状态是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"curtain_down"
)
# 截图获取当前中控屏软件窗帘上升的界面
# 截图获取当前中控屏软件窗帘上升的界面
app_drive
.
get_screenshot_as_file
(
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\curtain_down.png"
)
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\curtain_down.png"
)
# 测试报告中补充窗帘下降的截图
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"curtain_rtsp_down"
)
logging
.
info
(
"开始捕获RTSP流中的帧"
)
if
capture_frame_from_rtsp
(
curtain_rtsp_url
,
"curtain_rtsp_down.png"
):
logging
.
info
(
"帧捕获成功"
)
else
:
logging
.
error
(
"帧捕获失败"
)
def
air_condition_control
(
app_drive
):
def
air_condition_control
(
app_drive
,
wd
):
# 点击【打开空调】按钮
# 点击【打开空调】按钮
logging
.
info
(
"尝试定位【打开空调】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【打开空调】按钮元素,并点击按钮"
)
open_air_conditioner_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
open_air_conditioner_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[14]"
)
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[14]"
)
open_air_conditioner_button
.
click
()
open_air_conditioner_button
.
click
()
sleep
(
20
)
sleep
(
20
)
# 这是空调开启的状态显示
INFO
(
"请检查空调开启的状态是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"air_condition_on"
)
app_drive
.
get_screenshot_as_file
(
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\air_condition_on.png"
)
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\air_condition_on.png"
)
sleep
(
2
)
sleep
(
2
)
...
@@ -375,15 +396,107 @@ def air_condition_control(app_drive):
...
@@ -375,15 +396,107 @@ def air_condition_control(app_drive):
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[14]"
)
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[14]"
)
close_air_conditioner_button
.
click
()
close_air_conditioner_button
.
click
()
sleep
(
20
)
sleep
(
20
)
# 这是空调关闭的状态显示
INFO
(
"请检查空调关闭的状态是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"air_condition_off"
)
app_drive
.
get_screenshot_as_file
(
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\air_condition_off.png"
)
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\air_condition_off.png"
)
sleep
(
2
)
sleep
(
2
)
def
command_centre_control
(
rtsp_url
,
app_drive
):
def
information_control
(
app_drive
,
wd
):
# 选择生日快乐内容播放
brithday_information_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[2]"
)
brithday_information_button
.
click
()
logging
.
info
(
"选择生日快乐内容播放"
)
sleep
(
5
)
# 这是生日快乐主题内容发布
INFO
(
"请检查中控屏软件信息发布界面是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"information_brithday_on"
)
information_rtsp_url
=
"rtsp://admin:huawei@123@192.168.4.19/LiveMedia/ch1/Media2"
# 替换为你的RTSP流地址
logging
.
info
(
"开始捕获RTSP流中的帧"
)
if
capture_frame_from_rtsp
(
information_rtsp_url
,
"information_brithday_on.png"
):
logging
.
info
(
"帧捕获成功"
)
else
:
logging
.
error
(
"帧捕获失败"
)
# 选择欢迎领导发布内容播放
meeting_information_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[3]"
)
meeting_information_button
.
click
()
logging
.
info
(
"选择会议发布内容播放"
)
sleep
(
5
)
# 这是会议欢迎主题内容发布
INFO
(
"请检查中控屏软件信息发布界面是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"information_meeting_on"
)
logging
.
info
(
"开始捕获RTSP流中的帧"
)
if
capture_frame_from_rtsp
(
information_rtsp_url
,
"information_meeting_on.png"
):
logging
.
info
(
"帧捕获成功"
)
else
:
logging
.
error
(
"帧捕获失败"
)
# 选择展厅空间结构内容播放
information_space_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[4]"
)
information_space_button
.
click
()
logging
.
info
(
"选择展厅空间结构内容播放"
)
sleep
(
5
)
# 这是展厅空间结构内容发布
INFO
(
"请检查中控屏软件信息发布界面是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"information_space_on"
)
if
capture_frame_from_rtsp
(
information_rtsp_url
,
"information_space_on.png"
):
logging
.
info
(
"帧捕获成功"
)
else
:
logging
.
error
(
"帧捕获失败"
)
# 点击信息发布关闭按钮
logging
.
info
(
"点击信息发布关闭按钮"
)
information_close_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[7]"
)
information_close_button
.
click
()
def
music_control
(
app_drive
,
wd
):
# 点击【播放音乐】
logging
.
info
(
"尝试定位【播放音乐】按钮元素,并点击按钮"
)
play_music_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[8]"
)
play_music_button
.
click
()
sleep
(
2
)
# 调用音频采集判断音量函数
INFO
(
"请检查中控屏音乐播放的音频采集是否正常!!!"
)
volume_acquisition
()
sleep
(
10
)
# 这是音乐开启播放后的界面显示
INFO
(
"请检查中控屏软件打开音乐播放后的界面状态显示"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"music_on"
)
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\music_on.png"
)
# 点击【关闭播放音乐】
logging
.
info
(
"尝试定位【关闭播放音乐】按钮元素,并点击按钮"
)
close_play_music_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[8]"
)
close_play_music_button
.
click
()
sleep
(
5
)
# 这是音乐关闭播放后的界面显示
INFO
(
"请检查中控屏软件关闭音乐播放后的界面状态显示"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"music_off"
)
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\music_off.png"
)
def
command_centre_control
(
rtsp_url
,
app_drive
,
wd
):
open_center_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
open_center_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button"
)
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button"
)
open_center_button
.
click
()
open_center_button
.
click
()
sleep
(
10
)
sleep
(
10
)
# 这是指挥大屏开启的监控视频显示
INFO
(
"请检查指挥大屏开启的监控视频状态是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"command_screen_on"
)
# 从rtsp流中截取一帧保存为图片
# 从rtsp流中截取一帧保存为图片
logging
.
info
(
"开始捕获RTSP流中的帧"
)
logging
.
info
(
"开始捕获RTSP流中的帧"
)
if
capture_frame_from_rtsp
(
rtsp_url
,
"command_screen_on.png"
):
if
capture_frame_from_rtsp
(
rtsp_url
,
"command_screen_on.png"
):
...
@@ -391,6 +504,9 @@ def command_centre_control(rtsp_url,app_drive):
...
@@ -391,6 +504,9 @@ def command_centre_control(rtsp_url,app_drive):
else
:
else
:
logging
.
error
(
"帧捕获失败"
)
logging
.
error
(
"帧捕获失败"
)
# 这是指挥大屏关闭的监控视频显示
INFO
(
"请检查指挥大屏关闭的监控视频状态是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"command_screen_down"
)
# 关闭指挥中心大屏幕
# 关闭指挥中心大屏幕
logging
.
info
(
"尝试定位【关闭指挥中心控制】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【关闭指挥中心控制】按钮元素,并点击按钮"
)
close_center_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
close_center_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
...
@@ -404,3 +520,61 @@ def command_centre_control(rtsp_url,app_drive):
...
@@ -404,3 +520,61 @@ def command_centre_control(rtsp_url,app_drive):
logging
.
info
(
"帧捕获成功"
)
logging
.
info
(
"帧捕获成功"
)
else
:
else
:
logging
.
error
(
"帧捕获失败"
)
logging
.
error
(
"帧捕获失败"
)
import
pyaudio
import
numpy
as
np
# 定义参数
FORMAT
=
pyaudio
.
paInt16
# 16-bit resolution
CHANNELS
=
1
# 1 channel
RATE
=
44100
# 44.1kHz sampling rate
CHUNK
=
1024
# 2^10 samples for buffer
THRESHOLD
=
1000
# 阈值,可以根据实际情况调整
RECORD_SECONDS
=
10
# 录制时长
def
is_audio_loud
(
data
,
threshold
=
THRESHOLD
):
"""
判断音频数据是否超过阈值
:param data: 音频数据
:param threshold: 阈值
:return: 如果声音大小超过阈值,返回True;否则返回False
"""
return
np
.
abs
(
np
.
frombuffer
(
data
,
dtype
=
np
.
int16
))
.
mean
()
>
threshold
def
volume_acquisition
():
audio
=
pyaudio
.
PyAudio
()
# 初始化pyaudio
# 打开音频流
stream
=
audio
.
open
(
format
=
FORMAT
,
channels
=
CHANNELS
,
rate
=
RATE
,
input
=
True
,
frames_per_buffer
=
CHUNK
)
logging
.
info
(
"开始录音..."
)
frames
=
[]
for
i
in
range
(
0
,
int
(
RATE
/
CHUNK
*
RECORD_SECONDS
)):
data
=
stream
.
read
(
CHUNK
)
# 读取音频数据
frames
.
append
(
data
)
logging
.
info
(
"录音结束。"
)
# 停止和关闭音频流
stream
.
stop_stream
()
stream
.
close
()
audio
.
terminate
()
# 将所有帧合并成一个字节流
audio_data
=
b
''
.
join
(
frames
)
# 判断音量状态
if
is_audio_loud
(
audio_data
):
INFO
(
"整段音频声音过大!"
)
else
:
INFO
(
"整段音频声音正常。"
)
# 进一步处理音频数据(例如保存为文件或分析)
# ...
# if __name__ == "__main__":
# volume_acquisition()
\ No newline at end of file
预定系统/README.md
浏览文件 @
f3adf8fb
...
@@ -157,3 +157,4 @@
...
@@ -157,3 +157,4 @@
-
切换标准版预订系统功能检测环境,定时运行程序,并进行调试,修复出现的异常情况。
-
切换标准版预订系统功能检测环境,定时运行程序,并进行调试,修复出现的异常情况。
34.
2025-01-06
34.
2025-01-06
-
补充展厅巡检后的会议创建流程。
-
补充展厅巡检后的会议创建流程。
-
补充展厅中控屏巡检流程的rtsp视频流截取监控画面,优化主题函数的代码,将每个设备控制封装为函数调用,增加可维护性。
\ No newline at end of file
预定系统/cases/展厅巡检/00展厅中控屏/__pycache__/__st__.cpython-310.pyc
浏览文件 @
f3adf8fb
No preview for this file type
预定系统/cases/展厅巡检/00展厅中控屏/__pycache__/展厅中控屏.cpython-310.pyc
浏览文件 @
f3adf8fb
No preview for this file type
预定系统/cases/展厅巡检/00展厅中控屏/__st__.py
浏览文件 @
f3adf8fb
...
@@ -25,51 +25,60 @@ def suite_setup():
...
@@ -25,51 +25,60 @@ def suite_setup():
wd
=
GSTORE
[
'wd'
]
wd
=
GSTORE
[
'wd'
]
admin_login
(
"Test02"
,
"ubains@123"
)
admin_login
(
"Test02"
,
"ubains@123"
)
sleep
(
5
)
sleep
(
5
)
INFO
(
"请检查中控屏软件灯光开启的状态是否正常"
)
# STEP(2, "检查灯光开启状态")
STEP
(
2
,
"检查灯光开启状态"
)
# # 这是全部灯光关闭后在软件界面上的状态显示
# 这是全部灯光关闭后在软件界面上的状态显示
# INFO("请检查中控屏软件的灯光关闭状态显示是否正常")
INFO
(
"请检查中控屏软件的灯光关闭状态显示是否正常"
)
# SELENIUM_LOG_SCREEN(wd,"50%","Exhibit_Inspect","Control_Manage","light_all_off")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"light_all_off"
)
# # 这是全部灯光开启后在软件界面上的状态显示
# 这是全部灯光开启后在软件界面上的状态显示
# INFO("请检查中控屏软件的灯光开启状态显示是否正常")
INFO
(
"请检查中控屏软件的灯光开启状态显示是否正常"
)
# SELENIUM_LOG_SCREEN(wd,"50%","Exhibit_Inspect","Control_Manage","light_all_on")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"light_all_on"
)
# # 这是灯光开启前的截图
# 这是灯光开启前的截图
# INFO("请检查灯光开启前的监控视频状态是否正常")
INFO
(
"请检查灯光开启前的监控视频状态是否正常"
)
# SELENIUM_LOG_SCREEN(wd,"50%","Exhibit_Inspect","Control_Manage","light_down")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"light_down"
)
# # 这是灯光开启后的截图
# 这是灯光开启后的截图
# INFO("请检查灯光开启后的监控视频状态是否正常")
INFO
(
"请检查灯光开启后的监控视频状态是否正常"
)
# SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "light_on")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"light_on"
)
STEP
(
3
,
"检查窗帘的上升下降状态"
)
#
STEP(3, "检查窗帘的上升下降状态")
INFO
(
"请检查窗帘上升状态是否正常"
)
#
INFO("请检查窗帘上升状态是否正常")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"curtain_up"
)
#
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "curtain_up")
INFO
(
"请检查窗帘下降状态是否正常"
)
#
INFO("请检查窗帘下降状态是否正常")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"curtain_down"
)
#
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "curtain_down")
STEP
(
3
,
"检查空调开启状态"
)
#
STEP(3, "检查空调开启状态")
# 这是空调关闭的状态显示
#
#
这是空调关闭的状态显示
INFO
(
"请检查空调关闭的状态是否正常"
)
#
INFO("请检查空调关闭的状态是否正常")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"air_condition_off"
)
#
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "air_condition_off")
# 这是空调开启的状态显示
#
#
这是空调开启的状态显示
INFO
(
"请检查空调开启的状态是否正常"
)
#
INFO("请检查空调开启的状态是否正常")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"air_condition_on"
)
#
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "air_condition_on")
STEP
(
4
,
"检查指挥大屏开启状态"
)
#
STEP(4, "检查指挥大屏开启状态")
# 这是指挥大屏关闭的监控视频显示
#
#
这是指挥大屏关闭的监控视频显示
INFO
(
"请检查指挥大屏关闭的监控视频状态是否正常"
)
#
INFO("请检查指挥大屏关闭的监控视频状态是否正常")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"command_screen_down"
)
#
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "command_screen_down")
# 这是指挥大屏开启的监控视频显示
#
#
这是指挥大屏开启的监控视频显示
INFO
(
"请检查指挥大屏开启的监控视频状态是否正常"
)
#
INFO("请检查指挥大屏开启的监控视频状态是否正常")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"command_screen_on"
)
#
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "command_screen_on")
STEP
(
5
,
"检查音乐播放状态"
)
#
STEP(5,"检查音乐播放状态")
# 这是音乐开启播放后的界面显示
#
#
这是音乐开启播放后的界面显示
INFO
(
"请检查中控屏软件打开音乐播放后的界面状态显示"
)
#
INFO("请检查中控屏软件打开音乐播放后的界面状态显示")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"music_on"
)
#
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "music_on")
# 这是音乐关闭播放后的界面显示
#
#
这是音乐关闭播放后的界面显示
INFO
(
"请检查中控屏软件关闭音乐播放后的界面状态显示"
)
#
INFO("请检查中控屏软件关闭音乐播放后的界面状态显示")
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"music_off"
)
#
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "music_off")
# STEP(6,"检查信息发布界面展示")
# # 这是生日快乐主题内容发布
# INFO("请检查中控屏软件信息发布界面是否正常")
# SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "information_brithday_on")
# # 这是会议欢迎主题内容发布
# INFO("请检查中控屏软件信息发布界面是否正常")
# SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "information_meeting_on")
# # 这是展厅空间结构内容发布
# INFO("请检查中控屏软件信息发布界面是否正常")
# SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Control_Manage", "information_space_on")
def
suite_teardown
():
def
suite_teardown
():
...
...
预定系统/cases/展厅巡检/00展厅中控屏/展厅中控屏.py
浏览文件 @
f3adf8fb
from
appium.webdriver.common.appiumby
import
AppiumBy
from
dominate.tags
import
button
from
pygments.console
import
light_colors
from
预定系统
.
Base
.
app_base
import
*
from
预定系统
.
Base
.
app_base
import
*
import
logging
import
logging
from
time
import
sleep
from
time
import
sleep
from
hytest
import
*
# 配置日志记录
# 配置日志记录
logging
.
basicConfig
(
level
=
logging
.
DEBUG
,
format
=
'
%(asctime)
s -
%(levelname)
s -
%(message)
s'
)
logging
.
basicConfig
(
level
=
logging
.
DEBUG
,
format
=
'
%(asctime)
s -
%(levelname)
s -
%(message)
s'
)
...
@@ -22,6 +20,7 @@ class Exhibition_hall_Control_000x:
...
@@ -22,6 +20,7 @@ class Exhibition_hall_Control_000x:
该方法初始化应用驱动,等待应用加载,定位并点击会议按钮,加入会议,并截取会议画面。
该方法初始化应用驱动,等待应用加载,定位并点击会议按钮,加入会议,并截取会议画面。
"""
"""
app_drive
=
None
app_drive
=
None
wd
=
GSTORE
[
'wd'
]
try
:
try
:
# 初始化应用驱动,连接到指定的设备和应用
# 初始化应用驱动,连接到指定的设备和应用
app_drive
=
app_setup_driver
(
"Android"
,
"5.1.1"
,
"UT-13"
,
"com.ubains.gviewer"
,
app_drive
=
app_setup_driver
(
"Android"
,
"5.1.1"
,
"UT-13"
,
"com.ubains.gviewer"
,
...
@@ -36,12 +35,17 @@ class Exhibition_hall_Control_000x:
...
@@ -36,12 +35,17 @@ class Exhibition_hall_Control_000x:
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[1]/android.widget.Button[6]"
)
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[1]/android.widget.Button[6]"
)
logging
.
info
(
"尝试定位【空气净化】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【空气净化】按钮元素,并点击按钮"
)
air_button
.
click
()
air_button
.
click
()
sleep
(
20
)
sleep
(
10
)
STEP
(
2
,
"检查灯光控制功能"
)
# 这是灯光开启前的截图
INFO
(
"请检查灯光开启前的监控视频状态是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"light_down"
)
# 先截取当前空间的灯光状态图片
# 先截取当前空间的灯光状态图片
rtsp_url
=
"rtsp://admin:huawei@123@192.168.4.15/LiveMedia/ch1/Media2"
# 替换为你的RTSP流地址
light_
rtsp_url
=
"rtsp://admin:huawei@123@192.168.4.15/LiveMedia/ch1/Media2"
# 替换为你的RTSP流地址
logging
.
info
(
"开始捕获RTSP流中的帧"
)
logging
.
info
(
"开始捕获RTSP流中的帧"
)
if
capture_frame_from_rtsp
(
rtsp_url
,
"light_down.png"
):
if
capture_frame_from_rtsp
(
light_
rtsp_url
,
"light_down.png"
):
logging
.
info
(
"帧捕获成功"
)
logging
.
info
(
"帧捕获成功"
)
else
:
else
:
logging
.
error
(
"帧捕获失败"
)
logging
.
error
(
"帧捕获失败"
)
...
@@ -54,24 +58,39 @@ class Exhibition_hall_Control_000x:
...
@@ -54,24 +58,39 @@ class Exhibition_hall_Control_000x:
# 点击【灯光控制】按钮
# 点击【灯光控制】按钮
light_button
.
click
()
light_button
.
click
()
logging
.
info
(
"点击【灯光控制】按钮成功"
)
logging
.
info
(
"点击【灯光控制】按钮成功"
)
sleep
(
20
)
sleep
(
10
)
# 这是全部灯光关闭后在软件界面上的状态显示
INFO
(
"请检查中控屏软件的灯光关闭状态显示是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"light_all_off"
)
# 截图获取当前软件的灯光控制界面
# 截图获取当前软件的灯光控制界面
app_drive
.
get_screenshot_as_file
(
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\light_all_off.png"
)
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\light_all_off.png"
)
# 调用灯光控制函数
# 调用灯光控制函数
light_control
(
app_drive
)
light_control
(
app_drive
)
# 这是全部灯光开启后在软件界面上的状态显示
INFO
(
"请检查中控屏软件的灯光开启状态显示是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"light_all_on"
)
# 截图获取当前软件的灯光控制界面
# 截图获取当前软件的灯光控制界面
app_drive
.
get_screenshot_as_file
(
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\light_all_on.png"
)
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\light_all_on.png"
)
# 这是灯光开启后的截图
INFO
(
"请检查灯光开启后的监控视频状态是否正常"
)
SELENIUM_LOG_SCREEN
(
wd
,
"50
%
"
,
"Exhibit_Inspect"
,
"Control_Manage"
,
"light_on"
)
# 先截取当前空间的灯光状态图片
# 先截取当前空间的灯光状态图片
rtsp_url
=
"rtsp://admin:huawei@123@192.168.4.15/LiveMedia/ch1/Media2"
# 替换为你的RTSP流地址
light_
rtsp_url
=
"rtsp://admin:huawei@123@192.168.4.15/LiveMedia/ch1/Media2"
# 替换为你的RTSP流地址
logging
.
info
(
"开始捕获RTSP流中的帧"
)
logging
.
info
(
"开始捕获RTSP流中的帧"
)
if
capture_frame_from_rtsp
(
rtsp_url
,
"light_on.png"
):
if
capture_frame_from_rtsp
(
light_
rtsp_url
,
"light_on.png"
):
logging
.
info
(
"帧捕获成功"
)
logging
.
info
(
"帧捕获成功"
)
else
:
else
:
logging
.
error
(
"帧捕获失败"
)
logging
.
error
(
"帧捕获失败"
)
STEP
(
3
,
"检查窗帘的升降功能"
)
# 切换至窗帘控制界面
# 切换至窗帘控制界面
logging
.
info
(
"尝试定位【窗帘控制】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【窗帘控制】按钮元素,并点击按钮"
)
curtain_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
curtain_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
...
@@ -79,8 +98,9 @@ class Exhibition_hall_Control_000x:
...
@@ -79,8 +98,9 @@ class Exhibition_hall_Control_000x:
curtain_button
.
click
()
curtain_button
.
click
()
sleep
(
2
)
sleep
(
2
)
# 调用窗口上升下降的函数
# 调用窗口上升下降的函数
curtain_control
(
app_drive
)
curtain_control
(
app_drive
,
wd
)
STEP
(
3
,
"检查空调控制是否正常"
)
# 切换至空调控制界面
# 切换至空调控制界面
logging
.
info
(
"尝试定位【空调控制】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【空调控制】按钮元素,并点击按钮"
)
air_conditioner_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
air_conditioner_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
...
@@ -88,8 +108,9 @@ class Exhibition_hall_Control_000x:
...
@@ -88,8 +108,9 @@ class Exhibition_hall_Control_000x:
air_conditioner_button
.
click
()
air_conditioner_button
.
click
()
sleep
(
2
)
sleep
(
2
)
# 调用空调控制的函数
# 调用空调控制的函数
air_condition_control
(
app_drive
)
air_condition_control
(
app_drive
,
wd
)
STEP
(
4
,
"检查指挥大屏控制是否正常"
)
# 切换至指挥中心控制界面
# 切换至指挥中心控制界面
# 打开指挥中心大屏幕
# 打开指挥中心大屏幕
logging
.
info
(
"尝试定位【开启指挥中心控制】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【开启指挥中心控制】按钮元素,并点击按钮"
)
...
@@ -98,33 +119,36 @@ class Exhibition_hall_Control_000x:
...
@@ -98,33 +119,36 @@ class Exhibition_hall_Control_000x:
center_button
.
click
()
center_button
.
click
()
sleep
(
2
)
sleep
(
2
)
# 调用指挥中心控制函数
# 调用指挥中心控制函数
command_centre_control
(
rtsp_url
,
app_drive
)
command_centre_control
(
light_rtsp_url
,
app_drive
,
wd
)
STEP
(
5
,
"检查音乐控制功能是否正常"
)
# 切换至音乐区域
# 切换至音乐区域
logging
.
info
(
"尝试定位【音乐】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【音乐】按钮元素,并点击按钮"
)
music_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
music_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[1]/android.widget.Button[9]"
)
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[1]/android.widget.Button[9]"
)
music_button
.
click
()
music_button
.
click
()
sleep
(
2
)
sleep
(
2
)
# 调用音乐控制函数
music_control
(
app_drive
,
wd
)
# 点击【播放音乐】
logging
.
info
(
"尝试定位【播放音乐】按钮元素,并点击按钮"
)
play_music_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[8]"
)
play_music_button
.
click
()
sleep
(
5
)
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\music_on.png"
)
# 点击【关闭播放音乐】
STEP
(
6
,
"检查信息发布界面发布内容功能是否正常"
)
logging
.
info
(
"尝试定位【关闭播放音乐】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【发布屏】按钮元素,并点击按钮"
)
close_play_music_button
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
information_delivery
=
app_drive
.
find_element
(
AppiumBy
.
XPATH
,
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[8]"
)
"/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[1]/android.widget.Button[7]"
)
close_play_music_button
.
click
()
logging
.
info
(
"定位成功"
)
information_delivery
.
click
()
sleep
(
5
)
sleep
(
5
)
app_drive
.
get_screenshot_as_file
(
r"D:\GithubData\自动化\ubains-module-test\预定系统\reports\imgs\Exhibit_Inspect\Control_Manage\music_off.png"
)
# 打开信息发布播放
information_on_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.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.widget.Button[7]"
)
information_on_button
.
click
()
logging
.
info
(
"信息发布播放开启成功"
)
# 调用信息发布控制函数
information_control
(
app_drive
,
wd
)
STEP
(
7
,
"关闭展厅环境灯光。"
)
# 切换灯光控制界面
# 切换灯光控制界面
# 所有测试结束后关闭灯光
# 所有测试结束后关闭灯光
logging
.
info
(
"尝试定位【灯光控制】按钮元素,并点击按钮"
)
logging
.
info
(
"尝试定位【灯光控制】按钮元素,并点击按钮"
)
...
...
预定系统/cases/展厅巡检/08服务器监测/__pycache__/01服务器状态监测.cpython-310.pyc
浏览文件 @
f3adf8fb
No preview for this file type
预定系统/定时执行功能测试.py
浏览文件 @
f3adf8fb
...
@@ -70,7 +70,7 @@ start_workers(3)
...
@@ -70,7 +70,7 @@ start_workers(3)
# 每天早上07:50执行后台系统设置功能测试
# 每天早上07:50执行后台系统设置功能测试
schedule
.
every
()
.
day
.
at
(
"10:00"
)
.
do
(
run_task
,
run_automation_test
,
report_title
=
"预定系统_后台管理功能_测试报告"
,
report_url_prefix
=
"http://nat.ubainsyun.com:31133"
,
test_case
=
"预定系统功能"
,
ding_type
=
"标准版巡检"
)
schedule
.
every
()
.
day
.
at
(
"10:00"
)
.
do
(
run_task
,
run_automation_test
,
report_title
=
"预定系统_后台管理功能_测试报告"
,
report_url_prefix
=
"http://nat.ubainsyun.com:31133"
,
test_case
=
"预定系统功能"
,
ding_type
=
"标准版巡检"
)
schedule
.
every
()
.
day
.
at
(
"07:5
5
"
)
.
do
(
run_task
,
run_automation_test
,
report_title
=
"展厅巡检测试报告"
,
report_url_prefix
=
"http://nat.ubainsyun.com:31133"
,
test_case
=
"展厅巡检"
,
ding_type
=
"展厅巡检"
)
schedule
.
every
()
.
day
.
at
(
"07:5
0
"
)
.
do
(
run_task
,
run_automation_test
,
report_title
=
"展厅巡检测试报告"
,
report_url_prefix
=
"http://nat.ubainsyun.com:31133"
,
test_case
=
"展厅巡检"
,
ding_type
=
"展厅巡检"
)
# 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:25").do(run_task, run_automation_test, report_title="展厅巡检_腾讯终端入会测试报告", report_url_prefix="http://nat.ubainsyun.com:31133", test_case="展厅巡检_腾讯会议")
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论