From d87065debc14945b782c566b04e54f17db322d49 Mon Sep 17 00:00:00 2001 From: zhaihuitao <zhaihuitao@reyun.com> Date: Mon, 2 Nov 2020 15:24:09 +0800 Subject: [PATCH] update --- .idea/workspace.xml | 326 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- report/__init__.py | 7 +++++++ report/result.html | 586 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ testcase/run_all_cases.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++-------- 4 files changed, 775 insertions(+), 199 deletions(-) create mode 100644 report/__init__.py create mode 100644 report/result.html diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 18fe728..decee6b 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,11 +2,9 @@ <project version="4"> <component name="ChangeListManager"> <list default="true" id="d0064643-2990-4ed3-bfb0-875849b30f4e" name="Default" comment=""> + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/report/__init__.py" /> + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/report/result.html" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/envcfg.py" afterPath="$PROJECT_DIR$/config/envcfg.py" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/testcase/android_events/test_custom.py" afterPath="$PROJECT_DIR$/testcase/android_events/test_custom.py" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/testcase/android_events/test_gettime.py" afterPath="$PROJECT_DIR$/testcase/android_events/test_gettime.py" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/testcase/android_events/test_install.py" afterPath="$PROJECT_DIR$/testcase/android_events/test_install.py" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/testcase/run_all_cases.py" afterPath="$PROJECT_DIR$/testcase/run_all_cases.py" /> </list> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> @@ -17,7 +15,7 @@ <option name="LAST_RESOLUTION" value="IGNORE" /> </component> <component name="CoverageDataManager"> - <SUITE FILE_PATH="coverage/interfaceTest$run_all_cases.coverage" NAME="run_all_cases Coverage Results" MODIFIED="1604024964218" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> + <SUITE FILE_PATH="coverage/interfaceTest$run_all_cases.coverage" NAME="run_all_cases Coverage Results" MODIFIED="1604300295126" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" /> <SUITE FILE_PATH="coverage/interfaceTest$Nosetests_for_test_click_clickTestCase_testclick.coverage" NAME="Nosetests for test_click.clickTestCase.testclick Coverage Results" MODIFIED="1603353013821" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase/android_click" /> <SUITE FILE_PATH="coverage/interfaceTest$params.coverage" NAME="params Coverage Results" MODIFIED="1597980084524" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/config/prod" /> <SUITE FILE_PATH="coverage/interfaceTest$Nosetests_in_test_batchUpload_py.coverage" NAME="Nosetests in test_batchUpload.py Coverage Results" MODIFIED="1601196142097" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase/android_events" /> @@ -82,16 +80,6 @@ <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> <component name="FileEditorManager"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> - <file leaf-file-name="test_click.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/testcase/android_click/test_click.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="170"> - <caret line="25" column="27" lean-forward="true" selection-start-line="25" selection-start-column="27" selection-end-line="25" selection-end-column="27" /> - <folding /> - </state> - </provider> - </entry> - </file> <file leaf-file-name="envcfg.py" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/config/envcfg.py"> <provider selected="true" editor-type-id="text-editor"> @@ -112,73 +100,97 @@ </provider> </entry> </file> - <file leaf-file-name="mailUtil.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/common/mailUtil.py"> + <file leaf-file-name="test_install.py" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/testcase/android_events/test_install.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - <folding /> + <state relative-caret-position="255"> + <caret line="17" column="0" lean-forward="true" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" /> + <folding> + <element signature="e#102#117#0" expanded="true" /> + </folding> </state> </provider> </entry> </file> - <file leaf-file-name="test_login.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/testcase/android_events/test_login.py"> + <file leaf-file-name="run_all_cases.py" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/testcase/run_all_cases.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="150"> - <caret line="14" column="0" lean-forward="true" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" /> + <state relative-caret-position="-36"> + <caret line="9" column="9" lean-forward="true" selection-start-line="9" selection-start-column="9" selection-end-line="9" selection-end-column="9" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="test_custom.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/testcase/android_events/test_custom.py"> + <file leaf-file-name="HTMLTestRunner.py" pinned="false" current-in-tab="false"> + <entry file="file:///anaconda3/lib/python3.6/site-packages/HTMLTestRunner.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="90"> - <caret line="6" column="3" lean-forward="false" selection-start-line="6" selection-start-column="3" selection-end-line="6" selection-end-column="3" /> + <state relative-caret-position="119"> + <caret line="635" column="13" lean-forward="false" selection-start-line="635" selection-start-column="13" selection-end-line="635" selection-end-column="13" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="test_install.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/testcase/android_events/test_install.py"> + <file leaf-file-name="result.html" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/report/result.html"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="255"> - <caret line="17" column="0" lean-forward="true" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" /> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <folding> - <element signature="e#102#117#0" expanded="true" /> + <element signature="e#211#215#0" expanded="true" /> + <element signature="e#225#229#0" expanded="true" /> + <element signature="n#style#0;n#h1#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" /> + <element signature="e#3653#3657#0" expanded="true" /> + <element signature="e#3667#3671#0" expanded="true" /> + <element signature="n#style#0;n#tr#0;n#table#0;n#body#0;n#html#0;n#!!top" expanded="true" /> + <element signature="e#5687#5691#0" expanded="true" /> + <element signature="e#5705#5709#0" expanded="true" /> + <element signature="e#18943#18949#1" expanded="true" /> + <element signature="n#style#0;n#div#2;n#body#0;n#html#0;n#!!top" expanded="true" /> + <element signature="n#style#0;n#span#0;n#a#0;n#div#2;n#body#0;n#html#0;n#!!top" expanded="true" /> </folding> </state> </provider> </entry> </file> - <file leaf-file-name="run_all_cases.py" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/testcase/run_all_cases.py"> + <file leaf-file-name="test_adshow.py" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/testcase/android_events/test_adshow.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="135"> - <caret line="9" column="9" lean-forward="false" selection-start-line="9" selection-start-column="9" selection-end-line="9" selection-end-column="9" /> + <state relative-caret-position="88"> + <caret line="9" column="11" lean-forward="true" selection-start-line="9" selection-start-column="11" selection-end-line="9" selection-end-column="11" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="test_startup.py" pinned="false" current-in-tab="true"> - <entry file="file://$PROJECT_DIR$/testcase/android_events/test_startup.py"> + <file leaf-file-name="__init__.py" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/report/__init__.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="210"> - <caret line="18" column="19" lean-forward="false" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="19" /> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="config.ini" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/config/setting/config.ini"> + <file leaf-file-name="HTMLTestReportCN.py" pinned="false" current-in-tab="false"> + <entry file="file:///anaconda3/lib/python3.6/HTMLTestReportCN.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="60"> - <caret line="4" column="55" lean-forward="true" selection-start-line="4" selection-start-column="55" selection-end-line="4" selection-end-column="55" /> + <state relative-caret-position="8317"> + <caret line="570" column="19" lean-forward="false" selection-start-line="570" selection-start-column="19" selection-end-line="570" selection-end-column="19" /> + <folding> + <element signature="e#3408#3423#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="test_startup.py" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/testcase/android_events/test_startup.py"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="210"> + <caret line="18" column="19" lean-forward="false" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="19" /> <folding /> </state> </provider> @@ -190,6 +202,7 @@ <option name="RECENT_TEMPLATES"> <list> <option value="Python Script" /> + <option value="HTML File" /> </list> </option> </component> @@ -207,6 +220,7 @@ <find>prod_click_</find> <find>prod_click_u</find> <find>prod_click_url</find> + <find>stringIO</find> </findStrings> <replaceStrings> <replace /> @@ -256,6 +270,9 @@ <option value="$PROJECT_DIR$/testcase/android_events/test_gettime.py" /> <option value="$PROJECT_DIR$/testcase/android_events/test_install.py" /> <option value="$PROJECT_DIR$/config/envcfg.py" /> + <option value="$PROJECT_DIR$/report/result.html" /> + <option value="/anaconda3/lib/python3.6/HTMLTestReportCN.py" /> + <option value="/anaconda3/lib/python3.6/site-packages/HTMLTestRunner.py" /> <option value="$PROJECT_DIR$/testcase/run_all_cases.py" /> </list> </option> @@ -336,25 +353,7 @@ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> <PATH_ELEMENT> - <option name="myItemId" value="testcase" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="android_click" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - </PATH> - <PATH> - <PATH_ELEMENT> - <option name="myItemId" value="interfaceTest" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="interfaceTest" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="data" /> + <option name="myItemId" value="report" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> </PATH> @@ -367,60 +366,6 @@ <option name="myItemId" value="interfaceTest" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="config" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - </PATH> - <PATH> - <PATH_ELEMENT> - <option name="myItemId" value="interfaceTest" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="interfaceTest" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="config" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="setting" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - </PATH> - <PATH> - <PATH_ELEMENT> - <option name="myItemId" value="interfaceTest" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="interfaceTest" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="config" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="prod" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - </PATH> - <PATH> - <PATH_ELEMENT> - <option name="myItemId" value="interfaceTest" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="interfaceTest" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> - <PATH_ELEMENT> - <option name="myItemId" value="common" /> - <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> - </PATH_ELEMENT> </PATH> </subPane> </pane> @@ -433,9 +378,10 @@ </component> <component name="PropertiesComponent"> <property name="WebServerToolWindowFactoryState" value="false" /> - <property name="settings.editor.selected.configurable" value="configurable.group.appearance" /> + <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" /> <property name="SearchEverywhereHistoryKey" value="set ba	ACTION	Images.SetBackgroundImage backg	ACTION	Images.SetBackgroundImage set 	ACTION	Images.SetBackgroundImage set background	null	null" /> <property name="com.intellij.database.dataSource.DataSourceTemplate" value="MySQL" /> + <property name="DefaultHtmlFileTemplate" value="HTML File" /> </component> <component name="RecentsManager"> <key name="MoveFile.RECENT_KEYS"> @@ -725,13 +671,6 @@ <updated>1596505503233</updated> <workItem from="1596786333197" duration="228000" /> </task> - <task id="LOCAL-00010" summary="add install enevt"> - <created>1597134974742</created> - <option name="number" value="00010" /> - <option name="presentableId" value="LOCAL-00010" /> - <option name="project" value="LOCAL" /> - <updated>1597134974742</updated> - </task> <task id="LOCAL-00011" summary="add install enevt"> <created>1597136749787</created> <option name="number" value="00011" /> @@ -1068,7 +1007,14 @@ <option name="project" value="LOCAL" /> <updated>1604021686489</updated> </task> - <option name="localTasksCounter" value="59" /> + <task id="LOCAL-00059" summary="update"> + <created>1604041048068</created> + <option name="number" value="00059" /> + <option name="presentableId" value="LOCAL-00059" /> + <option name="project" value="LOCAL" /> + <updated>1604041048068</updated> + </task> + <option name="localTasksCounter" value="60" /> <servers /> </component> <component name="TestHistory"> @@ -1114,8 +1060,9 @@ </component> <component name="ToolWindowManager"> <frame x="0" y="23" width="1280" height="724" extended-state="0" /> + <editor active="true" /> <layout> - <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.22213247" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.22213247" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.5072698" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32956383" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> @@ -1135,27 +1082,6 @@ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> </layout> - <layout-to-restore> - <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> - <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> - <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> - <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> - <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.5072698" order="7" side_tool="true" content_ui="tabs" /> - <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32838285" sideWeight="0.4927302" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> - <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> - <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.4951535" order="9" side_tool="false" content_ui="tabs" /> - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21567044" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> - <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> - <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32956383" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24959612" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> - <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39933994" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> - <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> - <window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32956383" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> - </layout-to-restore> </component> <component name="TypeScriptGeneratedFilesManager"> <option name="processedProjectFiles" value="true" /> @@ -1181,34 +1107,6 @@ <watches-manager /> </component> <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/data/prod.yaml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="30"> - <caret line="2" column="25" lean-forward="false" selection-start-line="2" selection-start-column="25" selection-end-line="2" selection-end-column="25" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/testcase/android_click/click.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1110"> - <caret line="74" column="13" lean-forward="true" selection-start-line="74" selection-start-column="13" selection-end-line="74" selection-end-column="13" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/common/yamlUtil.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="285"> - <caret line="19" column="9" lean-forward="false" selection-start-line="19" selection-start-column="9" selection-end-line="19" selection-end-column="9" /> - </state> - </provider> - </entry> - <entry file="file://$USER_HOME$/Library/Caches/PyCharm2017.1/python_stubs/1978755681/_socket.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="247"> - <caret line="389" column="4" lean-forward="false" selection-start-line="389" selection-start-column="4" selection-end-line="389" selection-end-column="4" /> - </state> - </provider> - </entry> <entry file="file:///anaconda3/lib/python3.6/site-packages/yaml/__init__.py"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="500"> @@ -1384,14 +1282,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/testcase/android_events/test_adshow.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="112"> - <caret line="9" column="11" lean-forward="true" selection-start-line="9" selection-start-column="11" selection-end-line="9" selection-end-column="11" /> - <folding /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/testcase/android_events/test_appduration.py"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="135"> @@ -1538,18 +1428,72 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/testcase/run_all_cases.py"> + <entry file="file://$PROJECT_DIR$/testcase/android_events/test_startup.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="135"> - <caret line="9" column="9" lean-forward="false" selection-start-line="9" selection-start-column="9" selection-end-line="9" selection-end-column="9" /> + <state relative-caret-position="210"> + <caret line="18" column="19" lean-forward="false" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="19" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/testcase/android_events/test_startup.py"> + <entry file="file:///anaconda3/lib/python3.6/HTMLTestReportCN.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="210"> - <caret line="18" column="19" lean-forward="false" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="19" /> + <state relative-caret-position="8317"> + <caret line="570" column="19" lean-forward="false" selection-start-line="570" selection-start-column="19" selection-end-line="570" selection-end-column="19" /> + <folding> + <element signature="e#3408#3423#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/report/__init__.py"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file:///anaconda3/lib/python3.6/site-packages/HTMLTestRunner.py"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="119"> + <caret line="635" column="13" lean-forward="false" selection-start-line="635" selection-start-column="13" selection-end-line="635" selection-end-column="13" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/report/result.html"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding> + <element signature="e#211#215#0" expanded="true" /> + <element signature="e#225#229#0" expanded="true" /> + <element signature="n#style#0;n#h1#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" /> + <element signature="e#3653#3657#0" expanded="true" /> + <element signature="e#3667#3671#0" expanded="true" /> + <element signature="n#style#0;n#tr#0;n#table#0;n#body#0;n#html#0;n#!!top" expanded="true" /> + <element signature="e#5687#5691#0" expanded="true" /> + <element signature="e#5705#5709#0" expanded="true" /> + <element signature="e#18943#18949#1" expanded="true" /> + <element signature="n#style#0;n#div#2;n#body#0;n#html#0;n#!!top" expanded="true" /> + <element signature="n#style#0;n#span#0;n#a#0;n#div#2;n#body#0;n#html#0;n#!!top" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/testcase/android_events/test_adshow.py"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="88"> + <caret line="9" column="11" lean-forward="true" selection-start-line="9" selection-start-column="11" selection-end-line="9" selection-end-column="11" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/testcase/run_all_cases.py"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="-36"> + <caret line="9" column="9" lean-forward="true" selection-start-line="9" selection-start-column="9" selection-end-line="9" selection-end-column="9" /> <folding /> </state> </provider> diff --git a/report/__init__.py b/report/__init__.py new file mode 100644 index 0000000..540fced --- /dev/null +++ b/report/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +""" +@author:zhaiht +@file: __init__.py.py +@time: 2020/11/2 11:25 +@desc: +""" \ No newline at end of file diff --git a/report/result.html b/report/result.html new file mode 100644 index 0000000..b0bb04c --- /dev/null +++ b/report/result.html @@ -0,0 +1,586 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title><TKIO接口监控监控></title> + <meta name="generator" content="HTMLTestRunner 0.8.2.2"/> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet"> + <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> + <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script> + +<style type="text/css" media="screen"> +body { font-family: Microsoft YaHei,Tahoma,arial,helvetica,sans-serif;padding: 20px; font-size: 80%; } +table { font-size: 100%; } + +/* -- heading ---------------------------------------------------------------------- */ +.heading { + margin-top: 0ex; + margin-bottom: 1ex; +} + +.heading .description { + margin-top: 4ex; + margin-bottom: 6ex; +} + +/* -- report ------------------------------------------------------------------------ */ +#total_row { font-weight: bold; } +.passCase { color: #5cb85c; } +.failCase { color: #d9534f; font-weight: bold; } +.errorCase { color: #f0ad4e; font-weight: bold; } +.hiddenRow { display: none; } +.testcase { margin-left: 2em; } +</style> + +</head> +<body > +<script language="javascript" type="text/javascript"> +output_list = Array(); + +/*level 调整增加只显示通过用例的分类 --Findyou +0:Summary //all hiddenRow +1:Failed //pt hiddenRow, ft none +2:Pass //pt none, ft hiddenRow +3:All //pt none, ft none +*/ +function showCase(level) { + trs = document.getElementsByTagName("tr"); + for (var i = 0; i < trs.length; i++) { + tr = trs[i]; + id = tr.id; + if (id.substr(0,2) == 'ft') { + if (level == 2 || level == 0 ) { + tr.className = 'hiddenRow'; + } + else { + tr.className = ''; + } + } + if (id.substr(0,2) == 'pt') { + if (level < 2) { + tr.className = 'hiddenRow'; + } + else { + tr.className = ''; + } + } + } + + //加入【详细】切换文字变化 --Findyou + detail_class=document.getElementsByClassName('detail'); + //console.log(detail_class.length) + if (level == 3) { + for (var i = 0; i < detail_class.length; i++){ + detail_class[i].innerHTML="收起" + } + } + else{ + for (var i = 0; i < detail_class.length; i++){ + detail_class[i].innerHTML="详细" + } + } +} + +function showClassDetail(cid, count) { + var id_list = Array(count); + var toHide = 1; + for (var i = 0; i < count; i++) { + //ID修改 点 为 下划线 -Findyou + tid0 = 't' + cid.substr(1) + '_' + (i+1); + tid = 'f' + tid0; + tr = document.getElementById(tid); + if (!tr) { + tid = 'p' + tid0; + tr = document.getElementById(tid); + } + id_list[i] = tid; + if (tr.className) { + toHide = 0; + } + } + for (var i = 0; i < count; i++) { + tid = id_list[i]; + //修改点击无法收起的BUG,加入【详细】切换文字变化 --Findyou + if (toHide) { + document.getElementById(tid).className = 'hiddenRow'; + document.getElementById(cid).innerText = "详细" + } + else { + document.getElementById(tid).className = ''; + document.getElementById(cid).innerText = "收起" + } + } +} + +function html_escape(s) { + s = s.replace(/&/g,'&'); + s = s.replace(/</g,'<'); + s = s.replace(/>/g,'>'); + return s; +} +</script> +<div class='heading'> +<h1 style="font-family: Microsoft YaHei"><TKIO接口监控监控></h1> +<p class='attribute'><strong>测试人员 : </strong> 翟会涛</p> +<p class='attribute'><strong>开始时间 : </strong> 2020-11-02 14:58:15</p> +<p class='attribute'><strong>合计耗时 : </strong> 0:00:07.962002</p> +<p class='attribute'><strong>测试结果 : </strong> 共 14,通过 14,通过率= 100.00%</p> + +<p class='description'>TKIO接口自动化测试用例</p> +</div> + + + +<p id='show_detail_line'> +<a class="btn btn-primary" href='javascript:showCase(0)'>概要{ 100.00% }</a> +<a class="btn btn-danger" href='javascript:showCase(1)'>失败{ 0 }</a> +<a class="btn btn-success" href='javascript:showCase(2)'>通过{ 14 }</a> +<a class="btn btn-info" href='javascript:showCase(3)'>所有{ 14 }</a> +</p> +<table id='result_table' class="table table-condensed table-bordered table-hover"> +<colgroup> +<col align='left' /> +<col align='right' /> +<col align='right' /> +<col align='right' /> +<col align='right' /> +<col align='right' /> +</colgroup> +<tr id='header_row' class="text-center success" style="font-weight: bold;font-size: 14px;"> + <td>用例集/测试用例</td> + <td>总计</td> + <td>通过</td> + <td>失败</td> + <td>错误</td> + <td>详细</td> +</tr> + +<tr class='passClass warning'> + <td>android_click.test_click.clickTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c1',1)" class="detail" id='c1'>详细</a></td> +</tr> + +<tr id='pt1_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testclick</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt1_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt1_1'>通过</button> + <div id='div_pt1_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt1_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt1_1'>通过</button> + <div id='div_pt1_1' class="collapse in"> + <pre> + +pt1_1: 执行结果: +================= +<Response [200]> + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_adclick.adclickTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c2',1)" class="detail" id='c2'>详细</a></td> +</tr> + +<tr id='pt2_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testadclick</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt2_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt2_1'>通过</button> + <div id='div_pt2_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt2_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt2_1'>通过</button> + <div id='div_pt2_1' class="collapse in"> + <pre> + +pt2_1: 广告点击:{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_adshow.adshowTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c3',1)" class="detail" id='c3'>详细</a></td> +</tr> + +<tr id='pt3_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testadshow</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt3_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt3_1'>通过</button> + <div id='div_pt3_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt3_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt3_1'>通过</button> + <div id='div_pt3_1' class="collapse in"> + <pre> + +pt3_1: +广告展示:{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_appduration.appdurationTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c4',1)" class="detail" id='c4'>详细</a></td> +</tr> + +<tr id='pt4_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testappduration</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt4_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt4_1'>通过</button> + <div id='div_pt4_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt4_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt4_1'>通过</button> + <div id='div_pt4_1' class="collapse in"> + <pre> + +pt4_1: App使用时长:{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_batchUpload.batchUploadTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c5',1)" class="detail" id='c5'>详细</a></td> +</tr> + +<tr id='pt5_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testbatchUpload</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt5_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt5_1'>通过</button> + <div id='div_pt5_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt5_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt5_1'>通过</button> + <div id='div_pt5_1' class="collapse in"> + <pre> + +pt5_1: 自定义 + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_custom.customTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c6',1)" class="detail" id='c6'>详细</a></td> +</tr> + +<tr id='pt6_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testcustom</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt6_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt6_1'>通过</button> + <div id='div_pt6_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt6_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt6_1'>通过</button> + <div id='div_pt6_1' class="collapse in"> + <pre> + +pt6_1: 自定义{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_gettime.gettimeTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c7',1)" class="detail" id='c7'>详细</a></td> +</tr> + +<tr id='pt7_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testgettime</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt7_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt7_1'>通过</button> + <div id='div_pt7_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt7_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt7_1'>通过</button> + <div id='div_pt7_1' class="collapse in"> + <pre> + +pt7_1: {"ts":1604300299696,"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_install.installTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c8',1)" class="detail" id='c8'>详细</a></td> +</tr> + +<tr id='pt8_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testinstall</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt8_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt8_1'>通过</button> + <div id='div_pt8_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt8_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt8_1'>通过</button> + <div id='div_pt8_1' class="collapse in"> + <pre> + +pt8_1: +激活事件执行结果:{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_login.loninTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c9',1)" class="detail" id='c9'>详细</a></td> +</tr> + +<tr id='pt9_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testlogin</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt9_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt9_1'>通过</button> + <div id='div_pt9_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt9_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt9_1'>通过</button> + <div id='div_pt9_1' class="collapse in"> + <pre> + +pt9_1: 登录{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_pageduration.pagedurationTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c10',1)" class="detail" id='c10'>详细</a></td> +</tr> + +<tr id='pt10_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testpageduration</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt10_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt10_1'>通过</button> + <div id='div_pt10_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt10_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt10_1'>通过</button> + <div id='div_pt10_1' class="collapse in"> + <pre> + +pt10_1: App页面浏览时长分布:{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_payment.payTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c11',1)" class="detail" id='c11'>详细</a></td> +</tr> + +<tr id='pt11_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testpayment</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt11_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt11_1'>通过</button> + <div id='div_pt11_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt11_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt11_1'>通过</button> + <div id='div_pt11_1' class="collapse in"> + <pre> + +pt11_1: 付费{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_payorder.payorderTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c12',1)" class="detail" id='c12'>详细</a></td> +</tr> + +<tr id='pt12_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testpayorder</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt12_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt12_1'>通过</button> + <div id='div_pt12_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt12_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt12_1'>通过</button> + <div id='div_pt12_1' class="collapse in"> + <pre> + +pt12_1: 订单{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_register.registerTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c13',1)" class="detail" id='c13'>详细</a></td> +</tr> + +<tr id='pt13_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>testregister</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt13_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt13_1'>通过</button> + <div id='div_pt13_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt13_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt13_1'>通过</button> + <div id='div_pt13_1' class="collapse in"> + <pre> + +pt13_1: 注册{"status":0} + + + </pre> + </div> + </td> +</tr> + +<tr class='passClass warning'> + <td>android_events.test_startup.startupTestCase</td> + <td class="text-center">1</td> + <td class="text-center">1</td> + <td class="text-center">0</td> + <td class="text-center">0</td> + <td class="text-center"><a href="javascript:showClassDetail('c14',1)" class="detail" id='c14'>详细</a></td> +</tr> + +<tr id='pt14_1' class='hiddenRow'> + <td class='passCase'><div class='testcase'>teststartup</div></td> + <td colspan='5' align='center'> + <!--默认收起错误信息 -Findyou + <button id='btn_pt14_1' type="button" class="btn btn-danger btn-xs collapsed" data-toggle="collapse" data-target='#div_pt14_1'>通过</button> + <div id='div_pt14_1' class="collapse"> --> + + <!-- 默认展开错误信息 -Findyou --> + <button id='btn_pt14_1' type="button" class="btn btn-danger btn-xs" data-toggle="collapse" data-target='#div_pt14_1'>通过</button> + <div id='div_pt14_1' class="collapse in"> + <pre> + +pt14_1: 启动{"status":0,"caid":"00_658BF93B71D8CCD446667DF1FC8F5112_A621A8F4404C9B0D3CF26AA86457456A","type":1} + + + </pre> + </div> + </td> +</tr> + +<tr id='total_row' class="text-center active"> + <td>总计</td> + <td>14</td> + <td>14</td> + <td>0</td> + <td>0</td> + <td>通过率:100.00%</td> +</tr> +</table> + +<div id='ending'> </div> + <div style=" position:fixed;right:50px; bottom:30px; width:20px; height:20px;cursor:pointer"> + <a href="#"><span class="glyphicon glyphicon-eject" style = "font-size:30px;" aria-hidden="true"> + </span></a></div> + + +</body> +</html> diff --git a/testcase/run_all_cases.py b/testcase/run_all_cases.py index 7f29b17..df4c0ba 100644 --- a/testcase/run_all_cases.py +++ b/testcase/run_all_cases.py @@ -7,15 +7,54 @@ """ import unittest -import os, sys +import os +import HTMLTestReportCN -curPath = os.path.abspath(os.path.dirname(__file__)) -rootPath = os.path.split(curPath)[0] -sys.path.append(rootPath) -if __name__ == '__main__': +case_path = os.path.join(os.getcwd()) +report_path = r"/Users/zhaihuitao/PycharmProjects/TKIO/interfaceTest/report/result.html" + + +def all_case(): + discover = unittest.defaultTestLoader.discover(case_path, "test*.py") + print(discover) + return discover + +if __name__ == "__main__": + fp = open(report_path, 'wb') + runner = HTMLTestReportCN.HTMLTestRunner( + stream=fp, + title='<TKIO接口监控报告>', + description=u'TKIO接口自动化测试用例', + tester=u"翟会涛" + ) + runner.run(all_case()) + fp.close() + + +'''if __name__ == "__main__": + case_path = os.path.join(os.getcwd(), "testcase") + report_path = r"/Users/zhaihuitao/PycharmProjects/TKIO/interfaceTest/report/result.html" + + curPath = os.path.abspath(os.path.dirname(__file__)) + rootPath = os.path.split(curPath)[0] + sys.path.append(rootPath) base_path = os.path.dirname(os.path.abspath(__file__)) testdir = os.path.join(base_path, 'android_events') - discover = unittest.defaultTestLoader.discover(testdir, 'test*.py') - runner = unittest.TextTestRunner(verbosity=2) - runner.run(discover) \ No newline at end of file + + + def all_case(): + discover = unittest.defaultTestLoader.discover(testdir, 'test*.py') + runner = unittest.TextTestRunner(verbosity=2) + runner.run(discover) + + fp = open(report_path, 'wb') + runner = HTMLTestRunnerCN.HTMLTestRunner( + stream=fp, + verbosity=1, + title='<订单自动化测试报告>', + description=u'订单P0接口自动化测试用例', + # tester=u"tester" + ) + runner.run(all_case())''' + # fp.close() \ No newline at end of file -- libgit2 0.27.1