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

修正提交

上级 a88b23bb
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/预定系统/测试数据/会议室管理/会议室管理模块/会议室新增(1).csv" charset="US-ASCII" />
</component>
</project>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyMethodMayBeStaticInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="N812" />
<option value="N801" />
</list>
</option>
</inspection_tool>
<inspection_tool class="PyUnboundLocalVariableInspection" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.10 (ubains-module-test)" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<changelist name="在进行更新之前于_2024_12_25_15_15_取消提交了更改_[更改]" date="1735110930384" recycled="false" toDelete="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/在进行更新之前于_2024_12_25_15_15_取消提交了更改_[更改]/shelved.patch" />
<option name="DESCRIPTION" value="在进行更新之前于 2024/12/25 15:15 取消提交了更改 [更改]" />
</changelist>
\ No newline at end of file
Index: 运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>from lib.login import *\r\n\r\nclass AreafuntionAdd001:\r\n name = 'Areafuntion_add_001'\r\n def teststeps(self):\r\n wd = GSTORE['wd']\r\n\r\n STEP(1, '点击新增按钮')\r\n areafuntion_add = WebDriverWait(wd, 10).until(\r\n EC.element_to_be_clickable((By.XPATH, \"//div[@class='company-edmit-right']//span[contains(text(),'新增')]\"))\r\n )\r\n areafuntion_add.click()\r\n sleep(2)\r\n\r\n STEP(2, '填写功能名称')\r\n funtion_name = WebDriverWait(wd, 10).until(\r\n EC.presence_of_element_located((By.XPATH, \"//div[@class='el-input el-input--suffix']//input[@placeholder='请输入功能名称']\"))\r\n )\r\n funtion_name.clear()\r\n funtion_name.send_keys(\"测试功能1\")\r\n\r\n STEP(3, '填写排序')\r\n funtion_sort = WebDriverWait(wd, 10).until(\r\n EC.presence_of_element_located((By.XPATH, \"//input[@placeholder='排序']\"))\r\n )\r\n funtion_sort.clear()\r\n funtion_sort.send_keys(\"123\")\r\n\r\n STEP(4, '填写备注')\r\n funtion_remark = WebDriverWait(wd, 10).until(\r\n EC.presence_of_element_located(\r\n (By.XPATH, \"//input[@placeholder='备注']\"))\r\n )\r\n funtion_remark.clear()\r\n funtion_remark.send_keys(\"功能备注测试\")\r\n\r\n STEP(5, '点击确认')\r\n commit = WebDriverWait(wd, 10).until(\r\n EC.element_to_be_clickable((By.XPATH, \"//div[@class='dialog-footer']//span[contains(text(),'确 定')]\"))\r\n )\r\n commit.click()\r\n\r\n STEP(6, '验证是否新增成功')\r\n get_menu = WebDriverWait(wd, 10).until(\r\n EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))\r\n )\r\n get_menu1 = get_menu.text\r\n CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == \"操作成功!\")\r\n sleep(2)
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py b/运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py
--- a/运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py (revision eb07c1d175a11514b81b660684e8f7f16394b571)
+++ b/运维集控/项目测试/运维标准版/cases/05区域功能/01新增区域功能.py (date 1735028700001)
@@ -1,4 +1,4 @@
-from lib.login import *
+from 运维集控.项目测试.运维标准版.lib.login import *
class AreafuntionAdd001:
name = 'Areafuntion_add_001'
Index: .idea/misc.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=\"ProjectRootManager\" version=\"2\" project-jdk-name=\"Python 3.10\" project-jdk-type=\"Python SDK\" />\r\n</project>
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/.idea/misc.xml b/.idea/misc.xml
--- a/.idea/misc.xml (revision eb07c1d175a11514b81b660684e8f7f16394b571)
+++ b/.idea/misc.xml (date 1735028700067)
@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
+ <component name="Black">
+ <option name="sdkName" value="Python 3.10" />
+ </component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
</project>
\ 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=\"c611fa12-cf95-4015-91bc-655fca8727f9\" name=\"更改\" comment=\"\">\r\n <change beforePath=\"$PROJECT_DIR$/.idea/workspace.xml\" beforeDir=\"false\" afterPath=\"$PROJECT_DIR$/.idea/workspace.xml\" 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=\"Git.Settings\">\r\n <option name=\"RECENT_GIT_ROOT_PATH\" value=\"$PROJECT_DIR$/..\" />\r\n </component>\r\n <component name=\"ProjectColorInfo\">{\r\n &quot;associatedIndex&quot;: 1\r\n}</component>\r\n <component name=\"ProjectId\" id=\"2oHCs6mlWOf2wqcuRAkwXTXS0kl\" />\r\n <component name=\"ProjectViewState\">\r\n <option name=\"hideEmptyMiddlePackages\" value=\"true\" />\r\n <option name=\"showLibraryContents\" value=\"true\" />\r\n </component>\r\n <component name=\"PropertiesComponent\">{\r\n &quot;keyToString&quot;: {\r\n &quot;Python.登录测试.executor&quot;: &quot;Run&quot;,\r\n &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,\r\n &quot;git-widget-placeholder&quot;: &quot;develop&quot;,\r\n &quot;last_opened_file_path&quot;: &quot;D:/GithubData/ubains-module-test/ubains-module-test/预定系统&quot;,\r\n &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,\r\n &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;\r\n }\r\n}</component>\r\n <component name=\"SharedIndexes\">\r\n <attachedChunks>\r\n <set>\r\n <option value=\"bundled-python-sdk-d7ad00fb9fc3-c546a90a8094-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-242.23726.102\" />\r\n </set>\r\n </attachedChunks>\r\n </component>\r\n <component name=\"SpellCheckerSettings\" RuntimeDictionaries=\"0\" Folders=\"0\" CustomDictionaries=\"0\" DefaultDictionary=\"应用程序级\" UseSingleDictionary=\"true\" transferred=\"true\" />\r\n <component name=\"TaskManager\">\r\n <task active=\"true\" id=\"Default\" summary=\"默认任务\">\r\n <changelist id=\"c611fa12-cf95-4015-91bc-655fca8727f9\" name=\"更改\" comment=\"\" />\r\n <created>1730517317372</created>\r\n <option name=\"number\" value=\"Default\" />\r\n <option name=\"presentableId\" value=\"Default\" />\r\n <updated>1730517317372</updated>\r\n <workItem from=\"1730517318454\" duration=\"39000\" />\r\n <workItem from=\"1730517748773\" duration=\"156000\" />\r\n <workItem from=\"1730518030969\" duration=\"15000\" />\r\n </task>\r\n <servers />\r\n </component>\r\n <component name=\"TypeScriptGeneratedFilesManager\">\r\n <option name=\"version\" value=\"3\" />\r\n </component>\r\n <component name=\"com.intellij.coverage.CoverageDataManagerImpl\">\r\n <SUITE FILE_PATH=\"coverage/$.coverage\" NAME=\"登录测试 覆盖结果\" MODIFIED=\"1730517793653\" 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 eb07c1d175a11514b81b660684e8f7f16394b571)
+++ b/预定系统/.idea/workspace.xml (date 1735028444151)
@@ -36,7 +36,7 @@
<component name="SharedIndexes">
<attachedChunks>
<set>
- <option value="bundled-python-sdk-d7ad00fb9fc3-c546a90a8094-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-242.23726.102" />
+ <option value="bundled-python-sdk-6a3326d57233-c546a90a8094-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-242.24807.21" />
</set>
</attachedChunks>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.venv" />
</content>
<orderEntry type="jdk" jdkName="Python 3.10" jdkType="Python SDK" />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
......
......@@ -4,164 +4,87 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="1b298f03-b3a2-4f3f-9fa2-7f833ec35924" name="更改" comment="">
<change afterPath="$PROJECT_DIR$/预定系统/测试数据/MQTT心跳上报.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/base/Mqtt_Send.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/base/Mqtt_Send.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/安卓信息模块/安卓信息上报.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/安卓信息模块/安卓信息上报.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/毫米波雷达模块/毫米波雷达上报.py" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/毫米波雷达模块/毫米波雷达上报.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/测试数据/MQTT安卓上报数据.csv" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/测试数据/MQTT安卓上报数据.csv" afterDir="false" />
<change beforePath="$PROJECT_DIR$/预定系统/测试数据/MQTT毫米波上报数据.csv" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/测试数据/MQTT毫米波上报数据.csv" afterDir="false" />
<list default="true" id="7af2ddda-4337-4bd9-adfd-87ab868c08f9" name="更改" comment="重新提交运维相关脚本代码">
<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$/预定系统/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/预定系统/.idea/workspace.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
<option name="UPDATE_TYPE" value="REBASE" />
</component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 0
&quot;associatedIndex&quot;: 6
}</component>
<component name="ProjectId" id="2n9KWIVUMNmvuX8Wm4qR3JVKzMd" />
<component name="ProjectId" id="2qefK5jFULEB70ZGZl73iacPsCN" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"Python 测试.Python 测试 (LoginBy_ActAndPwd_PyTest.py 内).executor": "Run",
"Python.安卓信息上报.executor": "Run",
"Python.毫米波雷达上报.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"git-widget-placeholder": "develop",
"last_opened_file_path": "D:/GithubData/ubains-module-test/ubains-module-test",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
"vue.rearranger.settings.migration": "true"
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;git-widget-placeholder&quot;: &quot;develop&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/Users/EDY/Desktop/git/ubains-module-test/ubains-module-test&quot;
}
}]]></component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="D:\GithubData\ubains-module-test\ubains-module-test\预定系统\登录模块" />
<recent name="D:\GithubData\ubains-module-test\ubains-module-test\预定系统\测试数据" />
<recent name="D:\GithubData\ubains-module-test\ubains-module-test\预定系统" />
<recent name="D:\GithubData\ubains-module-test\预定系统" />
</key>
</component>
<component name="RunManager" selected="Python.毫米波雷达上报">
<configuration name="安卓信息上报" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="ubains-module-test" />
<option name="ENV_FILES" value="" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/预定系统/安卓信息模块" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/预定系统/安卓信息模块/安卓信息上报.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="毫米波雷达上报" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="ubains-module-test" />
<option name="ENV_FILES" value="" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/预定系统/毫米波雷达模块" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/预定系统/毫米波雷达模块/毫米波雷达上报.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.毫米波雷达上报" />
<item itemvalue="Python.安卓信息上报" />
</list>
</recent_temporary>
</component>
}</component>
<component name="SharedIndexes">
<attachedChunks>
<set>
<option value="bundled-js-predefined-d6986cc7102b-7c0b70fcd90d-JavaScript-PY-242.21829.153" />
<option value="bundled-python-sdk-464836ebc622-b74155a9e76b-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-242.21829.153" />
<option value="bundled-python-sdk-6a3326d57233-c546a90a8094-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-242.24807.21" />
</set>
</attachedChunks>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="默认任务">
<changelist id="1b298f03-b3a2-4f3f-9fa2-7f833ec35924" name="更改" comment="" />
<created>1728379882087</created>
<changelist id="7af2ddda-4337-4bd9-adfd-87ab868c08f9" name="更改" comment="" />
<created>1735027895112</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1728379882087</updated>
<workItem from="1728379883141" duration="132000" />
<workItem from="1728380017193" duration="171000" />
<workItem from="1729481397357" duration="2465000" />
<workItem from="1729519480013" duration="13278000" />
<workItem from="1729685636638" duration="4482000" />
<<<<<<< HEAD
<workItem from="1729690521898" duration="8355000" />
=======
<workItem from="1729690521898" duration="1942000" />
>>>>>>> 949209b52f0b2ea4a02345aefb25f4daee4ec4bd
<updated>1735027895112</updated>
</task>
<task id="LOCAL-00001" summary="重新提交运维相关脚本代码">
<option name="closed" value="true" />
<created>1735028100490</created>
<option name="number" value="00001" />
<option name="presentableId" value="LOCAL-00001" />
<option name="project" value="LOCAL" />
<updated>1735028100490</updated>
</task>
<option name="localTasksCounter" value="2" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
<url>file://$PROJECT_DIR$/Meeting2.0/登录模块/Base/Base.py</url>
<option name="timeStamp" value="1" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
<component name="Vcs.Log.Tabs.Properties">
<option name="TAB_STATES">
<map>
<entry key="MAIN">
<value>
<State>
<option name="FILTERS">
<map>
<entry key="branch">
<value>
<list>
<option value="develop" />
</list>
</value>
</entry>
</map>
</option>
</State>
</value>
</entry>
</map>
</option>
</component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<<<<<<< HEAD
<SUITE FILE_PATH="coverage/ubains_module_test$.coverage" NAME="毫米波雷达上报 覆盖结果" MODIFIED="1729761958173" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/预定系统/毫米波雷达模块" />
=======
<SUITE FILE_PATH="coverage/ubains_module_test$.coverage" NAME="安卓信息上报 覆盖结果" MODIFIED="1729740841195" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/预定系统/安卓信息模块" />
>>>>>>> 949209b52f0b2ea4a02345aefb25f4daee4ec4bd
<component name="VcsManagerConfiguration">
<MESSAGE value="重新提交运维相关脚本代码" />
<option name="LAST_COMMIT_MESSAGE" value="重新提交运维相关脚本代码" />
</component>
</project>
\ No newline at end of file
# 默认忽略的文件
/shelf/
/workspace.xml
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="PyMethodMayBeStaticInspection" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="N812" />
</list>
</option>
</inspection_tool>
<inspection_tool class="PyUnboundLocalVariableInspection" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/运维集控.iml" filepath="$PROJECT_DIR$/.idea/运维集控.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PyDocumentationSettings">
<option name="format" value="PLAIN" />
<option name="myDocStringFormat" value="Plain" />
</component>
</module>
\ No newline at end of file
from lib.login import *
# def suite_setup():
# wd = GSTORE['wd']
def suite_teardown():
INFO('进行清除操作')
wd = GSTORE['wd']
wd.quit()
from lib.login import *
class user_login_001:
name = 'login_test_01'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '用户登录')
user_login("admin@pgy", "ub@123456", "csba")
# run_login_tests()
STEP(2, '验证是否登录成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现弹窗', get_menu1 == "操作成功!")
def suite_teardown():
wd.quit()
# class user_login_002:
# name = 'login_test_02'
#
# def teststeps(self):
# STEP(1, '打开网页')
#
# wd = GSTORE['wd']
#
# STEP(2, '用户登录')
# user_login("admin@pgy", "ub@123456", "csba")
# # run_login_tests()
#
# STEP(3, '验证是否登录成功')
# get_menu = WebDriverWait(wd, 10).until(
# EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
# )
# get_menu1 = get_menu.text
# CHECK_POINT('检查是否出现弹窗', get_menu1 == "操作成功!")
#
# STEP(4, '清除数据')
#
# def suite_teardown():
# INFO('进行清除操作')
# wd.quit()
from lib.login import *
class UserAdd001:
name = 'user_add_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '点击新增按钮')
user_add = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'新增')]"))
)
user_add.click()
sleep(2)
STEP(2, '填写登录名')
account_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='登录名以字母开头,长度在5-18之间,只能包含字母、数字和下划线、@']"))
)
account_input.clear()
account_input.send_keys("admin@test1")
STEP(3, '填写用户名称')
account_name_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入用户名称']"))
)
account_name_input.clear()
account_name_input.send_keys("admin@test1")
STEP(4, '填写新密码')
passwd_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='必须包含字母(不区分大小写)、数字和特殊字符,至少8个字符']"))
)
passwd_input.clear()
passwd_input.send_keys("ub@123456")
STEP(5, '填写确认密码')
sepasswd_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='请确认密码']"))
)
sepasswd_input.clear()
sepasswd_input.send_keys("ub@123456")
STEP(6, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@aria-label='新增']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(7, '验证是否新增成功')
get_menu = WebDriverWait(wd, 10).until(
EC.visibility_of_element_located((By.XPATH, "//p[@class='el-message__content']"))
)
get_menu1 = get_menu.text
INFO(get_menu1)
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
# class UserAdd002:
# name = 'user_add_002'
# def teststeps(self):
# wd = GSTORE['wd']
#
# STEP(1, '点击新增按钮')
# user_add = WebDriverWait(wd, 10).until(
# EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'新增')]"))
# )
# user_add.click()
# sleep(2)
#
# STEP(2, '填写登录名')
# account_input = WebDriverWait(wd, 10).until(
# EC.presence_of_element_located((By.XPATH, "//input[@placeholder='登录名以字母开头,长度在5-18之间,只能包含字母、数字和下划线、@']"))
# )
# account_input.clear()
# account_input.send_keys("admin@test1")
#
# STEP(3, '填写用户名称')
# account_name_input = WebDriverWait(wd, 10).until(
# EC.presence_of_element_located((By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入用户名称']"))
# )
# account_name_input.clear()
# account_name_input.send_keys("测试用户2")
#
# STEP(4, '填写新密码')
# passwd_input = WebDriverWait(wd, 10).until(
# EC.presence_of_element_located(
# (By.XPATH, "//input[@placeholder='必须包含字母(不区分大小写)、数字和特殊字符,至少8个字符']"))
# )
# passwd_input.clear()
# passwd_input.send_keys("ub@123456")
#
# STEP(5, '填写确认密码')
# sepasswd_input = WebDriverWait(wd, 10).until(
# EC.presence_of_element_located(
# (By.XPATH, "//input[@placeholder='请确认密码']"))
# )
# sepasswd_input.clear()
# sepasswd_input.send_keys("ub@123456")
#
# STEP(6, '点击确认')
# commit = WebDriverWait(wd, 10).until(
# EC.element_to_be_clickable((By.XPATH, "//div[@aria-label='新增']//span[contains(text(),'确 定')]"))
# )
# commit.click()
#
# STEP(7, '验证是否正常提示')
# get_menu = WebDriverWait(wd, 10).until(
# EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
# )
# get_menu1 = get_menu.text
# # CHECK_POINT('检查是否出现错误提示弹窗', get_menu1 == "登录名已存在,请重新输入")
# CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
# sleep(2)
from lib.login import *
class Userquery001:
name = 'user_query_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '点击搜索框')
user_query = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入用户名称']"))
)
user_query.click()
sleep(2)
STEP(2, '填写登录名')
account_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='请输入用户名称']"))
)
account_input.clear()
account_input.send_keys("admin@test1")
STEP(3, '校验是否成功检索用户')
get_user = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[normalize-space()='admin@test1']"))
)
get_username = get_user.text
CHECK_POINT('校验是否成功检索用户', get_username == "admin@test1")
sleep(2)
# 调用钉钉输出测试报告
# get_reportfile_send_dingding("123213_测试报告", "http://192.168.1.251")
\ No newline at end of file
from lib.login import *
class UserModify001:
name = 'user_modify_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '点击搜索框')
user_query = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入用户名称']"))
)
user_query.click()
sleep(2)
STEP(2, '填写登录名')
account_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='请输入用户名称']"))
)
account_input.clear()
account_input.send_keys("admin@test1")
STEP(3, '勾选用户')
select_click= WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//tbody//tr//td//div//label//span//span"))
)
select_click.click()
sleep(2)
STEP(4, '点击编辑按钮')
user_update = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[contains(@class,'company-edmit-right')]//span[contains(text(),'编辑')]"))
)
user_update.click()
sleep(2)
STEP(5, '填写用户名称')
account_name_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入用户名称']"))
)
account_name_input.clear()
account_name_input.send_keys("admin@update")
STEP(6, '勾选修改密码按钮')
user_passwd_click = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[contains(@class,'dialog-input')]//span[contains(@class,'el-checkbox__inner')]"))
)
user_passwd_click.click()
sleep(2)
STEP(6, '填写当前用户密码')
current_passwd = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[contains(@placeholder,'请输当前登录用户的密码')]"))
)
current_passwd.clear()
current_passwd.send_keys("ub@123456")
STEP(7, '填写新密码')
newpasswd = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[contains(@placeholder,'必须包含字母(不区分大小写)、数字和特殊字符,至少8个字符')]"))
)
newpasswd.clear()
newpasswd.send_keys("ub@12345678")
STEP(8, '填写确认密码')
verify_passwd = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='请确认密码']"))
)
verify_passwd.clear()
verify_passwd.send_keys("ub@12345678")
STEP(9, '填写用户工号')
sepasswd_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='请输入工号']"))
)
sepasswd_input.clear()
sepasswd_input.send_keys("123456")
STEP(9, '填写手机号')
phone = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='请输入手机号码']"))
)
phone.clear()
phone.send_keys("13169131242")
STEP(10, '填写邮箱')
sepasswd_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='请输入邮箱']"))
)
sepasswd_input.clear()
sepasswd_input.send_keys("12341@qq.com")
STEP(11, '填写备注')
user_remark = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='备注']"))
)
user_remark.clear()
user_remark.send_keys("测试用户")
STEP(12, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[contains(@aria-label,'编辑')]//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(13, '验证是否编辑成功')
get_menu = WebDriverWait(wd, 10).until(
EC.visibility_of_element_located((By.XPATH, "//p[@class='el-message__content']"))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
class Userdelete001:
name = 'user_delete_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '点击搜索框')
user_query = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//input[@placeholder='请输入用户名称']"))
)
user_query.click()
sleep(2)
STEP(2, '填写登录名')
account_input = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='请输入用户名称']"))
)
account_input.clear()
account_input.send_keys("admin@test1")
STEP(3, '勾选用户')
select_click= WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//tbody//tr//td//div//label//span//span"))
)
select_click.click()
sleep(2)
STEP(4, '点击删除按钮')
user_update = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//span[contains(text(),'删除')]"))
)
user_update.click()
sleep(2)
STEP(5, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//button[contains(@class,'el-button el-button--default el-button--small el-button--primary')]//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(6, '验证是否删除成功')
get_menu = WebDriverWait(wd, 10).until(
EC.visibility_of_element_located((By.XPATH, "//p[@class='el-message__content']"))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
# 本地启动http微服务
# python - m http.server 80 - -directory log
# 输出报告到钉钉
get_reportfile_send_dingding("用户管理模块_测试报告", "http://192.168.1.251")
\ No newline at end of file
from lib.login import *
def suite_setup():
wd = GSTORE['wd']
user_login("admin@pgy", "ub@123456", "csba")
enter_system()
enter_manage()
enter_user_manage()
# def suite_teardown():
# INFO('进行清除操作')
# wd = GSTORE['wd']
# wd.quit()
from lib.login import *
class AreagroupAdd001:
name = 'Areagroup_add_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '点击新增按钮')
areagroup_add = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'新增')]"))
)
areagroup_add.click()
sleep(2)
STEP(2, '填写分组名称')
group_name = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='长度1-20个字符']"))
)
group_name.clear()
group_name.send_keys("测试区域1")
STEP(3, '填写分组地址')
group_address = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='输入地址不能大于50个字符']"))
)
group_address.clear()
group_address.send_keys("顺恒利大厦")
STEP(4, '填写分组备注')
group_remark = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='请输入备注']"))
)
group_remark.clear()
group_remark.send_keys("测试分组备注")
STEP(6, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(7, '验证是否新增成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
class AreagroupMod001:
name = 'Areagroup_modify_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '勾选分组,点击“编辑”按钮')
try:
# 等待页面加载,并查找包含文本“测试”的元素旁边的复选框
checkbox = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//span[contains(text(), '测试区域1')]//span[@class='el-checkbox__inner']"))
)
areagroup_select = checkbox.find_element(By.XPATH, "./ancestor::span[contains(@class, 'el-checkbox__input')]//input")
# 勾选复选框
if not areagroup_select.is_selected():
areagroup_select.click()
finally:
areagroup_modify = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//span[contains(text(),'编辑')]"))
)
areagroup_modify.click()
sleep(2)
STEP(2, '修改分组名称')
group_name = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='长度1-20个字符']"))
)
group_name.clear()
group_name.send_keys("测试区域1-已修改")
STEP(3, '修改分组地址')
group_address = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='输入地址不能大于50个字符']"))
)
group_address.clear()
group_address.send_keys("顺恒利大厦-已修改")
STEP(4, '修改分组备注')
group_remark = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='请输入备注']"))
)
group_remark.clear()
group_remark.send_keys("修改测试分组")
STEP(5, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(6, '验证是否修改成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
class AreagroupDel001:
name = 'Areagroup_delete_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '勾选分组')
checkbox = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//span[contains(text(), '测试区域1')]//span[@class='el-checkbox__inner']"))
)
areagroup_select = checkbox.find_element(By.XPATH, "./ancestor::span[contains(@class, 'el-checkbox__input')]//input")
areagroup_select.click()
sleep(2)
STEP(2, '点击“删除”按钮')
areagroup_modify = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//span[contains(text(),'删除')]"))
)
areagroup_modify.click()
sleep(2)
STEP(3, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//span[contains(text(),'确 定')])[3]"))
)
commit.click()
STEP(6, '验证是否修改成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
def suite_setup():
wd = GSTORE['wd']
user_login("admin@pgy", "ub@123456", "csba")
enter_system()
enter_manage()
enter_areagroup_manage()
# def suite_teardown():
# INFO('进行清除操作')
# wd = GSTORE['wd']
# wd.quit()
from lib.login import *
class AreatypeAdd001:
name = 'Areatype_add_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '点击新增按钮')
areatype_add = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'新增')]"))
)
areatype_add.click()
sleep(2)
STEP(2, '填写区域类型')
type_name = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入区域类型']"))
)
type_name.clear()
type_name.send_keys("测试类型1")
STEP(3, '填写排序')
type_sort = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='排序']"))
)
type_sort.clear()
type_sort.send_keys("123")
STEP(4, '填写备注')
type_remark = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='备注']"))
)
type_remark.clear()
type_remark.send_keys("类型备注测试")
STEP(5, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(6, '验证是否新增成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
class AreatypeMod001:
name = 'Areatype_mod_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '搜索对应的区域类型')
areatype_search= WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//input[contains(@placeholder,'请输入区域类型')])[1]"))
)
areatype_search.clear()
areatype_search.send_keys("测试类型1")
STEP(2, '勾选区域类型')
areatype_select = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//span[contains(@class,'el-checkbox__inner')])[2]"))
)
areatype_select.click()
STEP(3, '点击编辑按钮')
areatype_mod = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'编辑')]"))
)
areatype_mod.click()
sleep(2)
STEP(4, '修改区域类型内容')
type_name = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入区域类型']"))
)
type_name.clear()
type_name.send_keys("修改-测试类型1")
STEP(5, '修改排序')
type_sort = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='排序']"))
)
type_sort.clear()
type_sort.send_keys("999")
STEP(6, '修改备注信息')
type_remark = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='备注']"))
)
type_remark.clear()
type_remark.send_keys("修改类型备注测试")
STEP(7, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(8, '验证是否修改成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
class AreatypeDel001:
name = 'Areatype_del_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '搜索对应的区域类型')
areatype_search= WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//input[contains(@placeholder,'请输入区域类型')])[1]"))
)
areatype_search.clear()
areatype_search.send_keys("修改-测试类型1")
STEP(2, '勾选区域类型')
areatype_select = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//span[contains(@class,'el-checkbox__inner')])[2]"))
)
areatype_select.click()
STEP(3, '点击删除按钮')
areatype_mod = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'删除')]"))
)
areatype_mod.click()
sleep(2)
STEP(4, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(5, '验证是否修改成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
def suite_setup():
wd = GSTORE['wd']
user_login("admin@pgy", "ub@123456", "csba")
enter_system()
enter_manage()
enter_areatype_manage()
# def suite_teardown():
# INFO('进行清除操作')
# wd = GSTORE['wd']
# wd.quit()
from lib.login import *
class AreafuntionAdd001:
name = 'Areafuntion_add_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '点击新增按钮')
areafuntion_add = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'新增')]"))
)
areafuntion_add.click()
sleep(2)
STEP(2, '填写功能名称')
funtion_name = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入功能名称']"))
)
funtion_name.clear()
funtion_name.send_keys("测试功能1")
STEP(3, '填写排序')
funtion_sort = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='排序']"))
)
funtion_sort.clear()
funtion_sort.send_keys("123")
STEP(4, '填写备注')
funtion_remark = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='备注']"))
)
funtion_remark.clear()
funtion_remark.send_keys("功能备注测试")
STEP(5, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(6, '验证是否新增成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
class areafuntionMod001:
name = 'areafuntion_mod_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '搜索对应的区域功能')
areafuntion_search= WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//input[contains(@placeholder,'请输入区域功能')])[1]"))
)
areafuntion_search.clear()
areafuntion_search.send_keys("测试功能1")
STEP(2, '勾选区域功能')
areafuntion_select = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//span[contains(@class,'el-checkbox__inner')])[2]"))
)
areafuntion_select.click()
STEP(3, '点击编辑按钮')
areafuntion_mod = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'编辑')]"))
)
areafuntion_mod.click()
sleep(2)
STEP(4, '修改区域功能内容')
funtion_name = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//div[@class='el-input el-input--suffix']//input[@placeholder='请输入区域功能']"))
)
funtion_name.clear()
funtion_name.send_keys("修改-测试功能1")
STEP(5, '修改排序')
funtion_sort = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.XPATH, "//input[@placeholder='排序']"))
)
funtion_sort.clear()
funtion_sort.send_keys("999")
STEP(6, '修改备注信息')
funtion_remark = WebDriverWait(wd, 10).until(
EC.presence_of_element_located(
(By.XPATH, "//input[@placeholder='备注']"))
)
funtion_remark.clear()
funtion_remark.send_keys("修改-功能备注")
STEP(7, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(8, '验证是否修改成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
class areafuntionDel001:
name = 'areafuntion_del_001'
def teststeps(self):
wd = GSTORE['wd']
STEP(1, '搜索对应的区域功能')
areafuntion_search= WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//input[contains(@placeholder,'请输入区域功能')])[1]"))
)
areafuntion_search.clear()
areafuntion_search.send_keys("修改-测试功能1")
STEP(2, '勾选区域功能')
areafuntion_select = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "(//span[contains(@class,'el-checkbox__inner')])[2]"))
)
areafuntion_select.click()
STEP(3, '点击删除按钮')
areafuntion_mod = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='company-edmit-right']//span[contains(text(),'删除')]"))
)
areafuntion_mod.click()
sleep(2)
STEP(4, '点击确认')
commit = WebDriverWait(wd, 10).until(
EC.element_to_be_clickable((By.XPATH, "//div[@class='dialog-footer']//span[contains(text(),'确 定')]"))
)
commit.click()
STEP(5, '验证是否修改成功')
get_menu = WebDriverWait(wd, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.el-message__content'))
)
get_menu1 = get_menu.text
CHECK_POINT('检查是否出现成功提示弹窗', get_menu1 == "操作成功!")
sleep(2)
\ No newline at end of file
from lib.login import *
def suite_setup():
wd = GSTORE['wd']
user_login("admin@pgy", "ub@123456", "csba")
enter_system()
enter_manage()
enter_areafuntion_manage()
# def suite_teardown():
# INFO('进行清除操作')
# wd = GSTORE['wd']
# wd.quit()
<!DOCTYPE html>
<html>
<head>
<title>测试报告</title>
<meta charset="UTF-8">
<style>body {
font-family: consolas, Verdana, sans-serif;
font-size: .95em;
color: #696e71;
display: grid;
grid-template-columns: 1fr 5rem;
}
.main_section {
width: 90%;
margin: 0 auto;
}
#float_menu{
position:fixed;
top:0;
right:0;
text-align: center;
}
#float_menu .menu-item {
cursor: pointer;
padding: .5em;
margin: .5em 0;
color: #c08580;
background-color: #f8f0ef;
font-size: 1.2em;
}
.result{
display: flex;
}
.result_table{
border-collapse: collapse;
border: 1px solid #f0e0e5;
width: 30em;
text-align: center;
font-size: 1.0em;
}
.result_table td{
border: 1px solid #f0e0e5;
padding: .3em;
}
.result_barchart{
width: 30em;
margin: 0 5em 0 5em;
}
.barchar_item{
margin: 2.5rem 0;
}
.barchart_barbox {
margin: 0.5em 0;
width: 100%;
background-color: #fff;
border: 1px solid #86c2dd;
border-radius: .2em;
}
.barchart_bar {
text-align: right;
height: 1.2rem;
}
.h3_button {
margin: 1.5em;
cursor: pointer;
color: #03a9f4;
}
.info
{
white-space:pre-wrap;
margin: .8em 1.5em;
}
.error-info
{
color: #a64747
}
.suite_dir {
margin: 1em .2em;
padding: .3em;
/* background-color: #dfeff6; */
border: 1px solid #bcd8e4;
}
.suite_file {
margin: 1em .2em;
padding: .3em;
border: 1px solid #bcd8e4;
}
.case {
margin: 1em .2em;
/* padding: .3em; */
border: 1px solid #e7d4d4;
}
.case_class_path{
margin: 0em 1em;
}
.folder_header {
padding: .2em .7em;
background-color: #fffaf9;
cursor: pointer;
}
.setup{
margin: .2em;
/* padding: .3em; */
/* border: 1px solid #e7d4d4; */
}
.teardown{
margin: .2em;
/* padding: .3em;*/
/* border: 1px solid #e7d4d4; */
}
.test_steps{
margin: .2em;
padding: .3em;
/* border: 1px solid #e7d4d4; */
}
.label {
display: inline-block;
padding: .1em .5em;
font-size: .88em;
letter-spacing: 1px;
white-space: nowrap;
color: #0d6ebc;
border-radius: .2em;
min-width: 5em;
margin-right: 2em;
font-family: consolas;
}
/* .suite_setup .label{
color: #219e26 ;
}
.suite_teardown .label{
color: #219e26;
} */
/* .case.pass .casename{
color: #329132 ;
} */
.case.pass .caselabel{
color: white;
background-color: #3b9e3f;
}
/* .case.fail .casename{
color: #a64747;
} */
.case.fail .caselabel{
color: white;
background-color: #a64747;
}
/* .case.abort .casename{
color: #953ab7;
} */
.case.abort .caselabel{
color: white;
background-color: #9c27b0;
}
.case_step {
margin: .8em;
}
.checkpoint_pass {
margin: .8em;
}
.checkpoint_fail {
margin: .8em;
}
.case_step .tag{
color: #2196f3;;
margin: .3em 1em .3em 0;
padding: .1em .3em;
font-size: .92em;
}
.checkpoint_pass .tag{
color: #009806;
margin:.3em 1em .3em .5em;
padding: .1em .3em;
font-size: .92em;
}
.checkpoint_fail .tag{
color: #9c2020;
margin:.3em 1em .3em .5em;
padding: .1em .3em;
font-size: .92em;
}
.screenshot {
border: 1px solid #86c2dd;
}
.executetime {
float: right;
}</style>
<script type="text/javascript">var FOLDER_ALL_CASES = false //是否为精简模式的标记
var ERROR_INFOS = []; // 错误信息列表
var current_error_idx = -1;
// 页面加载后执行的函数
window.addEventListener("load", function(){
// 所有 .folder_header 添加点击事件处理
let folderHeaderEles = document.querySelectorAll(".folder_header");
folderHeaderEles.forEach(function(ele) {
ele.addEventListener("click", function(event) {
let fb = event.target.closest('.folder_header').nextElementSibling;
fb.style.display = fb.style.display === 'none' ? 'block' : 'none'
});
});
// 找到所有的错误信息对象
ERROR_INFOS = document.querySelectorAll(".error-info");
});
function toggle_folder_all_cases(){
let eles = document.querySelectorAll(".folder_body");
FOLDER_ALL_CASES = !FOLDER_ALL_CASES;
document.getElementById('display_mode').innerHTML = FOLDER_ALL_CASES? "Detail" : "Summary"
for (const ele of eles){
ele.style.display = FOLDER_ALL_CASES? "none": "block"
}
}
function previous_error(){
// 查找错误必须是详细模式
if (FOLDER_ALL_CASES)
toggle_folder_all_cases()
current_error_idx -= 1;
if (current_error_idx<0)
current_error_idx = 0
let error = ERROR_INFOS[current_error_idx];
error.scrollIntoView({behavior: "smooth", block: "center", inline: "start"});
}
function next_error(){
// 查找错误必须是详细模式
if (FOLDER_ALL_CASES)
toggle_folder_all_cases()
current_error_idx += 1;
if (current_error_idx > ERROR_INFOS.length-1)
current_error_idx = ERROR_INFOS.length-1
let error = ERROR_INFOS[current_error_idx];
error.scrollIntoView({behavior: "smooth", block: "center", inline: "start"});
}</script>
</head>
<body>
<div class="main_section">
<h1 style="font-family: auto">测试报告</h1>
<h3>统计结果</h3>
<div class="result">
<table class="result_table">
<tbody>
<tr>
<td>hytest 版本</td>
<td>0.8.12</td>
</tr>
<tr>
<td>开始时间</td>
<td>2024/12/12 15:53:23</td>
</tr>
<tr>
<td>结束时间</td>
<td>2024/12/12 15:54:09</td>
</tr>
<tr>
<td>耗时</td>
<td>46.349 秒</td>
</tr>
<tr>
<td>预备执行用例数量</td>
<td>3</td>
</tr>
<tr>
<td>实际执用例行数量</td>
<td>3</td>
</tr>
<tr>
<td>通过</td>
<td>1</td>
</tr>
<tr>
<td>失败</td>
<td style="">0</td>
</tr>
<tr>
<td>异常</td>
<td style="color:red">2</td>
</tr>
<tr>
<td>阻塞</td>
<td style="">0</td>
</tr>
<tr>
<td>套件初始化失败</td>
<td style="">0</td>
</tr>
<tr>
<td>套件清除 失败</td>
<td style="">0</td>
</tr>
<tr>
<td>用例初始化失败</td>
<td style="">0</td>
</tr>
<tr>
<td>用例清除 失败</td>
<td style="">0</td>
</tr>
</tbody>
</table>
<div class="result_barchart">
<div class="barchar_item">
<span>用例通过 33.3% : 1 个</span>
<div class="barchart_barbox">
<div class="barchart_bar" style="width: 33.3%; background-color: #04AA6D;"></div>
</div>
</div>
<div class="barchar_item">
<span>用例失败 0% : 0 个</span>
<div class="barchart_barbox">
<div class="barchart_bar" style="width: 0.0%; background-color: #bb4069;"></div>
</div>
</div>
<div class="barchar_item">
<span>用例异常 66.7% : 2 个</span>
<div class="barchart_barbox">
<div class="barchart_bar" style="width: 66.7%; background-color: #9c27b0;"></div>
</div>
</div>
<div class="barchar_item">
<span>用例阻塞 0% : 0 个</span>
<div class="barchart_barbox">
<div class="barchart_bar" style="width: 0.0%; background-color: #dcbdbd;"></div>
</div>
</div>
</div>
</div>
<div style="margin-top:2em">
<h3 style="display:inline">执行日志</h3>
</div>
<div class="exec_log">
<div class="suite_dir" id="suite_dir cases\">
<div>
<span class="label">进入目录</span>
<span>cases\</span>
</div>
<div class="suite_setup setup" id="suite_setup setup cases\">
<div class="folder_header">
<span class="label">套件初始化</span>
<span>cases\</span>
<span class="executetime">2024-12-12 15:53:23</span>
</div>
<div class="folder_body">
<div class="info">打开浏览器</div>
</div>
</div>
</div>
<div class="suite_dir" id="suite_dir cases\03区域分组\">
<div>
<span class="label">进入目录</span>
<span>cases\03区域分组\</span>
</div>
<div class="suite_setup setup" id="suite_setup setup cases\03区域分组\">
<div class="folder_header">
<span class="label">套件初始化</span>
<span>cases\03区域分组\</span>
<span class="executetime">2024-12-12 15:53:29</span>
</div>
<div class="folder_body">
<div class="info">打开浏览器</div>
<div class="info">输入登录账号</div>
<div class="info">输入登录密码</div>
<div class="info">输入验证码</div>
<div class="info">点击登录按钮</div>
</div>
</div>
</div>
<div class="suite_file" id="suite_file cases\03区域分组\01新增区域分组.py">
<div>
<span class="label">进入文件</span>
<span>cases\03区域分组\01新增区域分组.py</span>
</div>
<div class="case pass" id="case_00000001">
<div class="folder_header">
<span class="label caselabel">用例 PASS</span>
<span class="casename">Areagroup_add_001</span>
<span class="executetime">2024-12-12 15:53:41</span>
</div>
<div class="folder_body">
<span class="case_class_path">cases\03区域分组\01新增区域分组.py::AreagroupAdd001</span>
<div class="test_steps" id="test_steps Areagroup_add_001">
<span class="label">测试步骤</span>
<div class="case_step">
<span class="tag">步骤 #1</span>
<span>点击新增按钮</span>
</div>
<div class="case_step">
<span class="tag">步骤 #2</span>
<span>填写分组名称</span>
</div>
<div class="case_step">
<span class="tag">步骤 #3</span>
<span>填写分组地址</span>
</div>
<div class="case_step">
<span class="tag">步骤 #4</span>
<span>填写分组备注</span>
</div>
<div class="case_step">
<span class="tag">步骤 #6</span>
<span>点击确认</span>
</div>
<div class="case_step">
<span class="tag">步骤 #7</span>
<span>验证是否新增成功</span>
</div>
<div class="checkpoint_pass">
<span class="tag">检查点 PASS</span>
<span>检查是否出现成功提示弹窗</span>
</div>
</div>
</div>
</div>
</div>
<div class="suite_file" id="suite_file cases\03区域分组\02编辑区域分组.py">
<div>
<span class="label">进入文件</span>
<span>cases\03区域分组\02编辑区域分组.py</span>
</div>
<div class="case abort" id="case_00000002">
<div class="folder_header">
<span class="label caselabel">用例 ABORT</span>
<span class="casename">Areagroup_modify_001</span>
<span class="executetime">2024-12-12 15:53:46</span>
</div>
<div class="folder_body">
<span class="case_class_path">cases\03区域分组\02编辑区域分组.py::AreagroupMod001</span>
<div class="test_steps" id="test_steps Areagroup_modify_001">
<span class="label">测试步骤</span>
<div class="case_step">
<span class="tag">步骤 #1</span>
<span>勾选分组,点击“编辑”按钮</span>
</div>
<div class="info error-info">Message:
Stacktrace:
GetHandleVerifier [0x00007FF60157CEC5+12997]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF6017FBCA4+1897908]
(No symbol) [0x00007FF60132F1CC]
(No symbol) [0x00007FF60137672E]
(No symbol) [0x00007FF6013767B5]
(No symbol) [0x00007FF6013B4ED7]
(No symbol) [0x00007FF601397F8F]
(No symbol) [0x00007FF60136C09D]
(No symbol) [0x00007FF6013B2887]
(No symbol) [0x00007FF601397BB3]
(No symbol) [0x00007FF60136B5AC]
(No symbol) [0x00007FF60136AA8D]
(No symbol) [0x00007FF60136B171]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601729DD4+1038052]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6014A08BF+56655]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF601493063+1267]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601728B5D+1033325]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601519731+327857]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515BB4+312628]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515CE9+312937]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF60150C25C+273372]
BaseThreadInitThunk [0x00007FFB6624259D+29]
RtlUserThreadStart [0x00007FFB6798AF38+40]
Traceback:
File &quot;C:\Users\EDY\Desktop\运维标准版\cases\03区域分组\02编辑区域分组.py&quot;, line 11, in teststeps
checkbox = WebDriverWait(wd, 10).until(
File &quot;D:\python\lib\site-packages\selenium\webdriver\support\wait.py&quot;, line 87, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
GetHandleVerifier [0x00007FF60157CEC5+12997]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF6017FBCA4+1897908]
(No symbol) [0x00007FF60132F1CC]
(No symbol) [0x00007FF60137672E]
(No symbol) [0x00007FF6013767B5]
(No symbol) [0x00007FF6013B4ED7]
(No symbol) [0x00007FF601397F8F]
(No symbol) [0x00007FF60136C09D]
(No symbol) [0x00007FF6013B2887]
(No symbol) [0x00007FF601397BB3]
(No symbol) [0x00007FF60136B5AC]
(No symbol) [0x00007FF60136AA8D]
(No symbol) [0x00007FF60136B171]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601729DD4+1038052]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6014A08BF+56655]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF601493063+1267]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601728B5D+1033325]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601519731+327857]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515BB4+312628]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515CE9+312937]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF60150C25C+273372]
BaseThreadInitThunk [0x00007FFB6624259D+29]
RtlUserThreadStart [0x00007FFB6798AF38+40]
</div>
</div>
</div>
</div>
</div>
<div class="suite_file" id="suite_file cases\03区域分组\03删除区域分组.py">
<div>
<span class="label">进入文件</span>
<span>cases\03区域分组\03删除区域分组.py</span>
</div>
<div class="case abort" id="case_00000003">
<div class="folder_header">
<span class="label caselabel">用例 ABORT</span>
<span class="casename">Areagroup_delete_001</span>
<span class="executetime">2024-12-12 15:53:59</span>
</div>
<div class="folder_body">
<span class="case_class_path">cases\03区域分组\03删除区域分组.py::AreagroupDel001</span>
<div class="test_steps" id="test_steps Areagroup_delete_001">
<span class="label">测试步骤</span>
<div class="case_step">
<span class="tag">步骤 #1</span>
<span>勾选分组</span>
</div>
<div class="info error-info">Message:
Stacktrace:
GetHandleVerifier [0x00007FF60157CEC5+12997]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF6017FBCA4+1897908]
(No symbol) [0x00007FF60132F1CC]
(No symbol) [0x00007FF60137672E]
(No symbol) [0x00007FF6013767B5]
(No symbol) [0x00007FF6013B4ED7]
(No symbol) [0x00007FF601397F8F]
(No symbol) [0x00007FF60136C09D]
(No symbol) [0x00007FF6013B2887]
(No symbol) [0x00007FF601397BB3]
(No symbol) [0x00007FF60136B5AC]
(No symbol) [0x00007FF60136AA8D]
(No symbol) [0x00007FF60136B171]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601729DD4+1038052]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6014A08BF+56655]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF601493063+1267]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601728B5D+1033325]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601519731+327857]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515BB4+312628]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515CE9+312937]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF60150C25C+273372]
BaseThreadInitThunk [0x00007FFB6624259D+29]
RtlUserThreadStart [0x00007FFB6798AF38+40]
Traceback:
File &quot;C:\Users\EDY\Desktop\运维标准版\cases\03区域分组\03删除区域分组.py&quot;, line 9, in teststeps
checkbox = WebDriverWait(wd, 10).until(
File &quot;D:\python\lib\site-packages\selenium\webdriver\support\wait.py&quot;, line 87, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
GetHandleVerifier [0x00007FF60157CEC5+12997]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF6017FBCA4+1897908]
(No symbol) [0x00007FF60132F1CC]
(No symbol) [0x00007FF60137672E]
(No symbol) [0x00007FF6013767B5]
(No symbol) [0x00007FF6013B4ED7]
(No symbol) [0x00007FF601397F8F]
(No symbol) [0x00007FF60136C09D]
(No symbol) [0x00007FF6013B2887]
(No symbol) [0x00007FF601397BB3]
(No symbol) [0x00007FF60136B5AC]
(No symbol) [0x00007FF60136AA8D]
(No symbol) [0x00007FF60136B171]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601729DD4+1038052]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6014A08BF+56655]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF601493063+1267]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601728B5D+1033325]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601519731+327857]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515BB4+312628]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515CE9+312937]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF60150C25C+273372]
BaseThreadInitThunk [0x00007FFB6624259D+29]
RtlUserThreadStart [0x00007FFB6798AF38+40]
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="float_menu">
<div class="menu-item" onclick="document.querySelector(&quot;body&quot;).scrollIntoView()">页首</div>
<div class="menu-item" onclick="window.open(&quot;http://www.byhy.net/tut/auto/hytest/01&quot;, &quot;_blank&quot;); ">帮助</div>
<div class="menu-item" id="display_mode" onclick="toggle_folder_all_cases()">Summary</div>
<div class="error_jumper" display="block">
<div class="menu-item" onclick="previous_error()" title="上一个错误"></div>
<div class="menu-item" onclick="next_error()" title="下一个错误"></div>
</div>
</div>
</body>
</html>
\ No newline at end of file
=== [ 收集测试用例 ] ===
== cases\__st__.py
== cases\__init__.py
** no cases in this file, skip it.
== cases\01登录模块\__st__.py
== cases\01登录模块\__init__.py
** no cases in this file, skip it.
== cases\01登录模块\管理员登录.py
** no cases in this file , skip it.
== cases\02用户管理\__st__.py
== cases\02用户管理\01新增用户.py
** no cases in this file , skip it.
== cases\02用户管理\02查询用户.py
** no cases in this file , skip it.
== cases\02用户管理\03编辑用户.py
** no cases in this file , skip it.
== cases\02用户管理\04删除用户.py
** no cases in this file , skip it.
== cases\02用户管理\__init__.py
** no cases in this file, skip it.
== cases\03区域分组\__st__.py
== cases\03区域分组\01新增区域分组.py
== cases\03区域分组\02编辑区域分组.py
== cases\03区域分组\03删除区域分组.py
== cases\03区域分组\__init__.py
** no cases in this file, skip it.
== cases\04区域类型\__st__.py
== cases\04区域类型\01新增区域类型.py
** no cases in this file , skip it.
== cases\04区域类型\02编辑区域类型.py
** no cases in this file , skip it.
== cases\04区域类型\03删除区域类型.py
** no cases in this file , skip it.
== cases\04区域类型\__init__.py
** no cases in this file, skip it.
== cases\05区域功能\__st__.py
== cases\05区域功能\01新增区域功能.py
** no cases in this file , skip it.
== cases\05区域功能\02编辑区域功能.py
** no cases in this file , skip it.
== cases\05区域功能\03删除区域功能.py
** no cases in this file , skip it.
== cases\05区域功能\__init__.py
** no cases in this file, skip it.
== cases\06区域管理\01新增区域.py
** no cases in this file, skip it.
== cases\06区域管理\02编辑区域.py
** no cases in this file, skip it.
== cases\06区域管理\03删除区域.py
** no cases in this file, skip it.
== cases\06区域管理\__init__.py
** no cases in this file, skip it.
== cases\07类型标签\__init__.py
** no cases in this file, skip it.
== cases\08协议管理\__init__.py
** no cases in this file, skip it.
== cases\09设备管理\__init__.py
** no cases in this file, skip it.
== cases\10数据类型\__init__.py
** no cases in this file, skip it.
== cases\11联动动作\__init__.py
** no cases in this file, skip it.
=== [ 执行测试用例 ] ===
预备执行用例数量 : 3
========= 测试开始 : 20241212_155323 =========
>>> cases\
[ suite setup ] cases\
打开浏览器
>>> cases\03区域分组\
[ suite setup ] cases\03区域分组\
打开浏览器
输入登录账号
输入登录密码
输入验证码
点击登录按钮
>>> cases\03区域分组\01新增区域分组.py
* Areagroup_add_001 - 2024-12-12 15:53:41
[ case execution steps ]
-- 第 1 步 -- 点击新增按钮
-- 第 2 步 -- 填写分组名称
-- 第 3 步 -- 填写分组地址
-- 第 4 步 -- 填写分组备注
-- 第 6 步 -- 点击确认
-- 第 7 步 -- 验证是否新增成功
** 检查点 ** 检查是否出现成功提示弹窗 ----> 通过
PASS
>>> cases\03区域分组\02编辑区域分组.py
* Areagroup_modify_001 - 2024-12-12 15:53:46
[ case execution steps ]
-- 第 1 步 -- 勾选分组,点击“编辑”按钮
ABORT Message:
Stacktrace:
GetHandleVerifier [0x00007FF60157CEC5+12997]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF6017FBCA4+1897908]
(No symbol) [0x00007FF60132F1CC]
(No symbol) [0x00007FF60137672E]
(No symbol) [0x00007FF6013767B5]
(No symbol) [0x00007FF6013B4ED7]
(No symbol) [0x00007FF601397F8F]
(No symbol) [0x00007FF60136C09D]
(No symbol) [0x00007FF6013B2887]
(No symbol) [0x00007FF601397BB3]
(No symbol) [0x00007FF60136B5AC]
(No symbol) [0x00007FF60136AA8D]
(No symbol) [0x00007FF60136B171]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601729DD4+1038052]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6014A08BF+56655]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF601493063+1267]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601728B5D+1033325]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601519731+327857]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515BB4+312628]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515CE9+312937]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF60150C25C+273372]
BaseThreadInitThunk [0x00007FFB6624259D+29]
RtlUserThreadStart [0x00007FFB6798AF38+40]
Traceback:
File "C:\Users\EDY\Desktop\运维标准版\cases\03区域分组\02编辑区域分组.py", line 11, in teststeps
checkbox = WebDriverWait(wd, 10).until(
File "D:\python\lib\site-packages\selenium\webdriver\support\wait.py", line 87, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
GetHandleVerifier [0x00007FF60157CEC5+12997]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF6017FBCA4+1897908]
(No symbol) [0x00007FF60132F1CC]
(No symbol) [0x00007FF60137672E]
(No symbol) [0x00007FF6013767B5]
(No symbol) [0x00007FF6013B4ED7]
(No symbol) [0x00007FF601397F8F]
(No symbol) [0x00007FF60136C09D]
(No symbol) [0x00007FF6013B2887]
(No symbol) [0x00007FF601397BB3]
(No symbol) [0x00007FF60136B5AC]
(No symbol) [0x00007FF60136AA8D]
(No symbol) [0x00007FF60136B171]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601729DD4+1038052]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6014A08BF+56655]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF601493063+1267]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601728B5D+1033325]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601519731+327857]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515BB4+312628]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515CE9+312937]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF60150C25C+273372]
BaseThreadInitThunk [0x00007FFB6624259D+29]
RtlUserThreadStart [0x00007FFB6798AF38+40]
>>> cases\03区域分组\03删除区域分组.py
* Areagroup_delete_001 - 2024-12-12 15:53:59
[ case execution steps ]
-- 第 1 步 -- 勾选分组
ABORT Message:
Stacktrace:
GetHandleVerifier [0x00007FF60157CEC5+12997]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF6017FBCA4+1897908]
(No symbol) [0x00007FF60132F1CC]
(No symbol) [0x00007FF60137672E]
(No symbol) [0x00007FF6013767B5]
(No symbol) [0x00007FF6013B4ED7]
(No symbol) [0x00007FF601397F8F]
(No symbol) [0x00007FF60136C09D]
(No symbol) [0x00007FF6013B2887]
(No symbol) [0x00007FF601397BB3]
(No symbol) [0x00007FF60136B5AC]
(No symbol) [0x00007FF60136AA8D]
(No symbol) [0x00007FF60136B171]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601729DD4+1038052]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6014A08BF+56655]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF601493063+1267]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601728B5D+1033325]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601519731+327857]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515BB4+312628]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515CE9+312937]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF60150C25C+273372]
BaseThreadInitThunk [0x00007FFB6624259D+29]
RtlUserThreadStart [0x00007FFB6798AF38+40]
Traceback:
File "C:\Users\EDY\Desktop\运维标准版\cases\03区域分组\03删除区域分组.py", line 9, in teststeps
checkbox = WebDriverWait(wd, 10).until(
File "D:\python\lib\site-packages\selenium\webdriver\support\wait.py", line 87, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Stacktrace:
GetHandleVerifier [0x00007FF60157CEC5+12997]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF6017FBCA4+1897908]
(No symbol) [0x00007FF60132F1CC]
(No symbol) [0x00007FF60137672E]
(No symbol) [0x00007FF6013767B5]
(No symbol) [0x00007FF6013B4ED7]
(No symbol) [0x00007FF601397F8F]
(No symbol) [0x00007FF60136C09D]
(No symbol) [0x00007FF6013B2887]
(No symbol) [0x00007FF601397BB3]
(No symbol) [0x00007FF60136B5AC]
(No symbol) [0x00007FF60136AA8D]
(No symbol) [0x00007FF60136B171]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601729DD4+1038052]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF6014A08BF+56655]
Microsoft::Applications::Events::EventProperty::~EventProperty [0x00007FF601493063+1267]
Microsoft::Applications::Events::EventProperty::empty [0x00007FF601728B5D+1033325]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601519731+327857]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515BB4+312628]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF601515CE9+312937]
Microsoft::Applications::Events::ILogConfiguration::operator* [0x00007FF60150C25C+273372]
BaseThreadInitThunk [0x00007FFB6624259D+29]
RtlUserThreadStart [0x00007FFB6798AF38+40]
========= 测试结束 : 20241212_155409 =========
耗时 : 46.349 秒
预备执行用例数量 : 3
实际执行用例数量 : 3
通过 : 1
失败 : 0
异常 : 2
套件初始化失败 : 0
套件清除 失败 : 0
用例初始化失败 : 0
用例清除 失败 : 0
=== [ 收集测试用例 ] ===
== cases\__st__.py
== cases\__init__.py
** no cases in this file, skip it.
== cases\01登录模块\__st__.py
== cases\01登录模块\__init__.py
** no cases in this file, skip it.
== cases\01登录模块\管理员登录.py
** no cases in this file , skip it.
== cases\02用户管理\__st__.py
== cases\02用户管理\01新增用户.py
** no cases in this file , skip it.
== cases\02用户管理\02查询用户.py
** no cases in this file , skip it.
== cases\02用户管理\03编辑用户.py
** no cases in this file , skip it.
== cases\02用户管理\04删除用户.py
** no cases in this file , skip it.
== cases\02用户管理\__init__.py
** no cases in this file, skip it.
== cases\03区域分组\__st__.py
== cases\03区域分组\01新增区域分组.py
** no cases in this file , skip it.
== cases\03区域分组\02编辑区域分组.py
** no cases in this file , skip it.
== cases\03区域分组\03删除区域分组.py
** no cases in this file , skip it.
== cases\03区域分组\__init__.py
** no cases in this file, skip it.
== cases\04区域类型\__st__.py
== cases\04区域类型\01新增区域类型.py
** no cases in this file , skip it.
== cases\04区域类型\02编辑区域类型.py
** no cases in this file , skip it.
== cases\04区域类型\03删除区域类型.py
** no cases in this file , skip it.
== cases\04区域类型\__init__.py
** no cases in this file, skip it.
== cases\05区域功能\__st__.py
== cases\05区域功能\01新增区域功能.py
** no cases in this file , skip it.
== cases\05区域功能\02编辑区域功能.py
** no cases in this file , skip it.
== cases\05区域功能\03删除区域功能.py
** no cases in this file , skip it.
== cases\05区域功能\__init__.py
** no cases in this file, skip it.
== cases\06区域管理\01新增区域.py
** no cases in this file, skip it.
== cases\06区域管理\02编辑区域.py
** no cases in this file, skip it.
== cases\06区域管理\03删除区域.py
** no cases in this file, skip it.
== cases\06区域管理\__init__.py
** no cases in this file, skip it.
== cases\07类型标签\__init__.py
** no cases in this file, skip it.
== cases\08协议管理\__init__.py
** no cases in this file, skip it.
== cases\09设备管理\__init__.py
** no cases in this file, skip it.
== cases\10数据类型\__init__.py
** no cases in this file, skip it.
== cases\11联动动作\__init__.py
** no cases in this file, skip it.
=== [ 执行测试用例 ] ===
!! 没有可以执行的测试用例
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="c611fa12-cf95-4015-91bc-655fca8727f9" name="更改" comment="">
<change afterPath="$PROJECT_DIR$/Base/__init__.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Base/base.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/__init__.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/cases/登录测试.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.gitignore" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.name" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/inspectionProfiles/profiles_settings.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/预定系统标准版.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/MQTT/安卓信息模块/安卓信息上报.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/MQTT/毫米波雷达模块/毫米波雷达上报.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/base/Base.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/base/Broswer_driver.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/base/Mqtt_Send.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/测试数据/Login_Test.csv" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/测试数据/MQTT安卓上报数据.csv" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/测试数据/MQTT毫米波上报数据.csv" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/登录模块/Login_Test_UnitTest.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/登录模块/账号密码登录.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......@@ -41,21 +23,20 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"Python.登录测试.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"git-widget-placeholder": "develop",
"last_opened_file_path": "D:/GithubData/ubains-module-test/ubains-module-test/预定系统",
"nodejs_package_manager_path": "npm",
"vue.rearranger.settings.migration": "true"
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;Python.登录测试.executor&quot;: &quot;Run&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;git-widget-placeholder&quot;: &quot;develop&quot;,
&quot;last_opened_file_path&quot;: &quot;D:/GithubData/ubains-module-test/ubains-module-test/预定系统&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
}
}]]></component>
}</component>
<component name="SharedIndexes">
<attachedChunks>
<set>
<option value="bundled-js-predefined-d6986cc7102b-7c0b70fcd90d-JavaScript-PY-242.21829.153" />
<option value="bundled-python-sdk-464836ebc622-b74155a9e76b-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-242.21829.153" />
<option value="bundled-python-sdk-d7ad00fb9fc3-c546a90a8094-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-242.23726.102" />
</set>
</attachedChunks>
</component>
......
topic,client_id,presence_state,kaiguan,julishezhi,lingmindushezhi,wifi_mac,ble_mac,sn,ip
/c1_100_wifi_u/D4F98D094001/properties/upload,D4F98D094001,1,0,3,2,D4F98D094001,D4F98D093001,D4F98D092001,192.168.1.1
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论