提交 4307a3bd authored 作者: 彭甘宇's avatar 彭甘宇

Merge remote-tracking branch 'origin/develop' into develop

<changelist name="在进行更新之前于_2024_12_25_15_28_取消提交了更改_[更改]" date="1735111722258" recycled="true" deleted="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/在进行更新之前于_2024_12_25_15_28_取消提交了更改_[更改]/shelved.patch" />
<option name="DESCRIPTION" value="在进行更新之前于 2024/12/25 15:28 取消提交了更改 [更改]" />
</changelist>
\ No newline at end of file
Index: .idea/workspace.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+><?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<project version=\"4\">\r\n <component name=\"AutoImportSettings\">\r\n <option name=\"autoReloadType\" value=\"SELECTIVE\" />\r\n </component>\r\n <component name=\"ChangeListManager\">\r\n <list default=\"true\" id=\"923e4366-b26b-44a4-9a8e-7655702750f8\" name=\"更改\" comment=\"\">\r\n <change beforePath=\"$PROJECT_DIR$/.idea/workspace.xml\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/.idea/workspace.xml\" afterDir=\"false\" />\r\n <change beforePath=\"$PROJECT_DIR$/预定系统/README.md\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/预定系统/README.md\" afterDir=\"false\" />\r\n <change beforePath=\"$PROJECT_DIR$/预定系统/cases/会议历史记录/01历史记录筛选.py\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/预定系统/cases/会议历史记录/01历史记录筛选.py\" afterDir=\"false\" />\r\n <change beforePath=\"$PROJECT_DIR$/预定系统/cases/会议历史记录/02历史记录再次预定.py\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/预定系统/cases/会议历史记录/02历史记录再次预定.py\" afterDir=\"false\" />\r\n <change beforePath=\"$PROJECT_DIR$/预定系统/cases/会议审批/01审批会议创建.py\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/预定系统/cases/会议审批/01审批会议创建.py\" afterDir=\"false\" />\r\n <change beforePath=\"$PROJECT_DIR$/预定系统/cases/会议模板/01会议模板查询.py\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/预定系统/cases/会议模板/01会议模板查询.py\" afterDir=\"false\" />\r\n <change beforePath=\"$PROJECT_DIR$/预定系统/cases/会议模板/02会议模板再次预定.py\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/预定系统/cases/会议模板/02会议模板再次预定.py\" afterDir=\"false\" />\r\n </list>\r\n <option name=\"SHOW_DIALOG\" value=\"false\" />\r\n <option name=\"HIGHLIGHT_CONFLICTS\" value=\"true\" />\r\n <option name=\"HIGHLIGHT_NON_ACTIVE_CHANGELIST\" value=\"false\" />\r\n <option name=\"LAST_RESOLUTION\" value=\"IGNORE\" />\r\n </component>\r\n <component name=\"FileTemplateManagerImpl\">\r\n <option name=\"RECENT_TEMPLATES\">\r\n <list>\r\n <option value=\"Python Script\" />\r\n </list>\r\n </option>\r\n </component>\r\n <component name=\"Git.Settings\">\r\n <option name=\"RECENT_GIT_ROOT_PATH\" value=\"$PROJECT_DIR$\" />\r\n </component>\r\n <component name=\"ProjectColorInfo\"><![CDATA[{\r\n \"customColor\": \"\",\r\n \"associatedIndex\": 0\r\n}]]></component>\r\n <component name=\"ProjectId\" id=\"2qel6dw2JSIg22RV44sfGJ83Ng2\" />\r\n <component name=\"PropertiesComponent\"><![CDATA[{\r\n \"keyToString\": {\r\n \"Python.安卓信息-消息监听.executor\": \"Run\",\r\n \"git-widget-placeholder\": \"develop\",\r\n \"last_opened_file_path\": \"D:/GithubData/自动化/ubains-module-test/预定系统/cases/会议审批\",\r\n \"node.js.detected.package.eslint\": \"true\",\r\n \"node.js.detected.package.tslint\": \"true\",\r\n \"node.js.selected.package.eslint\": \"(autodetect)\",\r\n \"node.js.selected.package.tslint\": \"(autodetect)\"\r\n }\r\n}]]></component>\r\n <component name=\"RecentsManager\">\r\n <key name=\"CopyFile.RECENT_KEYS\">\r\n <recent name=\"D:\\GithubData\\自动化\\ubains-module-test\\预定系统\\cases\\会议审批\" />\r\n <recent name=\"D:\\GithubData\\自动化\\ubains-module-test\\预定系统\\测试数据\\会议模板\" />\r\n <recent name=\"D:\\GithubData\\自动化\\ubains-module-test\\预定系统\\测试数据\\会议历史记录\" />\r\n </key>\r\n </component>\r\n <component name=\"RunManager\">\r\n <configuration name=\"安卓信息-消息监听\" type=\"PythonConfigurationType\" factoryName=\"Python\" temporary=\"true\" nameIsGenerated=\"true\">\r\n <module name=\"ubains-module-test\" />\r\n <option name=\"ENV_FILES\" value=\"\" />\r\n <option name=\"INTERPRETER_OPTIONS\" value=\"\" />\r\n <option name=\"PARENT_ENVS\" value=\"true\" />\r\n <envs>\r\n <env name=\"PYTHONUNBUFFERED\" value=\"1\" />\r\n </envs>\r\n <option name=\"SDK_HOME\" value=\"\" />\r\n <option name=\"WORKING_DIRECTORY\" value=\"$PROJECT_DIR$/预定系统/cases/设备管理\" />\r\n <option name=\"IS_MODULE_SDK\" value=\"true\" />\r\n <option name=\"ADD_CONTENT_ROOTS\" value=\"true\" />\r\n <option name=\"ADD_SOURCE_ROOTS\" value=\"true\" />\r\n <EXTENSION ID=\"PythonCoverageRunConfigurationExtension\" runner=\"coverage.py\" />\r\n <option name=\"SCRIPT_NAME\" value=\"$PROJECT_DIR$/预定系统/cases/设备管理/安卓信息-消息监听.py\" />\r\n <option name=\"PARAMETERS\" value=\"\" />\r\n <option name=\"SHOW_COMMAND_LINE\" value=\"false\" />\r\n <option name=\"EMULATE_TERMINAL\" value=\"false\" />\r\n <option name=\"MODULE_MODE\" value=\"false\" />\r\n <option name=\"REDIRECT_INPUT\" value=\"false\" />\r\n <option name=\"INPUT_FILE\" value=\"\" />\r\n <method v=\"2\" />\r\n </configuration>\r\n <recent_temporary>\r\n <list>\r\n <item itemvalue=\"Python.安卓信息-消息监听\" />\r\n </list>\r\n </recent_temporary>\r\n </component>\r\n <component name=\"TaskManager\">\r\n <servers />\r\n </component>\r\n <component name=\"com.intellij.coverage.CoverageDataManagerImpl\">\r\n <SUITE FILE_PATH=\"coverage/ubains_module_test$_.coverage\" NAME=\"安卓信息-消息监听 覆盖结果\" MODIFIED=\"1735034725544\" SOURCE_PROVIDER=\"com.intellij.coverage.DefaultCoverageFileProvider\" RUNNER=\"coverage.py\" COVERAGE_BY_TEST_ENABLED=\"false\" COVERAGE_TRACING_ENABLED=\"false\" WORKING_DIRECTORY=\"$PROJECT_DIR$/预定系统/cases/设备管理\" />\r\n </component>\r\n</project>
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
--- a/.idea/workspace.xml (revision a74bfa17dd939dc6790e420e64b1e73aba2262d4)
+++ b/.idea/workspace.xml (date 1735111706578)
@@ -4,15 +4,7 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
- <list default="true" id="923e4366-b26b-44a4-9a8e-7655702750f8" name="更改" comment="">
- <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/预定系统/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/README.md" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/预定系统/cases/会议历史记录/01历史记录筛选.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议历史记录/01历史记录筛选.py" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/预定系统/cases/会议历史记录/02历史记录再次预定.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议历史记录/02历史记录再次预定.py" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/预定系统/cases/会议审批/01审批会议创建.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议审批/01审批会议创建.py" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/预定系统/cases/会议模板/01会议模板查询.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议模板/01会议模板查询.py" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/预定系统/cases/会议模板/02会议模板再次预定.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议模板/02会议模板再次预定.py" afterDir="false" />
- </list>
+ <list default="true" id="923e4366-b26b-44a4-9a8e-7655702750f8" name="更改" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
...@@ -9,15 +9,7 @@ ...@@ -9,15 +9,7 @@
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py" beforeDir="false" afterPath="$PROJECT_DIR$/运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py" beforeDir="false" afterPath="$PROJECT_DIR$/运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/预定系统/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/.idea/workspace.xml" afterDir="false" />
<list default="true" id="923e4366-b26b-44a4-9a8e-7655702750f8" name="更改" comment=""> <list default="true" id="923e4366-b26b-44a4-9a8e-7655702750f8" name="更改" comment="" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/cases/会议历史记录/01历史记录筛选.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议历史记录/01历史记录筛选.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/cases/会议历史记录/02历史记录再次预定.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议历史记录/02历史记录再次预定.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/cases/会议审批/01审批会议创建.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议审批/01审批会议创建.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/cases/会议模板/01会议模板查询.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议模板/01会议模板查询.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/cases/会议模板/02会议模板再次预定.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/cases/会议模板/02会议模板再次预定.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
......
...@@ -223,13 +223,13 @@ def issue_send_and_upload(wd, issue_num, issue_name): ...@@ -223,13 +223,13 @@ def issue_send_and_upload(wd, issue_num, issue_name):
INFO(f"文件 {issue_file_path[i]} 不存在,跳出函数") INFO(f"文件 {issue_file_path[i]} 不存在,跳出函数")
return return
INFO("定位【选择文件】按钮") # INFO("定位【选择文件】按钮")
upload_button = wd.find_element(By.XPATH, '//*[@id="global-uploader-btn"]/input') upload_button = wd.find_element(By.XPATH, '//*[@id="global-uploader-btn"]/input')
# INFO(f"元素定位:{upload_button}") # INFO(f"元素定位:{upload_button}")
# INFO("选择议题文件上传") # INFO("选择议题文件上传")
upload_button.send_keys(issue_file_path[i]) upload_button.send_keys(issue_file_path[i])
INFO(f"第{i+1}个议题文件上传完成") # INFO(f"第{i+1}个议题文件上传完成")
sleep(15) sleep(15)
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Meeting_Message", "添加议题文件") SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Meeting_Message", "添加议题文件")
...@@ -751,10 +751,11 @@ def fetch_and_parse_check_txt(url, save_path, extract_info): ...@@ -751,10 +751,11 @@ def fetch_and_parse_check_txt(url, save_path, extract_info):
parsed_info = {} parsed_info = {}
for line in content.split('\n'): for line in content.split('\n'):
for info in extract_info: for info in extract_info:
if info in line: if info in line and info not in parsed_info:
service_name = info service_name = info
service_status = line.split(info, 1)[1].strip() service_status = line.split(info, 1)[1].strip()
parsed_info[service_name] = service_status parsed_info[service_name] = service_status
break # 找到后跳出内层循环,继续处理下一行
return parsed_info return parsed_info
......
...@@ -133,3 +133,9 @@ ...@@ -133,3 +133,9 @@
27. 2024-12-25 27. 2024-12-25
- 根据展厅巡检使用时遇到的问题进行调整,在议题文件上传前做文件是否存在的校验,若不存在则跳出函数。补充讯飞流程的切换窗口句柄代码。 - 根据展厅巡检使用时遇到的问题进行调整,在议题文件上传前做文件是否存在的校验,若不存在则跳出函数。补充讯飞流程的切换窗口句柄代码。
- 补充会议审批预约以及取消审批功能的自动化处理。调整会议模板以及历史会议的自动化处理顺序,无需重复初始化浏览器。 - 补充会议审批预约以及取消审批功能的自动化处理。调整会议模板以及历史会议的自动化处理顺序,无需重复初始化浏览器。
- 处理各模块间的执行流程优化。
- 补充会议审批相关功能之间的流程自动化处理,会议审批模块已补充完成。给所有功能模块打上标签,后续通过运行标签的形式调试预定系统整体功能测试流程。
- 处理优化展厅巡检相关流程。
28. 2024-12-26
- 调整服务状态监测读取文本文件函数fetch_and_parse_check_txt的重复赋值问题。
- 补充展厅巡检关于桌牌系统是否可用的简单检测。
\ No newline at end of file
...@@ -5,7 +5,7 @@ import os ...@@ -5,7 +5,7 @@ import os
# 获取当前脚本的绝对路径 # 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径 # 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..')) 预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..','..'))
# 添加路径 # 添加路径
sys.path.append(预定系统_path) sys.path.append(预定系统_path)
# 导入模块 # 导入模块
...@@ -15,11 +15,12 @@ from 预定系统.Base.base import * ...@@ -15,11 +15,12 @@ from 预定系统.Base.base import *
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建CSV文件的绝对路径 # 构建CSV文件的绝对路径
csv_file_path = os.path.join(current_dir, '../../测试数据/会议主流程/会议预约.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议主流程/会议预约.csv')
# 定义时间格式 # 定义时间格式
time_format = "%H:%M" time_format = "%H:%M"
class Message_Book_000x: class Message_Book_000x:
tags = ['会议预约主流程','预定系统功能']
""" """
执行指令: 执行指令:
...@@ -245,13 +246,13 @@ class Message_Book_000x: ...@@ -245,13 +246,13 @@ class Message_Book_000x:
# 选择通知方式 # 选择通知方式
INFO(f"选择通知方式:{notification_method}") INFO(f"选择通知方式:{notification_method}")
if notification_method == "全选": # if notification_method == "全选":
# 点击【全选】按钮 # 点击【全选】按钮
safe_click((By.XPATH,"//div[@class='Sendout']//span[@class='el-checkbox__label'][contains(text(),'全选')]"),wd) # safe_click((By.XPATH,"//div[@class='Sendout']//span[@class='el-checkbox__label'][contains(text(),'全选')]"),wd)
else: # else:
# 选择对应的通知方式 # 选择对应的通知方式
safe_click((By.XPATH, f"//span[contains(text(),'{notification_method}')]"), wd) # safe_click((By.XPATH, f"//span[contains(text(),'{notification_method}')]"), wd)
sleep(1) # sleep(1)
# 点击【确定】按钮 # 点击【确定】按钮
STEP(6, "点击【确定】按钮") STEP(6, "点击【确定】按钮")
...@@ -273,8 +274,8 @@ class Message_Book_000x: ...@@ -273,8 +274,8 @@ class Message_Book_000x:
sleep(1) sleep(1)
# 查看是否显示加载中 # 查看是否显示加载中
notify_text = elment_get_text((By.XPATH,"//p[@class='el-loading-text']"),wd) # notify_text = elment_get_text((By.XPATH,"//p[@class='el-loading-text']"),wd)
CHECK_POINT("是否显示加载中", "提交数据中" in notify_text) # CHECK_POINT("是否显示加载中", "提交数据中" in notify_text)
sleep(1) sleep(1)
# 获取提示信息 # 获取提示信息
...@@ -283,11 +284,40 @@ class Message_Book_000x: ...@@ -283,11 +284,40 @@ class Message_Book_000x:
CHECK_POINT("预定成功提示是否正确", notify_text == check_text) CHECK_POINT("预定成功提示是否正确", notify_text == check_text)
# 进行切换至会议室列表界面 # 进行切换至会议室列表界面
STEP(9, "跳转至会议室列表界面") # STEP(9, "清除会议数据")
# safe_send_keys((By.XPATH, "//input[@placeholder='输入关键字搜索']"), message_name, wd)
# send_keyboard((By.XPATH, "//input[@placeholder='输入关键字搜索']"), wd)
# sleep(2)
# # 判断会议类型
# if repetitive_cycle == '周期会议':
# INFO("点击【删除会议】按钮")
# # 点击【删除会议】按钮
# safe_click((By.CSS_SELECTOR,
# "tbody tr:nth-child(1) td:nth-child(8) div:nth-child(1) button:nth-child(2) span:nth-child(1)"),
# wd)
# sleep(5)
# INFO("点击【删除本场及以后周期会议】按钮")
# safe_click((By.XPATH, "//span[contains(text(),'删除本次及后续的周期会议')]"), wd)
# sleep(2)
# # 点击【确定】按钮
# safe_click((By.XPATH, "//div[contains(@aria-label,'提示')]//span[contains(text(),'确定')]"), wd)
# sleep(2)
#
# else:
# # 点击【删除会议】按钮
# safe_click((By.XPATH, "//span[contains(text(),'删除会议')]"), wd)
# 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)
STEP(10, "跳转至会议室列表界面")
# 点击会议室列表导航栏 # 点击会议室列表导航栏
safe_click((By.XPATH,"//span[contains(text(),'会议室列表')]"),wd) safe_click((By.XPATH, "//span[contains(text(),'会议室列表')]"), wd)
sleep(1) sleep(1)
INFO("检查界面标题是否为:会议室列表") INFO("检查界面标题是否为:会议室列表")
# 获取会议室列表界面的标题信息 # 获取会议室列表界面的标题信息
notify_text = elment_get_text((By.XPATH,"//div[@class='header']//span[contains(text(),'会议室列表')]"),wd) notify_text = elment_get_text((By.XPATH, "//div[@class='header']//span[contains(text(),'会议室列表')]"), wd)
CHECK_POINT("界面标题是否正确", "会议室列表" in notify_text) CHECK_POINT("界面标题是否正确", "会议室列表" in notify_text)
\ No newline at end of file
...@@ -19,3 +19,6 @@ def suite_setup(): ...@@ -19,3 +19,6 @@ def suite_setup():
wd = GSTORE['wd'] wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321") admin_login("admin@ZDH", "Ubains@4321")
def suite_teardown():
browser_quit()
\ No newline at end of file
...@@ -5,7 +5,7 @@ import os ...@@ -5,7 +5,7 @@ import os
# 获取当前脚本的绝对路径 # 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径 # 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..')) 预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..','..'))
# 添加路径 # 添加路径
sys.path.append(预定系统_path) sys.path.append(预定系统_path)
# 导入模块 # 导入模块
...@@ -15,12 +15,12 @@ from 预定系统.Base.base import * ...@@ -15,12 +15,12 @@ from 预定系统.Base.base import *
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建CSV文件的绝对路径 # 构建CSV文件的绝对路径
csv_file_path = os.path.join(current_dir, '../../测试数据/会议主流程/会议修改.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议主流程/会议修改.csv')
# 定义时间格式 # 定义时间格式
time_format = "%H:%M" time_format = "%H:%M"
class Message_Update_000x: class Message_Update_000x:
tags = ['会议预约主流程','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
...@@ -272,26 +272,26 @@ class Message_Update_000x: ...@@ -272,26 +272,26 @@ class Message_Update_000x:
sleep(1) sleep(1)
# 选择消息提醒时间 # 选择消息提醒时间
INFO(f"选择消息提醒时间:{message_notification}") # INFO(f"选择消息提醒时间:{message_notification}")
# 判断消息提醒时间是否为全选 # # 判断消息提醒时间是否为全选
if message_notification == "全选": # if message_notification == "全选":
# 点击【全选】按钮 # # 点击【全选】按钮
safe_click((By.XPATH,"//div[@class='Reminds']//span[@class='el-checkbox__label'][contains(text(),'全选')]"),wd) # safe_click((By.XPATH,"//div[@class='Reminds']//span[@class='el-checkbox__label'][contains(text(),'全选')]"),wd)
sleep(1) # sleep(1)
else: # else:
# 选择对应的消息提醒时间 # # 选择对应的消息提醒时间
safe_click((By.XPATH, f"//span[contains(text(),'{message_notification}')]"), wd) # safe_click((By.XPATH, f"//span[contains(text(),'{message_notification}')]"), wd)
sleep(1) # sleep(1)
#
# 选择通知方式 # # 选择通知方式
INFO(f"选择通知方式:{notification_method}") # INFO(f"选择通知方式:{notification_method}")
if notification_method == "全选": # if notification_method == "全选":
# 点击【全选】按钮 # # 点击【全选】按钮
safe_click((By.XPATH,"//div[@class='Sendout']//span[@class='el-checkbox__label'][contains(text(),'全选')]"),wd) # safe_click((By.XPATH,"//div[@class='Sendout']//span[@class='el-checkbox__label'][contains(text(),'全选')]"),wd)
else: # else:
# 选择对应的通知方式 # # 选择对应的通知方式
safe_click((By.XPATH, f"//span[contains(text(),'{notification_method}')]"), wd) # safe_click((By.XPATH, f"//span[contains(text(),'{notification_method}')]"), wd)
sleep(1) # sleep(1)
# 点击【确定】按钮 # 点击【确定】按钮
STEP(6, "点击【确定】按钮") STEP(6, "点击【确定】按钮")
...@@ -325,12 +325,13 @@ class Message_Update_000x: ...@@ -325,12 +325,13 @@ class Message_Update_000x:
sleep(1) sleep(1)
# 查看是否显示加载中 # 查看是否显示加载中
notify_text = elment_get_text((By.XPATH, "//p[@class='el-loading-text']"), wd) # notify_text = elment_get_text((By.XPATH, "//p[@class='el-loading-text']"), wd)
CHECK_POINT("是否显示加载中", "提交数据中" in notify_text) # CHECK_POINT("是否显示加载中", "提交数据中" in notify_text)
sleep(6) # sleep(6)
# 获取提示信息 # 获取提示信息
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage", notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"), "Message_Manage",
"Message_Book", f"{name}_修改成功提示信息") "Message_Book", f"{name}_修改成功提示信息")
INFO(f"修改成功提示信息为:{notify_text}") INFO(f"修改成功提示信息为:{notify_text}")
CHECK_POINT("修改成功提示是否正确", notify_text == check_text) CHECK_POINT("修改成功提示是否正确", notify_text == check_text)
import sys
import os
from time import sleep
# 获取当前脚本的绝对路径
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 *
def suite_setup():
STEP(1, "初始化浏览器")
# login_url = 'https://192.168.5.218/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
def suite_teardown():
browser_quit()
\ No newline at end of file
...@@ -5,7 +5,7 @@ import os ...@@ -5,7 +5,7 @@ import os
# 获取当前脚本的绝对路径 # 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径 # 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..')) 预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..','..'))
# 添加路径 # 添加路径
sys.path.append(预定系统_path) sys.path.append(预定系统_path)
# 导入模块 # 导入模块
...@@ -15,12 +15,12 @@ from 预定系统.Base.base import * ...@@ -15,12 +15,12 @@ from 预定系统.Base.base import *
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建CSV文件的绝对路径 # 构建CSV文件的绝对路径
csv_file_path = os.path.join(current_dir, '../../测试数据/会议主流程/会议删除.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议主流程/会议删除.csv')
# 定义时间格式 # 定义时间格式
time_format = "%H:%M" time_format = "%H:%M"
class Message_Update_000x: class Message_Update_000x:
tags = ['会议删除','会议预约主流程','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
...@@ -68,11 +68,11 @@ class Message_Update_000x: ...@@ -68,11 +68,11 @@ class Message_Update_000x:
safe_click((By.XPATH, "//span[contains(text(),'删除会议')]"), wd) safe_click((By.XPATH, "//span[contains(text(),'删除会议')]"), wd)
# 点击【取消】按钮 # 点击【取消】按钮
safe_click((By.XPATH, "(//span[contains(text(),'取消')])[5]"),wd) safe_click((By.XPATH, "(//span[contains(text(),'取消')])[5]"),wd)
sleep(2) sleep(5)
# 再次点击【会议删除】按钮 # 再次点击【会议删除】按钮
safe_click((By.XPATH, "//span[contains(text(),'删除会议')]"), wd) safe_click((By.XPATH, "//span[contains(text(),'删除会议')]"), wd)
safe_click((By.XPATH, "(//span[contains(text(),'确定')])[11]"), wd) safe_click((By.XPATH, "(//span[contains(text(),'确定')])[11]"), wd)
sleep(1) sleep(2)
STEP(4, f"检查删除提示信息是否正确:{check_text}") STEP(4, f"检查删除提示信息是否正确:{check_text}")
# 获取删除成功提示信息 # 获取删除成功提示信息
......
import sys
import os
from time import sleep
# 获取当前脚本的绝对路径
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 *
def suite_setup():
STEP(1, "初始化浏览器")
# login_url = 'https://192.168.5.218/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
def suite_teardown():
browser_quit()
\ No newline at end of file
...@@ -6,7 +6,7 @@ from datetime import timedelta ...@@ -6,7 +6,7 @@ from datetime import timedelta
# 获取当前脚本的绝对路径 # 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径 # 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..')) 预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..','..'))
# 添加路径 # 添加路径
sys.path.append(预定系统_path) sys.path.append(预定系统_path)
# 导入模块 # 导入模块
...@@ -16,11 +16,10 @@ from 预定系统.Base.base import * ...@@ -16,11 +16,10 @@ from 预定系统.Base.base import *
current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建CSV文件的绝对路径 # 构建CSV文件的绝对路径
csv_file_path = os.path.join(current_dir, '../../测试数据/会议主流程/会议状态设置.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议主流程/会议状态设置.csv')
# 定义时间格式 # 定义时间格式
time_format = "%H:%M" time_format = "%H:%M"
def message_update_status(wd): def message_update_status(wd):
""" """
更新消息的会议状态。 更新消息的会议状态。
...@@ -85,6 +84,7 @@ def message_extend_meeting(time_value, wd, name): ...@@ -85,6 +84,7 @@ def message_extend_meeting(time_value, wd, name):
class Message_UpdateStatus_000x: class Message_UpdateStatus_000x:
tags = ['会议预约主流程','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
import sys
import os
from time import sleep
# 获取当前脚本的绝对路径
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 *
def suite_setup():
STEP(1, "初始化浏览器")
# login_url = 'https://192.168.5.218/#/login/logindf'
# login_ngrok_url = "https://nat.ubainsyun.com:11046"
login_url = 'http://192.168.5.200:8080/#/login/logindf'
browser_init(login_url)
wd = GSTORE['wd']
admin_login("admin@ZDH", "Ubains@4321")
def suite_teardown():
browser_quit()
\ No newline at end of file
...@@ -21,7 +21,7 @@ csv_file_path = os.path.join(current_dir, '../../测试数据/会议审批/会 ...@@ -21,7 +21,7 @@ csv_file_path = os.path.join(current_dir, '../../测试数据/会议审批/会
time_format = "%H:%M" time_format = "%H:%M"
class MeetingApproval_Book_000x: class MeetingApproval_Book_000x:
tag = ['会议审批功能'] tags = ['会议审批功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
...@@ -159,10 +159,6 @@ class MeetingApproval_Book_000x: ...@@ -159,10 +159,6 @@ class MeetingApproval_Book_000x:
CHECK_POINT("审批会议名称是否正确", notify_text == message_name) CHECK_POINT("审批会议名称是否正确", notify_text == message_name)
STEP(6, "点击【取消审批】按钮") STEP(6, "点击【取消审批】按钮")
# 查询会议
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), message_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), wd)
sleep(2)
safe_click((By.XPATH, "//span[contains(text(),'取消审批')]"), wd) safe_click((By.XPATH, "//span[contains(text(),'取消审批')]"), wd)
sleep(2) sleep(2)
# 点击【取消】按钮 # 点击【取消】按钮
...@@ -177,3 +173,7 @@ class MeetingApproval_Book_000x: ...@@ -177,3 +173,7 @@ class MeetingApproval_Book_000x:
"Meeting_Approval", "Message_Book", f"{name}取消审批成功提示信息") "Meeting_Approval", "Message_Book", f"{name}取消审批成功提示信息")
INFO(f"取消审批成功提示信息为:{notify_text}") INFO(f"取消审批成功提示信息为:{notify_text}")
CHECK_POINT("取消审批成功提示是否正确", notify_text == "取消成功") CHECK_POINT("取消审批成功提示是否正确", notify_text == "取消成功")
# 切换至会议室列表界面
safe_click((By.XPATH, "//span[contains(text(),'会议室列表')]"), wd)
sleep(2)
\ No newline at end of file
from datetime import datetime, timedelta
from time import sleep
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 MeetingApproval_Status_000x:
tags = ['会议审批功能','预定系统功能']
"""
执行指令:
1.cd 预定系统
2.hytest --report_title 审批会议预约测试报告 --test 审批会议预约_0**
"""
ddt_cases = read_csv_data(csv_file_path)
def teststeps(self):
"""
执行测试步骤以会议室删除功能。
本函数根据参数输入会议室名称进行搜索并删除会议室,并检查删除后的提示信息是否与预期相符。
字段含义:
name:用例名称
conference_name:会议室名称
message_name:会议名称
book_start_time:会议开始时间
book_end_time:会议结束时间
check_text:检查提示文本
"""
# 初始化通知文本为空字符串
notify_text = ""
# 从全局存储中获取webdriver实例
wd = GSTORE['wd']
name = self.name
conference_name, message_name, book_start_time, book_end_time, approval_type, approval_opinion, check_text = self.para
# 在会议室列表搜索会议室
STEP(1, f"在会议室列表搜索:{conference_name}")
# 展开筛选下拉框
safe_click((By.XPATH, "//i[@class='el-collapse-item__arrow el-icon-arrow-right']"), wd)
sleep(1)
# 输入会议室名称,并点击【查询】按钮
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议室名称']"), conference_name, wd)
safe_click((By.XPATH, "//button[@type='button']//span[contains(text(),'查询')]"), wd)
sleep(1)
INFO("检查搜索结果")
# 获取搜索出的会议室名称
notify_text = elment_get_text((By.XPATH, "//span[@class='MeetingCityList_name']"), wd)
INFO(f"搜索结果为:{notify_text}")
CHECK_POINT("搜索结果是否正确", conference_name in notify_text)
# 点击【会议预定】按钮,进入会议预定界面
STEP(2, "点击【会议预定】按钮")
safe_click((By.XPATH, "//span[@class='MeetingCityList_t_btn']"), wd)
sleep(1)
INFO("检查页面标题是否正确")
# 获取页面标题
notify_text = elment_get_text((By.XPATH, "//div[@class='reserve_Title']"), wd)
INFO(f"页面标题为:{notify_text}")
CHECK_POINT("页面标题是否正确", "会议预定" in notify_text)
sleep(1)
# 在会议预定第一步界面进行数据填入
STEP(3, "会议第一步数据填写")
INFO(
f"输入会议名称:{message_name},选择会议开始时间:{book_start_time},选择会议结束时间:{book_end_time}")
# 输入会议名称
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议名称']"), message_name, wd)
# 将字符串转换为时间对象
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')]"),
"Meeting_Approval", "Approval_Option", 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')]"),
"Meeting_Approval", "Approval_Option", 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[@class='header_Quick']"), wd)
sleep(4)
safe_click((By.XPATH, "//button[@type='button']//span[contains(text(),'预定')]"), wd)
sleep(2)
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"),
"Meeting_Approval", "Approval_Option", f"{name}预定成功提示信息")
INFO(f"预定成功提示信息为:{notify_text}")
CHECK_POINT("预定成功提示是否正确", notify_text == check_text)
STEP(5,"检查审批会议是否创建成功")
# 进入会议审批模块
safe_click((By.XPATH, "//span[contains(text(),'会议审批')]"), wd)
sleep(2)
# 查询会议
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), message_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), wd)
sleep(2)
# 获取审批会议名称
notify_text = elment_get_text((By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(3) > div:nth-child(1) > div:nth-child(3) > div:nth-child(2) > 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)"), wd)
INFO(f"审批会议名称为:{notify_text}")
SELENIUM_LOG_SCREEN(wd, "50%", "Meeting_Approval", "Approval_Option", f"{name}_审批会议名称")
CHECK_POINT("审批会议名称是否正确", notify_text == message_name)
STEP(5, "登录审批人账号,查看是否存在需审批会议")
safe_click((By.XPATH,"//img[@title='退出登录']"),wd)
sleep(2)
# 登录审批人的账号
admin_login("admin@ZDH","Ubains@4321")
sleep(2)
# 进入会议审批模块
safe_click((By.XPATH,"//ul[@class='meeting_list']//span[contains(text(),'会议审批')]"),wd)
sleep(2)
# 查询会议
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), message_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), wd)
sleep(2)
# 查看会议详细信息
safe_click((By.XPATH, "//button[@type='button']//span[contains(text(),'详细信息')]"),wd)
sleep(2)
SELENIUM_LOG_SCREEN(wd, "50%", "Meeting_Approval", "Approval_Option", f"{name}_审批会议信息")
safe_click((By.XPATH, "//div[@aria-label='详细信息']//span[contains(text(),'确定')]"), wd)
# 点击【审批】按钮
safe_click((By.XPATH, "//button[@type='button']//span[contains(text(),'审批')]"), wd)
sleep(1)
if approval_type == '通过':
STEP(6, "审批通过")
# 审批通过
safe_send_keys((By.XPATH, "//textarea[@placeholder='请输入审批意见']"), approval_opinion, wd)
sleep(1)
# 点击【同意】按钮
safe_click((By.XPATH, "//span[contains(text(),'同意')]"), wd)
sleep(2)
# 获取审批结果
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"),
"Meeting_Approval", "Approval_Option", f"{name}审批通过提示信息")
CHECK_POINT("审批通过提示是否正确", notify_text == "审批完成!")
INFO(f"审批结果为:{notify_text}")
else:
STEP(6, "审批不通过")
# 审批不通过,不输入审批意见
safe_click((By.XPATH, "//span[contains(text(),'驳回')]"), wd)
sleep(1)
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"),
"Meeting_Approval", "Approval_Option", f"{name}审批意见为空提示信息")
INFO(f"审批结果为:{notify_text}")
CHECK_POINT("审批意见为空提示是否正确", notify_text == "请输入审批意见")
sleep(2)
# 审批不通过,输入审批意见
safe_send_keys((By.XPATH, "//textarea[@placeholder='请输入审批意见']"), approval_opinion, wd)
sleep(1)
# 点击【驳回】按钮
safe_click((By.XPATH, "//span[contains(text(),'驳回')]"), wd)
sleep(2)
# 获取审批结果
notify_text = get_notify_text(wd, (By.XPATH, "//p[contains(@class,'el-message__content')]"),
"Meeting_Approval", "Approval_Option", f"{name}审批不通过提示信息")
INFO(f"审批结果为:{notify_text}")
CHECK_POINT("审批不通过提示是否正确", notify_text == "审批完成!")
STEP(7, "在我已审批模块查看是否存在审批操作后的会议数据")
safe_click((By.XPATH, "//div[@id='tab-third']"), wd)
sleep(1)
# 查询会议
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), message_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), wd)
sleep(2)
# 查看审批会议的名称
notify_text = elment_get_text((By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(3) > div:nth-child(1) > div:nth-child(3) > div:nth-child(2) > div:nth-child(3) > 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)"), wd)
INFO(f"审批会议名称为:{notify_text}")
CHECK_POINT("审批会议名称是否正确", notify_text == message_name)
# 查看审批会议的状态
notify_text = elment_get_text((By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(3) > div:nth-child(1) > div:nth-child(3) > div:nth-child(2) > div:nth-child(3) > div:nth-child(1) > div:nth-child(3) > table:nth-child(1) > tbody:nth-child(2) > tr:nth-child(1) > td:nth-child(7) > div:nth-child(1) > span:nth-child(1)"),wd)
INFO(f"审批会议状态为:{notify_text}")
CHECK_POINT("审批会议状态是否正确", notify_text == approval_type)
SELENIUM_LOG_SCREEN(wd, "50%", "Meeting_Approval", "Approval_Option", f"{name}_审批会议名称")
if approval_type == '通过':
STEP(8, "在抄送我的模块查看是否存在审批通过的会议数据")
safe_click((By.XPATH, "//div[@id='tab-fourth']"), wd)
sleep(1)
# 查询会议
safe_send_keys((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), message_name, wd)
send_keyboard((By.XPATH, "//input[@placeholder='请输入会议名称搜索']"), wd)
sleep(2)
# 查看审批抄送的会议名称
notify_text = elment_get_text((By.CSS_SELECTOR,
"body > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(3) > div:nth-child(1) > div:nth-child(3) > div:nth-child(2) > div:nth-child(4) > 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)"),
wd)
INFO(f"审批抄送的会议名称为:{notify_text}")
CHECK_POINT("审批抄送的会议名称是否正确", notify_text == message_name)
# 查看审批抄送会议的详细信息
safe_click((By.CSS_SELECTOR, "body > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(3) > div:nth-child(1) > div:nth-child(3) > div:nth-child(2) > div:nth-child(4) > div:nth-child(1) > div:nth-child(3) > table:nth-child(1) > tbody:nth-child(2) > tr:nth-child(1) > td:nth-child(7) > div:nth-child(1) > button:nth-child(1) > span:nth-child(1)")
,wd)
SELENIUM_LOG_SCREEN(wd, "50%", "Meeting_Approval", "Approval_Option", f"{name}_审批抄送的会议详情")
if name == '审批会议操作_001':
# 退出当前账号,返回至普通用户账号
INFO("退出当前账号,返回至普通用户账号")
safe_click((By.XPATH, "//img[contains(@title,'退出登录')]"), wd)
admin_login("admin@user", "Ubains@4321")
\ No newline at end of file
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/会议室管理模块/会议室新增.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/会议室管理模块/会议室新增.csv')
class Conference_Add_000x: class Conference_Add_000x:
tags = ['会议室管理功能' , '后台管理功能'] tags = ['会议室管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -37,7 +37,7 @@ def text_query(wd,element_locator,query_text): ...@@ -37,7 +37,7 @@ def text_query(wd,element_locator,query_text):
class Conference_Query_000x: class Conference_Query_000x:
tags = ['会议室管理功能' , '后台管理功能'] tags = ['会议室管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/会议室管理模块/会议室删除.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/会议室管理模块/会议室删除.csv')
class Conference_Delete_000x: class Conference_Delete_000x:
tags = ['会议室管理功能' , '后台管理功能'] tags = ['会议室管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/会议室管理模块/会议室编辑.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/会议室管理模块/会议室编辑.csv')
class Conference_Edit_000x: class Conference_Edit_000x:
tags = ['会议室管理功能' , '后台管理功能'] tags = ['会议室管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/功能管理模块/功能新增.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/功能管理模块/功能新增.csv')
class Function_Add_000x: class Function_Add_000x:
tags =['会议室功能管理' , '后台管理功能'] tags =['会议室功能管理' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/功能管理模块/功能删除.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/功能管理模块/功能删除.csv')
class Function_Delete_000x: class Function_Delete_000x:
tags = ['会议室功能管理' , '后台管理功能'] tags = ['会议室功能管理' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/功能管理模块/功能查询.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/功能管理模块/功能查询.csv')
class Function_Query_000x: class Function_Query_000x:
tags = ['会议室功能管理' , '后台管理功能'] tags = ['会议室功能管理' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/功能管理模块/功能编辑.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/功能管理模块/功能编辑.csv')
class Function_Edit_000x: class Function_Edit_000x:
tags = ['会议室功能管理' , '后台管理功能'] tags = ['会议室功能管理' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/区域管理模块/区域新增.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/区域管理模块/区域新增.csv')
class Area_Add_000x: class Area_Add_000x:
tags = ['区域管理功能' , '后台管理功能'] tags = ['区域管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/区域管理模块/区域删除.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/区域管理模块/区域删除.csv')
class Area_Delete_000x: class Area_Delete_000x:
tags = ['区域管理功能' , '后台管理功能'] tags = ['区域管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -21,7 +21,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/区域管理模块/区域编辑.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/会议室管理/区域管理模块/区域编辑.csv')
class Area_Edit_000x: class Area_Edit_000x:
tags = ['区域管理功能' , '后台管理功能'] tags = ['区域管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -46,3 +46,6 @@ class XF_Meeting_0001: ...@@ -46,3 +46,6 @@ class XF_Meeting_0001:
sleep(2) sleep(2)
safe_click((By.XPATH, "//div[@slot='footer']//span[contains(text(),'确定')]"), wd) safe_click((By.XPATH, "//div[@slot='footer']//span[contains(text(),'确定')]"), wd)
sleep(2) sleep(2)
# 点击二次确认按钮
safe_click((By.XPATH, "//button[@class='el-button el-button--default el-button--small el-button--primary ']//span[contains(text(),'确定')]"), wd)
sleep(2)
\ No newline at end of file
...@@ -24,8 +24,10 @@ class Unified_Platform_0001: ...@@ -24,8 +24,10 @@ class Unified_Platform_0001:
print(f"这是跳转后的窗口句柄{wd.window_handles}") print(f"这是跳转后的窗口句柄{wd.window_handles}")
# 选择融合视讯会议 # 选择融合视讯会议
INFO("选择融合视讯会议") INFO("选择融合视讯会议")
# 勾选视讯会议默认选择smc会议
safe_click((By.XPATH, "//span[contains(text(),'视讯会议')]"),wd) safe_click((By.XPATH, "//span[contains(text(),'视讯会议')]"),wd)
sleep(1) sleep(1)
# 选择腾讯会议
safe_click((By.XPATH, "//div[@aria-label='checkbox-group']//label[@class='el-checkbox']//span[@class='el-checkbox__inner']"),wd) safe_click((By.XPATH, "//div[@aria-label='checkbox-group']//label[@class='el-checkbox']//span[@class='el-checkbox__inner']"),wd)
# 选择会议室与参会人 # 选择会议室与参会人
...@@ -110,10 +112,9 @@ class Unified_Platform_0001: ...@@ -110,10 +112,9 @@ class Unified_Platform_0001:
print(f"这是跳转后的窗口句柄{wd.window_handles}") print(f"这是跳转后的窗口句柄{wd.window_handles}")
# 选择会议室 # 选择会议室
safe_click((By.XPATH, "//div[@class='meeting_area']//div[@class='el-table__fixed-header-wrapper']//div[1]//label[1]//span[1]//span[1]"),wd) safe_click((By.XPATH, "//div[@class='meeting_area']//div[@class='el-table__fixed-header-wrapper']//div[1]//label[1]//span[1]//span[1]"),wd)
# 选择smc会议
safe_click((By.XPATH, "//span[contains(text(),'视讯会议')]"),wd) safe_click((By.XPATH, "//span[contains(text(),'视讯会议')]"),wd)
sleep(1) sleep(1)
safe_click((By.XPATH, "//span[@class='el-checkbox__label'][contains(text(),'腾讯会议')]"),wd)
sleep(2) sleep(2)
safe_click((By.XPATH, "//span[contains(text(),'确定创建')]"),wd) safe_click((By.XPATH, "//span[contains(text(),'确定创建')]"),wd)
......
import sys
import os
from time import sleep
# 获取当前脚本的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
# 构建预定系统的绝对路径
预定系统_path = os.path.abspath(os.path.join(current_dir, '..','..','..'))
# 添加路径
sys.path.append(预定系统_path)
# 导入模块
try:
from 预定系统.Base.base import *
except ModuleNotFoundError as e:
print(f"ModuleNotFoundError: {e}")
print("尝试使用绝对路径导入")
from 预定系统.Base.base import *
def suite_setup():
STEP(1, "初始化浏览器")
login_exhibit_url = 'http://192.168.5.200:8080/#/login/logindf'
login_exhibit_ngrok_url = 'http://nat.ubainsyun.com:11060/#/login/logindf'
browser_init(login_exhibit_url)
wd = GSTORE['wd']
admin_login("Test02", "ubains@123")
sleep(2)
# 进入后台
enter_the_backend()
def suite_teardown():
browser_quit()
\ No newline at end of file
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 *
class Meeting_TableCard_0001:
tags = ['展厅巡检','桌牌测试']
def teststeps(self):
wd = GSTORE['wd']
# 打开系统管理模块,点击桌牌
safe_click((By.XPATH, "//span[contains(text(),'系统管理')]"),wd)
sleep(2)
safe_click((By.XPATH, "//li[contains(text(),'桌牌管理')]"),wd)
sleep(2)
# 切换至桌牌系统窗口界面
wd.switch_to.window(wd.window_handles[1])
sleep(4)
INFO("进入桌牌系统")
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Meeting_TableCard", "进入桌牌系统")
# 点击桌牌管理进入桌牌投图
safe_click((By.XPATH, "//span[contains(text(),'桌牌管理')]"),wd)
sleep(1)
safe_click((By.XPATH, "//span[contains(text(),'桌牌投图')]"),wd)
sleep(4)
INFO("进入桌牌投图")
SELENIUM_LOG_SCREEN(wd, "50%", "Exhibit_Inspect", "Meeting_TableCard", "进入桌牌投图")
\ No newline at end of file
...@@ -16,7 +16,7 @@ class Server_monitoring_0001: ...@@ -16,7 +16,7 @@ class Server_monitoring_0001:
def teststeps(self): def teststeps(self):
i = 0 i = 0
# 使用示例 # 使用示例
url = "https://192.168.5.218:8443/media/file/check.txt" url = "http://192.168.5.200:8081/media/cmdb/service_info/check.txt"
save_path = "check.txt" save_path = "check.txt"
extract_info = ['[m]ysql', '[r]edis', '[f]dfs_storaged', '[f]dfs_tracker', '[e]mqx', extract_info = ['[m]ysql', '[r]edis', '[f]dfs_storaged', '[f]dfs_tracker', '[e]mqx',
'ubains-meeting-api-1.0-SNAPSHOT.jar', 'ubains-meeting-inner-api-1.0-SNAPSHOT.jar', 'uwsgi'] 'ubains-meeting-api-1.0-SNAPSHOT.jar', 'ubains-meeting-inner-api-1.0-SNAPSHOT.jar', 'uwsgi']
...@@ -26,6 +26,7 @@ class Server_monitoring_0001: ...@@ -26,6 +26,7 @@ class Server_monitoring_0001:
for key, value in info.items(): for key, value in info.items():
STEP(++i, f"服务器{key} 服务状态巡检") STEP(++i, f"服务器{key} 服务状态巡检")
INFO(f"监测到{key} 服务的状态:{value}") INFO(f"监测到{key} 服务的状态:{value}")
CHECK_POINT(f"{key}服务的状态是否正常", value == "服务正常") CHECK_POINT(f"{key} 服务状态是否正常", value == '服务正常')
else: else:
INFO("无法获取或解析文件内容") INFO("无法获取或解析文件内容")
\ No newline at end of file
执行 checkFirewalld:
防火墙状态:未启动
=============================================================================================
执行 checkService:
[m]ysql 服务正常
[r]edis 服务正常
[f]dfs_storaged 服务正常
[f]dfs_tracker 服务正常
[e]mqx 服务正常
ubains-meeting-api-1.0-SNAPSHOT.jar 服务正常
[u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常
[u]wsgi 服务正常
=============================================================================================
执行 checkDockerPort:
upython :::8000->8000/tcp,
upython :::8002->8002/tcp,
upython :::8081->8081/tcp,
upython :::8443->8443/tcp,
upython :::9009->9009/tcp
uplayer :::18000->8000/tcp,
uplayer :::18002->8002/tcp,
uplayer :::18081->8081/tcp,
uplayer :::18082->8082/tcp
umysql2 :::8306->3306/tcp
ujava2 :::443->443/tcp,
ujava2 :::554->554/tcp,
ujava2 :::1935->1935/tcp,
ujava2 :::2333-2334->2333-2334/tcp,
ujava2 :::8079-8080->8079-8080/tcp,
ujava2 :::8085-8088->8085-8088/tcp,
ujava2 :::8889->8889/tcp,
ujava2 :::8996-8999->8996-8999/tcp,
ujava2 :::10000->10000/tcp,
uredis :::6379->6379/tcp
uemqx :::1883->1883/tcp,
uemqx :::8083-8084->8083-8084/tcp,
uemqx :::8883->8883/tcp,
uemqx :::18083->18083/tcp,
=============================================================================================
执行 serverDataRecorder:
2024-12-20 09:59:03 [INFO] docker服务正常
2024-12-20 09:59:03 [INFO] [m]ysql 服务正常
2024-12-20 09:59:03 [INFO] [r]edis 服务正常
2024-12-20 09:59:03 [INFO] [f]dfs_storaged 服务正常
2024-12-20 09:59:03 [INFO] [f]dfs_tracker 服务正常
2024-12-20 09:59:03 [INFO] [e]pmd 服务正常
2024-12-20 09:59:03 [INFO] [u]wsgi 服务正常
2024-12-20 09:59:03 [INFO] ubains-meeting-api-1.0-SNAPSHOT.jar 服务正常
2024-12-20 09:59:03 [INFO] [u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check route
网络流量和连接信息 - 2024-12-20 09:59:03
路由配置表信息:
default via 192.168.5.1 dev enp4s1 proto static metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.5.0/24 dev enp4s1 proto kernel scope link src 192.168.5.218 metric 100
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check interface
网络流量和连接信息 - 2024-12-20 09:59:03
网络接口状态、MAC 和 IPv4 地址:
RTNETLINK answers: No such device
Cannot send link get request: No such device
lo:
状态: UNKNOWN
MAC地址:
IPv4地址: 127.0.0.1/8
RTNETLINK answers: No such device
Cannot send link get request: No such device
enp4s1:
状态: UP
MAC地址:
IPv4地址: 192.168.5.218/24
RTNETLINK answers: No such device
Cannot send link get request: No such device
docker0:
状态: UP
MAC地址:
IPv4地址: 172.17.0.1/16
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check connections
网络流量和连接信息 - 2024-12-20 09:59:03
网络连接和端口统计:
Netid State Local
tcp LISTEN 0.0.0.0:8085
tcp LISTEN 0.0.0.0:8086
tcp LISTEN 0.0.0.0:22
tcp LISTEN 0.0.0.0:8087
tcp LISTEN 0.0.0.0:8088
tcp LISTEN 0.0.0.0:23000
tcp LISTEN 0.0.0.0:8888
tcp LISTEN 0.0.0.0:8889
tcp LISTEN 0.0.0.0:8443
tcp LISTEN 0.0.0.0:443
tcp LISTEN 0.0.0.0:1883
tcp LISTEN 0.0.0.0:2333
tcp LISTEN 0.0.0.0:2334
tcp LISTEN 0.0.0.0:8000
tcp LISTEN 0.0.0.0:18081
tcp LISTEN 0.0.0.0:8002
tcp LISTEN 0.0.0.0:18082
tcp LISTEN 0.0.0.0:18083
tcp LISTEN 0.0.0.0:8996
tcp LISTEN 0.0.0.0:8997
tcp LISTEN 0.0.0.0:8998
tcp LISTEN 0.0.0.0:8999
tcp LISTEN 0.0.0.0:554
tcp LISTEN 0.0.0.0:22122
tcp LISTEN 0.0.0.0:6379
tcp LISTEN 0.0.0.0:1935
tcp LISTEN 0.0.0.0:8079
tcp LISTEN 0.0.0.0:111
tcp LISTEN 0.0.0.0:80
tcp LISTEN 0.0.0.0:8080
tcp LISTEN 0.0.0.0:10000
tcp LISTEN 0.0.0.0:18000
tcp LISTEN 0.0.0.0:8081
tcp LISTEN 0.0.0.0:9009
tcp LISTEN 0.0.0.0:8306
tcp LISTEN 0.0.0.0:18002
tcp LISTEN 0.0.0.0:8083
tcp LISTEN 0.0.0.0:8883
tcp LISTEN 0.0.0.0:8084
tcp LISTEN *:4443
tcp LISTEN *:8866
tcp LISTEN *:9090
tcp LISTEN *:8040
tcp LISTEN *:12371
tcp LISTEN *:11443
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check firewall
网络流量和连接信息 - 2024-12-20 09:59:03
防火墙规则:
Chain INPUT (policy ACCEPT 1878K packets, 952M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
22M 19G DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
22M 19G DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0
11M 5221M ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
137K 7342K DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
11M 14G ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 1834K packets, 947M bytes)
pkts bytes target prot opt in out source destination
Chain DOCKER (1 references)
pkts bytes target prot opt in out source destination
85 4420 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.4 tcp dpt:6379
82 4264 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8082
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8081
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8002
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8000
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:18083
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8084
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8083
105 5740 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:1883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:10000
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8999
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8998
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8997
85 5100 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8996
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8889
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8088
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8087
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8086
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8085
7 364 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8080
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8079
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:2334
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:2333
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:1935
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:554
584 37534 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:443
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9009
1593 82836 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8443
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8081
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8002
2036 106K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8000
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.3 tcp dpt:3306
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
pkts bytes target prot opt in out source destination
11M 14G DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
22M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * docker0 0.0.0.0/0 0.0.0.0/0
11M 14G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination
22M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check docker
网络流量和连接信息 - 2024-12-20 09:59:03
docker网络规则与MAC地址:
[
{
"Name": "bridge",
"Id": "8a099c24b4ce2392ffc682dd9ac9335abb6b70662798a35743fbcc3fb7d79982",
"Created": "2024-11-04T18:00:09.914749565+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"0349f1053421e48b415b0f4a6758df194a47616a309481fdfdae664c5e7bf1f3": {
"Name": "upython",
"EndpointID": "ea30a5f6b1bf305a3c10ac3a3d6c44503bb5c840c3aa1dbf49f30dc438125847",
"MacAddress": "02:42:ac:11:00:06",
"IPv4Address": "172.17.0.7/16",
"IPv6Address": ""
},
"23fbc1ed599f77c7562756d38d4e655d31a96a9a47978888629c50e556cc60ee": {
"Name": "umysql2",
"EndpointID": "4bb52b2d978dc90c57e0b5a89c623f6df8e4e844ac4bea45d385a9005386e72f",
"MacAddress": "02:42:ac:11:00:05",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
},
"8f87e78e4e9b419744799f32be396ebd55d0da21a7845d6854f3152cdd7e70da": {
"Name": "uemqx",
"EndpointID": "41cd86845237b7c2117b19b3cc28c9660fc5be6086e33562b2ce0c3d5de95793",
"MacAddress": "02:42:ac:12:00:06",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"9672005cfb3ceb4b26f8b58c317e2068e4f8b5508d7980873de3e6c1d71eda58": {
"Name": "uplayer",
"EndpointID": "43f4647ffd479f2460af5e63780695d1646e30a4b171aaab4056a29c931345ee",
"MacAddress": "02:42:ac:11:00:06",
"IPv4Address": "172.17.0.6/16",
"IPv6Address": ""
},
"b67149b24bb5d2ad2bc0c74dde784958c98ae1f10b5c3dee4eadd00787951b50": {
"Name": "uredis",
"EndpointID": "c978bb8d32e421565522bd85d16834c774aa49409588cb58df9aaba91d70fd3a",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
},
"e960786c759c953ab039a7dd72c72e789f7dc479cd42fed0ba9e5b5e1016d0bd": {
"Name": "ujava2",
"EndpointID": "5a4d8667c5fe60eeebe2966731029c0d77e998cceba972c353e38884613dbde5",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.5/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getMysqlStatus
参数2: Ubains@123
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
创建表失败
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
插入记录失败
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
查询记录失败
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
更新记录失败
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
删除记录失败
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getRedisStatus
参数2: Ubains@123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
response 为: PONG
Redis 服务器连接成功
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
set_response 为: OK
Redis 服务器设置成功
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
get_response 为: test_value
Redis 服务器获取成功
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
del_response 为: 1
Redis 服务器删除成功
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getFastdfsStatus
参数2: analyzePosition getFastdfsStatus
fastdfs文件上传成功
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getNginxStatus
参数2: analyzePosition getNginxStatus
Nginx配置文件正确
HTTP 响应代码: 200
HTTP请求正常
=============================================================================================
...@@ -25,7 +25,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -25,7 +25,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../测试数据/登录模块/账号密码登录.csv') csv_file_path = os.path.join(current_dir, '../../测试数据/登录模块/账号密码登录.csv')
class Login_00x: class Login_00x:
tags = ['登录功能' , '后台管理功能'] tags = ['登录功能' , '后台管理功能','预定系统功能']
""" """
执行指令是: 执行指令是:
1.cd 预定系统 1.cd 预定系统
......
...@@ -20,7 +20,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -20,7 +20,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../测试数据/系统设置模块/系统设置.csv') csv_file_path = os.path.join(current_dir, '../../测试数据/系统设置模块/系统设置.csv')
class System_Setting_000x: class System_Setting_000x:
tags = ['系统设置功能'] tags = ['系统设置功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -32,7 +32,7 @@ logging.basicConfig( ...@@ -32,7 +32,7 @@ logging.basicConfig(
class User_Chanage_Pwd_000x: class User_Chanage_Pwd_000x:
tags = ['用户管理功能' , '后台管理功能'] tags = ['用户管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -31,7 +31,7 @@ logging.basicConfig( ...@@ -31,7 +31,7 @@ logging.basicConfig(
) )
class Add_User_000x: class Add_User_000x:
tags = ['用户管理功能' , '后台管理功能'] tags = ['用户管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -27,7 +27,7 @@ logging.basicConfig( ...@@ -27,7 +27,7 @@ logging.basicConfig(
) )
class Query_User_000x: class Query_User_000x:
tags = ['用户管理功能' , '后台管理功能'] tags = ['用户管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -27,7 +27,7 @@ logging.basicConfig( ...@@ -27,7 +27,7 @@ logging.basicConfig(
) )
class Delete_User_000x: class Delete_User_000x:
tags = ['用户管理功能' , '后台管理功能'] tags = ['用户管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -31,7 +31,7 @@ logging.basicConfig( ...@@ -31,7 +31,7 @@ logging.basicConfig(
) )
class User_Status_000x: class User_Status_000x:
tags = ['用户管理功能' , '后台管理功能'] tags = ['用户管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -31,7 +31,7 @@ logging.basicConfig( ...@@ -31,7 +31,7 @@ logging.basicConfig(
) )
class User_Edit_000x: class User_Edit_000x:
tags = ['用户管理功能' , '后台管理功能'] tags = ['用户管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -15,7 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -15,7 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门编辑.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门编辑.csv')
class Department_Edit_000x: class Department_Edit_000x:
tags = ['部门管理功能' , '后台管理功能'] tags = ['部门管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -20,7 +20,7 @@ class Main_Department_Manage_000x: ...@@ -20,7 +20,7 @@ class Main_Department_Manage_000x:
1.cd 预定系统 1.cd 预定系统
2.hytest --report_title 部门主流程测试报告 --test 部门主流程_0** 2.hytest --report_title 部门主流程测试报告 --test 部门主流程_0**
""" """
tags = ['部门管理功能' , '后台管理功能'] tags = ['部门管理功能' , '后台管理功能','预定系统功能']
ddt_cases = read_csv_data(csv_file_path) ddt_cases = read_csv_data(csv_file_path)
def teststeps(self): def teststeps(self):
......
...@@ -15,7 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -15,7 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门新增.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门新增.csv')
class Department_Add_000x: class Department_Add_000x:
tags = ['部门管理功能' , '后台管理功能'] tags = ['部门管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -15,7 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -15,7 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门删除.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门删除.csv')
class Department_Add_000x: class Department_Add_000x:
tags = ['部门管理功能' , '后台管理功能'] tags = ['部门管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -15,7 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__)) ...@@ -15,7 +15,7 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门查询.csv') csv_file_path = os.path.join(current_dir, '../../../测试数据/账号管理/部门管理模块/部门查询.csv')
class Department_Query_000x: class Department_Query_000x:
tags = ['部门管理功能' , '后台管理功能'] tags = ['部门管理功能' , '后台管理功能','预定系统功能']
""" """
执行指令: 执行指令:
1.cd 预定系统 1.cd 预定系统
......
...@@ -38,19 +38,431 @@ uemqx :::8883->8883/tcp, ...@@ -38,19 +38,431 @@ uemqx :::8883->8883/tcp,
uemqx :::18083->18083/tcp, uemqx :::18083->18083/tcp,
============================================================================================= =============================================================================================
执行 serverDataRecorder: 执行 serverDataRecorder:
2024-12-20 09:59:03 [INFO] docker服务正常 2024-12-19 17:47:01 [INFO] docker服务正常
2024-12-20 09:59:03 [INFO] [m]ysql 服务正常 2024-12-19 17:47:01 [INFO] [m]ysql 服务正常
2024-12-20 09:59:03 [INFO] [r]edis 服务正常 2024-12-19 17:47:01 [INFO] [r]edis 服务正常
2024-12-20 09:59:03 [INFO] [f]dfs_storaged 服务正常 2024-12-19 17:47:01 [INFO] [f]dfs_storaged 服务正常
2024-12-20 09:59:03 [INFO] [f]dfs_tracker 服务正常 2024-12-19 17:47:01 [INFO] [f]dfs_tracker 服务正常
2024-12-20 09:59:03 [INFO] [e]pmd 服务正常 2024-12-19 17:47:01 [INFO] [e]pmd 服务正常
2024-12-20 09:59:03 [INFO] [u]wsgi 服务正常 2024-12-19 17:47:01 [INFO] [u]wsgi 服务正常
2024-12-20 09:59:03 [INFO] ubains-meeting-api-1.0-SNAPSHOT.jar 服务正常 2024-12-19 17:47:01 [INFO] ubains-meeting-api-1.0-SNAPSHOT.jar 服务正常
2024-12-20 09:59:03 [INFO] [u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常 2024-12-19 17:47:01 [INFO] [u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常
=============================================================================================
执行 check_cpu_usage:
2024-12-19 17:47:01 [INFO] 【check_cpu_usage】 High CPU usage detected. Count: 1
执行 checkFirewalld:
防火墙状态:未启动
=============================================================================================
执行 checkService:
[m]ysql 服务正常
[r]edis 服务正常
[f]dfs_storaged 服务正常
[f]dfs_tracker 服务正常
[e]mqx 服务正常
ubains-meeting-api-1.0-SNAPSHOT.jar 服务正常
[u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常
[u]wsgi 服务正常
=============================================================================================
执行 checkDockerPort:
upython :::8000->8000/tcp,
upython :::8002->8002/tcp,
upython :::8081->8081/tcp,
upython :::8443->8443/tcp,
upython :::9009->9009/tcp
uplayer :::18000->8000/tcp,
uplayer :::18002->8002/tcp,
uplayer :::18081->8081/tcp,
uplayer :::18082->8082/tcp
umysql2 :::8306->3306/tcp
ujava2 :::443->443/tcp,
ujava2 :::554->554/tcp,
ujava2 :::1935->1935/tcp,
ujava2 :::2333-2334->2333-2334/tcp,
ujava2 :::8079-8080->8079-8080/tcp,
ujava2 :::8085-8088->8085-8088/tcp,
ujava2 :::8889->8889/tcp,
ujava2 :::8996-8999->8996-8999/tcp,
ujava2 :::10000->10000/tcp,
uredis :::6379->6379/tcp
uemqx :::1883->1883/tcp,
uemqx :::8083-8084->8083-8084/tcp,
uemqx :::8883->8883/tcp,
uemqx :::18083->18083/tcp,
=============================================================================================
执行 serverDataRecorder:
2024-12-19 17:47:05 [INFO] docker服务正常
2024-12-19 17:47:05 [INFO] [m]ysql 服务正常
2024-12-19 17:47:05 [INFO] [r]edis 服务正常
2024-12-19 17:47:05 [INFO] [f]dfs_storaged 服务正常
2024-12-19 17:47:05 [INFO] [f]dfs_tracker 服务正常
2024-12-19 17:47:05 [INFO] [e]pmd 服务正常
2024-12-19 17:47:05 [INFO] [u]wsgi 服务正常
2024-12-19 17:47:05 [INFO] ubains-meeting-api-1.0-SNAPSHOT.jar 服务正常
2024-12-19 17:47:05 [INFO] [u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常
=============================================================================================
执行 check_cpu_usage:
2024-12-19 17:47:05 [INFO] 【check_cpu_usage】 High CPU usage detected. Count: 1
2024-12-19 17:47:10 [INFO] 【check_cpu_usage】 High CPU usage detected. Count: 2
2024-12-19 17:47:15 [INFO] 【check_cpu_usage】 High CPU usage detected. Count: 3
2024-12-19 17:47:20 [INFO] 【check_cpu_usage】 High CPU usage detected. Count: 4
2024-12-19 17:47:25 [INFO] 【check_cpu_usage】 High CPU usage detected. Count: 5
2024-12-19 17:47:30 [INFO] 【check_cpu_usage】 CPU usage of mysqld (PID: 332866) has been above 80% for 5 consecutive checks.
2024-12-19 17:47:30 [INFO] 【check_cpu_usage】 Attempting to restart: mysql
2024-12-19 17:47:30 [INFO] 【check_cpu_usage】 找到容器: umysql2
umysql2
2024-12-19 17:47:35 [INFO] 【check_cpu_usage】 Service mysql restarted successfully.
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check route
网络流量和连接信息 - 2024-12-19 17:47:35
路由配置表信息:
default via 192.168.5.1 dev enp4s1 proto static metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.5.0/24 dev enp4s1 proto kernel scope link src 192.168.5.218 metric 100
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check interface
网络流量和连接信息 - 2024-12-19 17:47:35
网络接口状态、MAC 和 IPv4 地址:
RTNETLINK answers: No such device
Cannot send link get request: No such device
lo:
状态: UNKNOWN
MAC地址:
IPv4地址: 127.0.0.1/8
RTNETLINK answers: No such device
Cannot send link get request: No such device
enp4s1:
状态: UP
MAC地址:
IPv4地址: 192.168.5.218/24
RTNETLINK answers: No such device
Cannot send link get request: No such device
docker0:
状态: UP
MAC地址:
IPv4地址: 172.17.0.1/16
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check connections
网络流量和连接信息 - 2024-12-19 17:47:35
网络连接和端口统计:
Netid State Local
tcp LISTEN 0.0.0.0:8085
tcp LISTEN 0.0.0.0:8086
tcp LISTEN 0.0.0.0:22
tcp LISTEN 0.0.0.0:8087
tcp LISTEN 0.0.0.0:8088
tcp LISTEN 0.0.0.0:23000
tcp LISTEN 0.0.0.0:8888
tcp LISTEN 0.0.0.0:8889
tcp LISTEN 0.0.0.0:8443
tcp LISTEN 0.0.0.0:443
tcp LISTEN 0.0.0.0:1883
tcp LISTEN 0.0.0.0:2333
tcp LISTEN 0.0.0.0:2334
tcp LISTEN 0.0.0.0:8000
tcp LISTEN 0.0.0.0:18081
tcp LISTEN 0.0.0.0:8002
tcp LISTEN 0.0.0.0:18082
tcp LISTEN 0.0.0.0:18083
tcp LISTEN 0.0.0.0:8996
tcp LISTEN 0.0.0.0:8997
tcp LISTEN 0.0.0.0:8998
tcp LISTEN 0.0.0.0:8999
tcp LISTEN 0.0.0.0:554
tcp LISTEN 0.0.0.0:22122
tcp LISTEN 0.0.0.0:6379
tcp LISTEN 0.0.0.0:1935
tcp LISTEN 0.0.0.0:8079
tcp LISTEN 0.0.0.0:111
tcp LISTEN 0.0.0.0:80
tcp LISTEN 0.0.0.0:8080
tcp LISTEN 0.0.0.0:10000
tcp LISTEN 0.0.0.0:18000
tcp LISTEN 0.0.0.0:8081
tcp LISTEN 0.0.0.0:9009
tcp LISTEN 0.0.0.0:8306
tcp LISTEN 0.0.0.0:18002
tcp LISTEN 0.0.0.0:8083
tcp LISTEN 0.0.0.0:8883
tcp LISTEN 0.0.0.0:8084
tcp LISTEN *:4443
tcp LISTEN *:8866
tcp LISTEN *:9090
tcp LISTEN *:8040
tcp LISTEN *:12371
tcp LISTEN *:11443
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check firewall
网络流量和连接信息 - 2024-12-19 17:47:36
防火墙规则:
Chain INPUT (policy ACCEPT 11 packets, 648 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
21M 19G DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
21M 19G DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0
11M 5071M ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
133K 7133K DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
11M 14G ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 13 packets, 976 bytes)
pkts bytes target prot opt in out source destination
Chain DOCKER (1 references)
pkts bytes target prot opt in out source destination
85 4420 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.4 tcp dpt:6379
82 4264 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8082
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8081
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8002
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8000
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:18083
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8084
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8083
90 4944 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:1883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:10000
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8999
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8998
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8997
26 1560 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8996
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8889
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8088
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8087
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8086
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8085
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8080
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8079
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:2334
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:2333
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:1935
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:554
101 8730 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:443
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9009
169 8788 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8443
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8081
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8002
93 4836 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8000
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.3 tcp dpt:3306
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
pkts bytes target prot opt in out source destination
11M 14G DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
21M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * docker0 0.0.0.0/0 0.0.0.0/0
11M 14G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination
21M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check docker
网络流量和连接信息 - 2024-12-19 17:47:36
docker网络规则与MAC地址:
[
{
"Name": "bridge",
"Id": "8a099c24b4ce2392ffc682dd9ac9335abb6b70662798a35743fbcc3fb7d79982",
"Created": "2024-11-04T18:00:09.914749565+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"0349f1053421e48b415b0f4a6758df194a47616a309481fdfdae664c5e7bf1f3": {
"Name": "upython",
"EndpointID": "ea30a5f6b1bf305a3c10ac3a3d6c44503bb5c840c3aa1dbf49f30dc438125847",
"MacAddress": "02:42:ac:11:00:06",
"IPv4Address": "172.17.0.7/16",
"IPv6Address": ""
},
"23fbc1ed599f77c7562756d38d4e655d31a96a9a47978888629c50e556cc60ee": {
"Name": "umysql2",
"EndpointID": "4bb52b2d978dc90c57e0b5a89c623f6df8e4e844ac4bea45d385a9005386e72f",
"MacAddress": "02:42:ac:11:00:05",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
},
"8f87e78e4e9b419744799f32be396ebd55d0da21a7845d6854f3152cdd7e70da": {
"Name": "uemqx",
"EndpointID": "41cd86845237b7c2117b19b3cc28c9660fc5be6086e33562b2ce0c3d5de95793",
"MacAddress": "02:42:ac:12:00:06",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"9672005cfb3ceb4b26f8b58c317e2068e4f8b5508d7980873de3e6c1d71eda58": {
"Name": "uplayer",
"EndpointID": "43f4647ffd479f2460af5e63780695d1646e30a4b171aaab4056a29c931345ee",
"MacAddress": "02:42:ac:11:00:06",
"IPv4Address": "172.17.0.6/16",
"IPv6Address": ""
},
"b67149b24bb5d2ad2bc0c74dde784958c98ae1f10b5c3dee4eadd00787951b50": {
"Name": "uredis",
"EndpointID": "c978bb8d32e421565522bd85d16834c774aa49409588cb58df9aaba91d70fd3a",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
},
"e960786c759c953ab039a7dd72c72e789f7dc479cd42fed0ba9e5b5e1016d0bd": {
"Name": "ujava2",
"EndpointID": "5a4d8667c5fe60eeebe2966731029c0d77e998cceba972c353e38884613dbde5",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.5/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getMysqlStatus
参数2: Ubains@123
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
创建表失败
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
插入记录失败
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
查询记录失败
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
更新记录失败
Error response from daemon: Container 09e2052db0540c47415193204c94fa2c71c0676375476b349de862936bbe1901 is not running
执行SQL语句时发生错误:
删除记录失败
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getRedisStatus
参数2: Ubains@123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
response 为: PONG
Redis 服务器连接成功
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
set_response 为: OK
Redis 服务器设置成功
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
get_response 为: test_value
Redis 服务器获取成功
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
del_response 为: 1
Redis 服务器删除成功
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getFastdfsStatus
参数2: analyzePosition getFastdfsStatus
fastdfs文件上传成功
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getNginxStatus
参数2: analyzePosition getNginxStatus
Nginx配置文件正确
HTTP 响应代码: 200
HTTP请求正常
=============================================================================================
执行 checkFirewalld:
防火墙状态:未启动
=============================================================================================
执行 checkService:
[m]ysql 服务正常
[r]edis 服务正常
[f]dfs_storaged 服务正常
[f]dfs_tracker 服务正常
[e]mqx 服务正常
ubains-meeting-api-1.0-SNAPSHOT.jar 服务正常
[u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常
[u]wsgi 服务正常
=============================================================================================
执行 checkDockerPort:
upython :::8000->8000/tcp,
upython :::8002->8002/tcp,
upython :::8081->8081/tcp,
upython :::8443->8443/tcp,
upython :::9009->9009/tcp
uplayer :::18000->8000/tcp,
uplayer :::18002->8002/tcp,
uplayer :::18081->8081/tcp,
uplayer :::18082->8082/tcp
umysql2 :::8306->3306/tcp
ujava2 :::443->443/tcp,
ujava2 :::554->554/tcp,
ujava2 :::1935->1935/tcp,
ujava2 :::2333-2334->2333-2334/tcp,
ujava2 :::8079-8080->8079-8080/tcp,
ujava2 :::8085-8088->8085-8088/tcp,
ujava2 :::8889->8889/tcp,
ujava2 :::8996-8999->8996-8999/tcp,
ujava2 :::10000->10000/tcp,
uredis :::6379->6379/tcp
uemqx :::1883->1883/tcp,
uemqx :::8083-8084->8083-8084/tcp,
uemqx :::8883->8883/tcp,
uemqx :::18083->18083/tcp,
=============================================================================================
执行 serverDataRecorder:
2024-12-19 17:55:10 [INFO] docker服务正常
2024-12-19 17:55:10 [INFO] [m]ysql 服务正常
2024-12-19 17:55:10 [INFO] [r]edis 服务正常
2024-12-19 17:55:10 [INFO] [f]dfs_storaged 服务正常
2024-12-19 17:55:10 [INFO] [f]dfs_tracker 服务正常
2024-12-19 17:55:10 [INFO] [e]pmd 服务正常
2024-12-19 17:55:10 [INFO] [u]wsgi 服务正常
2024-12-19 17:55:10 [INFO] ubains-meeting-api-1.0-SNAPSHOT.jar 服务正常
2024-12-19 17:55:10 [INFO] [u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常
=============================================================================================
执行 check_cpu_usage:
============================================================================================= =============================================================================================
执行 network_check: 执行 network_check:
Called network_check with parameters: network_check route Called network_check with parameters: network_check route
网络流量和连接信息 - 2024-12-20 09:59:03 网络流量和连接信息 - 2024-12-19 17:55:10
路由配置表信息: 路由配置表信息:
default via 192.168.5.1 dev enp4s1 proto static metric 100 default via 192.168.5.1 dev enp4s1 proto static metric 100
...@@ -59,7 +471,7 @@ default via 192.168.5.1 dev enp4s1 proto static metric 100 ...@@ -59,7 +471,7 @@ default via 192.168.5.1 dev enp4s1 proto static metric 100
============================================================================================= =============================================================================================
执行 network_check: 执行 network_check:
Called network_check with parameters: network_check interface Called network_check with parameters: network_check interface
网络流量和连接信息 - 2024-12-20 09:59:03 网络流量和连接信息 - 2024-12-19 17:55:10
网络接口状态、MAC 和 IPv4 地址: 网络接口状态、MAC 和 IPv4 地址:
RTNETLINK answers: No such device RTNETLINK answers: No such device
...@@ -86,7 +498,7 @@ docker0: ...@@ -86,7 +498,7 @@ docker0:
============================================================================================= =============================================================================================
执行 network_check: 执行 network_check:
Called network_check with parameters: network_check connections Called network_check with parameters: network_check connections
网络流量和连接信息 - 2024-12-20 09:59:03 网络流量和连接信息 - 2024-12-19 17:55:10
网络连接和端口统计: 网络连接和端口统计:
Netid State Local Netid State Local
...@@ -138,22 +550,22 @@ tcp LISTEN *:11443 ...@@ -138,22 +550,22 @@ tcp LISTEN *:11443
============================================================================================= =============================================================================================
执行 network_check: 执行 network_check:
Called network_check with parameters: network_check firewall Called network_check with parameters: network_check firewall
网络流量和连接信息 - 2024-12-20 09:59:03 网络流量和连接信息 - 2024-12-19 17:55:10
防火墙规则: 防火墙规则:
Chain INPUT (policy ACCEPT 1878K packets, 952M bytes) Chain INPUT (policy ACCEPT 15567 packets, 8251K bytes)
pkts bytes target prot opt in out source destination pkts bytes target prot opt in out source destination
Chain FORWARD (policy DROP 0 packets, 0 bytes) Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination pkts bytes target prot opt in out source destination
22M 19G DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0 21M 19G DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
22M 19G DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0 21M 19G DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0
11M 5221M ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 11M 5073M ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
137K 7342K DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0 133K 7136K DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
11M 14G ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0 11M 14G ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 1834K packets, 947M bytes) Chain OUTPUT (policy ACCEPT 15163 packets, 8234K bytes)
pkts bytes target prot opt in out source destination pkts bytes target prot opt in out source destination
Chain DOCKER (1 references) Chain DOCKER (1 references)
...@@ -167,35 +579,35 @@ Chain DOCKER (1 references) ...@@ -167,35 +579,35 @@ Chain DOCKER (1 references)
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8883 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8084 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8084
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8083 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:8083
105 5740 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:1883 94 5152 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:1883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:10000 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:10000
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8999 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8999
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8998 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8998
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8997 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8997
85 5100 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8996 27 1620 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8996
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8889 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8889
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8088 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8088
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8087 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8087
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8086 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8086
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8085 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8085
7 364 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8080 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8080
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8079 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:8079
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:2334 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:2334
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:2333 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:2333
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:1935 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:1935
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:554 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:554
584 37534 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:443 105 8970 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:443
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9009 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9009
1593 82836 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8443 191 9932 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8443
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8081 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8081
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8002 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8002
2036 106K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8000 109 5668 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8000
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.3 tcp dpt:3306 0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.3 tcp dpt:3306
Chain DOCKER-ISOLATION-STAGE-1 (1 references) Chain DOCKER-ISOLATION-STAGE-1 (1 references)
pkts bytes target prot opt in out source destination pkts bytes target prot opt in out source destination
11M 14G DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0 11M 14G DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
22M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 21M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-ISOLATION-STAGE-2 (1 references) Chain DOCKER-ISOLATION-STAGE-2 (1 references)
pkts bytes target prot opt in out source destination pkts bytes target prot opt in out source destination
...@@ -204,11 +616,11 @@ Chain DOCKER-ISOLATION-STAGE-2 (1 references) ...@@ -204,11 +616,11 @@ Chain DOCKER-ISOLATION-STAGE-2 (1 references)
Chain DOCKER-USER (1 references) Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination pkts bytes target prot opt in out source destination
22M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 21M 19G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
============================================================================================= =============================================================================================
执行 network_check: 执行 network_check:
Called network_check with parameters: network_check docker Called network_check with parameters: network_check docker
网络流量和连接信息 - 2024-12-20 09:59:03 网络流量和连接信息 - 2024-12-19 17:55:10
docker网络规则与MAC地址: docker网络规则与MAC地址:
[ [
...@@ -344,3 +756,420 @@ Nginx配置文件正确 ...@@ -344,3 +756,420 @@ Nginx配置文件正确
HTTP 响应代码: 200 HTTP 响应代码: 200
HTTP请求正常 HTTP请求正常
============================================================================================= =============================================================================================
执行 checkFirewalld:
防火墙状态:未启动
=============================================================================================
执行 checkService:
[m]ysql 服务正常
[r]edis 服务正常
[f]dfs_storaged 服务正常
[f]dfs_tracker 服务正常
[e]mqx 服务正常
[u]bains-meeting-api-1.0-SNAPSHOT.jar 服务正常
[u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务正常
[u]wsgi 服务正常
=============================================================================================
执行 checkDockerPort:
=============================================================================================
执行 serverDataRecorder:
2024-12-25 18:53:44 [INFO] docker服务正常
2024-12-25 18:53:44 [ERROR] [m]ysql 服务异常,存在多个服务
2024-12-25 18:53:44 [INFO] [r]edis 服务正常
2024-12-25 18:53:44 [INFO] [f]dfs_storaged 服务正常
2024-12-25 18:53:44 [INFO] [f]dfs_tracker 服务正常
2024-12-25 18:53:44 [INFO] [e]pmd 服务正常
2024-12-25 18:53:45 [INFO] [u]wsgi 服务正常
2024-12-25 18:53:45 [INFO] [u]bains-meeting-api-1.0-SNAPSHOT.jar 服务正常
2024-12-25 18:53:45 [ERROR] [u]bains-meeting-inner-api-1.0-SNAPSHOT.jar 服务异常,存在多个服务
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check route
网络流量和连接信息 - 2024-12-25 18:53:45
路由配置表信息:
default via 192.168.5.1 dev enp5s0 proto static metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.18.0.0/16 dev br-c999df5d76d3 proto kernel scope link src 172.18.0.1
172.19.0.0/16 dev br-95cb440b284f proto kernel scope link src 172.19.0.1
192.168.5.0/24 dev enp5s0 proto kernel scope link src 192.168.5.200 metric 100
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check interface
网络流量和连接信息 - 2024-12-25 18:53:45
网络接口状态、MAC 和 IPv4 地址:
RTNETLINK answers: No such device
Cannot send link get request: No such device
lo:
状态: UNKNOWN
MAC地址:
IPv4地址: 127.0.0.1/8
RTNETLINK answers: No such device
Cannot send link get request: No such device
enp5s0:
状态: UP
MAC地址:
IPv4地址: 192.168.5.200/24
Error: argument "br-95cb440b284f:" is wrong: "name" too long
br-95cb440b284f:
状态: DOWN
MAC地址:
IPv4地址: 172.19.0.1/16
RTNETLINK answers: No such device
Cannot send link get request: No such device
docker0:
状态: UP
MAC地址:
IPv4地址: 172.17.0.1/16
Error: argument "br-c999df5d76d3:" is wrong: "name" too long
br-c999df5d76d3:
状态: DOWN
MAC地址:
IPv4地址: 172.18.0.1/16
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check connections
网络流量和连接信息 - 2024-12-25 18:53:45
网络连接和端口统计:
Netid State Local
tcp LISTEN 127.0.0.1:199
tcp LISTEN *:27017
tcp LISTEN *:22122
tcp LISTEN *:1554
tcp LISTEN *:10100
tcp LISTEN *:22
tcp LISTEN *:10935
tcp LISTEN *:23000
tcp LISTEN *:8888
tcp LISTEN 127.0.0.1:25
tcp LISTEN 127.0.0.1:6010
tcp LISTEN :::2333
tcp LISTEN :::2334
tcp LISTEN :::8000
tcp LISTEN :::38080
tcp LISTEN :::39200
tcp LISTEN :::30880
tcp LISTEN :::4000
tcp LISTEN :::39201
tcp LISTEN :::30881
tcp LISTEN :::8002
tcp LISTEN :::8866
tcp LISTEN :::18082
tcp LISTEN :::30882
tcp LISTEN :::18083
tcp LISTEN :::30883
tcp LISTEN :::38083
tcp LISTEN :::8996
tcp LISTEN :::39204
tcp LISTEN :::30884
tcp LISTEN :::8997
tcp LISTEN :::38085
tcp LISTEN :::8998
tcp LISTEN :::9990
tcp LISTEN :::8999
tcp LISTEN :::9992
tcp LISTEN :::9001
tcp LISTEN :::62121
tcp LISTEN :::11211
tcp LISTEN :::6379
tcp LISTEN :::9006
tcp LISTEN :::8079
tcp LISTEN :::8080
tcp LISTEN :::8848
tcp LISTEN :::80
tcp LISTEN :::10800
tcp LISTEN :::8081
tcp LISTEN :::9009
tcp LISTEN :::9905
tcp LISTEN :::1554
tcp LISTEN :::8082
tcp LISTEN :::9906
tcp LISTEN :::8306
tcp LISTEN :::8883
tcp LISTEN :::8083
tcp LISTEN :::9907
tcp LISTEN :::8084
tcp LISTEN :::9908
tcp LISTEN :::38996
tcp LISTEN :::8085
tcp LISTEN :::9909
tcp LISTEN :::8086
tcp LISTEN :::9910
tcp LISTEN :::22
tcp LISTEN :::8087
tcp LISTEN :::38999
tcp LISTEN :::9911
tcp LISTEN :::8088
tcp LISTEN :::9848
tcp LISTEN :::8889
tcp LISTEN ::1:25
tcp LISTEN ::1:6010
tcp LISTEN :::1882
tcp LISTEN :::13306
tcp LISTEN :::1883
tcp LISTEN :::443
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check firewall
网络流量和连接信息 - 2024-12-25 18:53:45
防火墙规则:
Chain INPUT (policy ACCEPT 457K packets, 485M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
534M 681G DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
534M 681G DOCKER-ISOLATION-STAGE-1 all -- * * 0.0.0.0/0 0.0.0.0/0
253M 114G ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
1998K 120M DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
279M 567G ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * br-c999df5d76d3 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- * br-c999df5d76d3 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br-c999df5d76d3 !br-c999df5d76d3 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br-c999df5d76d3 br-c999df5d76d3 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * br-95cb440b284f 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- * br-95cb440b284f 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br-95cb440b284f !br-95cb440b284f 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- br-95cb440b284f br-95cb440b284f 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 462K packets, 467M bytes)
pkts bytes target prot opt in out source destination
Chain DOCKER (3 references)
pkts bytes target prot opt in out source destination
221 11580 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.2 tcp dpt:80
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.3 tcp dpt:3306
2288 124K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.4 tcp dpt:3306
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.5 tcp dpt:6379
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8996
10035 538K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8083
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:30884
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:30883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:30882
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:30881
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:30880
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9911
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9910
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9909
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9908
207 10764 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9907
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9906
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9905
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9848
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9204
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9201
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:9200
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8999
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8085
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8848
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.7 tcp dpt:8080
1697K 102M ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8999
329 14868 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8998
386 19296 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8997
118K 7700K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8996
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8889
3532 160K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8088
24198 1431K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8087
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8086
6400 356K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8085
4 240 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8083
18646 1026K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8080
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:8079
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:2334
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:2333
318 16568 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.8 tcp dpt:443
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.9 tcp dpt:18083
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.9 tcp dpt:8883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.9 tcp dpt:8084
34239 1792K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.9 tcp dpt:8083
31404 1883K ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.9 tcp dpt:1883
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:11211
160 9600 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:9009
201 10940 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:9001
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8082
69 3620 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8081
14 728 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8002
0 0 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:8000
53 3084 ACCEPT tcp -- !docker0 docker0 0.0.0.0/0 172.17.0.6 tcp dpt:1883
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
pkts bytes target prot opt in out source destination
279M 567G DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
0 0 DOCKER-ISOLATION-STAGE-2 all -- br-c999df5d76d3 !br-c999df5d76d3 0.0.0.0/0 0.0.0.0/0
0 0 DOCKER-ISOLATION-STAGE-2 all -- br-95cb440b284f !br-95cb440b284f 0.0.0.0/0 0.0.0.0/0
534M 681G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-ISOLATION-STAGE-2 (3 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * docker0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * br-c999df5d76d3 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * br-95cb440b284f 0.0.0.0/0 0.0.0.0/0
279M 567G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination
534M 681G RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
=============================================================================================
执行 network_check:
Called network_check with parameters: network_check docker
网络流量和连接信息 - 2024-12-25 18:53:45
docker网络规则与MAC地址:
[
{
"Name": "bridge",
"Id": "81735dd054c49aa39af2daebb6280412ec61f14a9b61a8223f30cceb7beb6926",
"Created": "2024-09-23T09:24:44.731448957+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"17804d817abc1bf6394114ac1ea28f7bd7abe046334d6b7e315dfcffd03a6b1a": {
"Name": "upython2",
"EndpointID": "aebe2af338d808b12e8c9443d302fb86063e09814c94bd17fcb6d33638031fd9",
"MacAddress": "02:42:ac:11:00:06",
"IPv4Address": "172.17.0.6/16",
"IPv6Address": ""
},
"317f7e18dd4150a90cd25fc10afc7c9dbb206781abc570c55bf65087209e5cc5": {
"Name": "unginx",
"EndpointID": "9e7ad51468852e6967d33e3b69e88afa5a224fd59d3f6ce7cc435930b23fef54",
"MacAddress": "02:42:ac:11:00:07",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"3f6bfda59b0abe975fba8cb5f43645ab67e533d0a5948027a6b1782edd15ecbf": {
"Name": "uemqx",
"EndpointID": "961d7a5082a07caf7e553fb3ba772f2f728ac1f4bb38d369980a126d8b295284",
"MacAddress": "02:42:ac:12:00:06",
"IPv4Address": "172.17.0.9/16",
"IPv6Address": ""
},
"62ef316c5ac781540ec640f5c8b3553f1450676467143473a091b20c01755d63": {
"Name": "uredis",
"EndpointID": "55d66a6b55ddb7c466d8231f90f52cc5f839fdceb9b168cdce947a5249741df8",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.5/16",
"IPv6Address": ""
},
"75e6ea2bdc5451f507271d6e79346193be2d2c82dcaf73e785c12276646e2e41": {
"Name": "mysql8",
"EndpointID": "95b5647d3f943acebf809d2a9c59336705d075d9aa847152818fc1d54740d3fa",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
},
"7caa5636ca1b9cbb15b2b9229415428ca0e7b1481a4c2bee9b3cea058c68bbe5": {
"Name": "ujava5",
"EndpointID": "ed6f881f3fa844bfd28e8d9852b1578fbd6cb8a4c95a613e21c1867e4db7e432",
"MacAddress": "02:42:ac:11:00:10",
"IPv4Address": "172.17.0.7/16",
"IPv6Address": ""
},
"7f56fe9ee118617653ebe1585fa886bfe76f48a9beb0784b495045e0e603cb31": {
"Name": "umysql",
"EndpointID": "7023eee94c96e55ac43f1d0c2bc6c650e78e53f55b2bdeda9cb98c565a4d565f",
"MacAddress": "02:42:ac:11:00:01",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
},
"b32acb541c26201c319901e5d1eb31ff0750aefe6e92af0df363d31505c26066": {
"Name": "ujava230705",
"EndpointID": "fef91b2d78846731b19d01bbda51c255f8486234f97b7ee499fb4f5809c07581",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.8/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getMysqlStatus
参数2: Ubains@123
mysql: [Warning] Using a password on the command line interface can be insecure.
CREATE TABLE IF NOT EXISTS test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL);
执行SQL语句成功
mysql: [Warning] Using a password on the command line interface can be insecure.
INSERT INTO test_table (name) VALUES ('Test Name');
执行SQL语句成功
mysql: [Warning] Using a password on the command line interface can be insecure.
SELECT * FROM test_table;
执行SQL语句成功
mysql: [Warning] Using a password on the command line interface can be insecure.
UPDATE test_table SET name = 'Updated Name' WHERE name = 'Test Name';
执行SQL语句成功
mysql: [Warning] Using a password on the command line interface can be insecure.
DELETE FROM test_table WHERE name = 'Updated Name';
执行SQL语句成功
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getRedisStatus
参数2: Ubains@123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Warning: AUTH failed
response 为: NOAUTH Authentication required.
Redis 服务器连接失败
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Warning: AUTH failed
set_response 为: NOAUTH Authentication required.
Redis 服务器设置失败
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Warning: AUTH failed
get_response 为: NOAUTH Authentication required.
Redis 服务器获取失败
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
Warning: AUTH failed
del_response 为: NOAUTH Authentication required.
Redis 服务器删除失败
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getFastdfsStatus
参数2: analyzePosition getFastdfsStatus
fastdfs文件上传成功
=============================================================================================
执行 analyzePosition:
服务器状态分析 - getNginxStatus
参数2: analyzePosition getNginxStatus
Nginx配置文件[错误]
HTTP 响应代码: 000
HTTP请求异常
=============================================================================================
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 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,否,这是模板,开会前一天提醒,短信,修改会议成功 会议修改_001,这是周期会议测试1,这是周期会议测试1,周期会议,每天,修改将来所有会议,陈泽键,这是会议内容哈哈,23:15,23:30,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一天提醒,短信,修改会议成功
会议修改_002,这是普通会议测试2,修改会议测试,普通会议,每天,修改将来所有会议,陈泽键修改,这是会议内容修改,21:00,22:15,admin@ZDH,陈修泽,17319004673,是,这是模板名称,全选,邮件,修改会议成功 会议修改_002,这是普通会议测试2,修改会议测试,普通会议,每天,修改将来所有会议,陈泽键修改,这是会议内容修改,21:00,21:15,admin@ZDH,陈修泽,17319004673,是,这是模板名称,全选,邮件,修改会议成功
会议修改_003,这是普通会议测试3,这是普通会议测试3,普通,每天,仅修改此会议,陈泽键,这是会议内容哈哈这是会议内容哈哈这是会议内容哈哈,23:00,23:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一小时提醒,全选,修改会议成功 会议修改_003,这是普通会议测试3,这是普通会议测试3,普通会议,每天,仅修改此会议,陈泽键,这是会议内容哈哈这是会议内容哈哈这是会议内容哈哈,22:00,22:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一小时提醒,全选,修改会议成功
\ No newline at end of file \ No newline at end of file
name,message_name,check_text name,message_name,check_text
会议删除_001,这是普通会议测试3,删除成功 会议删除_001,这是普通会议测试3,删除成功
会议删除_002,修改会议测试,删除成功
\ No newline at end of file
name,conference_name,message_name,book_start_time,book_end_time,book_check_text name,conference_name,message_name,book_start_time,book_end_time,book_check_text
会议状态设置_001,产研中心会议室,哈哈哈哈会议,10:45,11:00,预定成功 会议状态设置_001,预约会议室,哈哈哈哈会议,18:00,18:15,预定成功
\ No newline at end of file \ No newline at end of file
name,conference_name,message_name,book_type,repetitive_cycle,host_name,message_content,issue_name,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 name,conference_name,message_name,book_type,repetitive_cycle,host_name,message_content,issue_name,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,否,这是模板,开会前一天提醒,短信,预定成功 会议预约_001,预约会议室,这是周期会议测试1,周期会议,每天,陈泽键,这是会议内容哈哈,议题1,23:15,23:30,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一天提醒,短信,预定成功
会议预约_002,产研中心会议室,这是普通会议测试2,普通会议,每天,陈泽键,这是会议内容嘿嘿,议题2,21:00,22:15,admin@CZJ,陈泽坚,17319004674,是,这是模板名称,全选,邮件,预定成功 会议预约_002,预约会议室,这是普通会议测试2,普通会议,每天,陈泽键,这是会议内容嘿嘿,议题2,21:00,21:15,admin@CZJ,陈泽坚,17319004674,是,这是模板名称,全选,邮件,预定成功
会议预约_003,产研中心会议室,这是普通会议测试3,普通,每天,陈泽键,这是会议内容哈哈这是会议内容哈哈这是会议内容哈哈,议题3,23:00,23:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一小时提醒,全选,预定成功 会议预约_003,预约会议室,这是普通会议测试3,普通会议,每天,陈泽键,这是会议内容哈哈这是会议内容哈哈这是会议内容哈哈,议题3,22:00,22:15,admin@CZJ,陈泽坚,17319004674,否,这是模板,开会前一小时提醒,全选,预定成功
\ No newline at end of file \ No newline at end of file
name,conference_name,message_name,book_start_time,book_end_time,approval_type,approval_opinion,check_text
审批会议操作_001,产研中心会议室,这是审批不通过会议,18:00,18:15,驳回,审批驳回了,会议正在审批中
审批会议操作_002,产研中心会议室,这是审批通过会议,18:00,18:15,通过,通过了,会议正在审批中
\ No newline at end of file
name,conference_name,message_name,book_start_time,book_end_time,check_text name,conference_name,message_name,book_start_time,book_end_time,check_text
审批会议预约_001,产研中心会议室,这是审批会议,15:00,15:15,会议正在审批中 审批会议预约_001,产研中心会议室,这是审批会议,18:00,18:15,会议正在审批中
\ No newline at end of file \ No newline at end of file
...@@ -9,4 +9,3 @@ name,conference_name,del_type,check_text ...@@ -9,4 +9,3 @@ name,conference_name,del_type,check_text
会议室删除_008,测试会议室6,批量删除,删除成功 会议室删除_008,测试会议室6,批量删除,删除成功
会议室删除_009,测试会议室7,批量删除,删除成功 会议室删除_009,测试会议室7,批量删除,删除成功
会议室删除_010,测试会议室8,批量删除,删除成功 会议室删除_010,测试会议室8,批量删除,删除成功
会议室删除_011,测试会议室9,批量删除,删除成功
\ No newline at end of file
name,conference_name,conference_token,conference_function,conference_capacity,check_text,back_check_text name,conference_name,conference_token,conference_function,conference_capacity,check_text,back_check_text
会议室新增_001,,CCA-8YC-0002,Test01,10,输入会议室名称,添加成功 会议室新增_001,,CCA-8YC-0003,Test01,10,输入会议室名称,添加成功
会议室新增_002,测试会议室1,CCA-8YC-0003,Test02,2,添加成功,输入会议室名称 会议室新增_002,测试会议室1,CCA-8YC-0003,Test02,2,添加成功,输入会议室名称
会议室新增_003,测试会议室2,CCA-8YC-0003,Test03,2,添加成功,添加成功 会议室新增_003,测试会议室2,CCA-8YC-0004,Test03,2,添加成功,添加成功
会议室新增_004,测试会议室3,CCA-8YC-0004,Test04,3,添加成功,添加成功 会议室新增_004,测试会议室3,CCA-8YC-0005,Test04,3,添加成功,添加成功
会议室新增_005,测试会议室4,CCA-8YC-0005,Test05,4,添加成功,添加成功 会议室新增_005,测试会议室4,CCA-8YC-0006,Test05,4,添加成功,添加成功
会议室新增_006,测试会议室5,CCA-8YC-0006,Test01,5,添加成功,添加成功 会议室新增_006,测试会议室5,CCA-8YC-0007,Test01,5,添加成功,添加成功
会议室新增_007,测试会议室6,CCA-8YC-0007,Test02,6,添加成功,添加成功 会议室新增_007,测试会议室6,CCA-8YC-0008,Test02,6,添加成功,添加成功
会议室新增_008,测试会议室7,CCA-8YC-0008,Test03,7,添加成功,添加成功 会议室新增_008,测试会议室7,CCA-8YC-0009,Test03,7,添加成功,添加成功
会议室新增_009,测试会议室8,CCA-8YC-0009,Test04,8,添加成功,添加成功 会议室新增_009,测试会议室8,CCA-8YC-0010,Test04,8,添加成功,添加成功
会议室新增_010,测试会议室9,CCA-8YC-0010,Test05,9,添加成功,添加成功 \ No newline at end of file
\ No newline at end of file
name,conference_name,message_name,book_type,issue_name,book_start_time,book_end_time,message_notification,check_text name,conference_name,message_name,book_type,issue_name,book_start_time,book_end_time,message_notification,check_text
展厅巡检_001,展厅会议室,展厅巡检测试,普通会议,议题1,08:45,09:00,开会前一天提醒,预定成功 展厅巡检_001,展厅会议室,展厅巡检测试,普通会议,议题1,08:15,08:30,开会前一天提醒,预定成功
\ No newline at end of file \ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论