优化代码

This commit is contained in:
liwanlei
2018-04-02 10:14:24 +08:00
20 changed files with 923 additions and 15 deletions

8
.idea/jiekou-python3.iml generated Normal file
View File

@@ -0,0 +1,8 @@
<?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>
</module>

4
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/jiekou-python3.iml" filepath="$PROJECT_DIR$/.idea/jiekou-python3.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

713
.idea/workspace.xml generated Normal file
View File

@@ -0,0 +1,713 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="4cee1dac-bd3b-47fa-9cbc-1da596a57fc8" name="Default" comment="" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
<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="CoverageDataManager">
<SUITE FILE_PATH="coverage/jiekou_python3$run_new.coverage" NAME="run_new Coverage Results" MODIFIED="1521791156390" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/jiekou_python3$run_excel_re.coverage" NAME="run_excel_re Coverage Results" MODIFIED="1521789241883" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/jiekou_python3$run_dubbo_html.coverage" NAME="run_dubbo_html Coverage Results" MODIFIED="1522299652415" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/jiekou_python3$run_html.coverage" NAME="run_html Coverage Results" MODIFIED="1522300064009" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/jiekou_python3$xiti.coverage" NAME="xiti Coverage Results" MODIFIED="1521796222804" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="get_excel.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Public/get_excel.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="216">
<caret line="9" column="8" lean-forward="false" selection-start-line="9" selection-start-column="8" selection-end-line="9" selection-end-column="8" />
<folding>
<element signature="e#121#132#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="run_excel_re.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/run_excel_re.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="381">
<caret line="15" column="49" lean-forward="false" selection-start-line="15" selection-start-column="49" selection-end-line="15" selection-end-column="49" />
<folding>
<element signature="e#89#130#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="run_new.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/run_new.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="297">
<caret line="13" column="62" lean-forward="false" selection-start-line="13" selection-start-column="62" selection-end-line="13" selection-end-column="62" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ddt_case.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/testCase/ddt_case.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="5" column="13" lean-forward="false" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="README.md" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="162">
<caret line="6" column="16" lean-forward="false" selection-start-line="6" selection-start-column="16" selection-end-line="6" selection-end-column="16" />
<folding />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="run_html.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/run_html.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="189">
<caret line="11" column="49" lean-forward="false" selection-start-line="11" selection-start-column="49" selection-end-line="11" selection-end-column="49" />
<folding>
<element signature="e#43#66#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</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$" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/Public/panduan.py" />
<option value="$PROJECT_DIR$/Public/py_Html.py" />
<option value="$PROJECT_DIR$/Public/log.py" />
<option value="$PROJECT_DIR$/Public/emmail.py" />
<option value="$PROJECT_DIR$/config/email.yaml" />
<option value="$PROJECT_DIR$/Public/BSTestRunner.py" />
<option value="$PROJECT_DIR$/config/config_testevent.py" />
<option value="$PROJECT_DIR$/Interface/test_requests.py" />
<option value="$PROJECT_DIR$/log/jiekou-2018-03-13-12.log" />
<option value="$PROJECT_DIR$/xiti.py" />
<option value="$PROJECT_DIR$/Interface/testFengzhuang.py" />
<option value="$PROJECT_DIR$/testCase/ddt_case.py" />
<option value="$PROJECT_DIR$/Interface/dubbo_feng.py" />
<option value="$PROJECT_DIR$/run_dubbo_html.py" />
<option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/testCase/case.py" />
<option value="$PROJECT_DIR$/testCase/dubbocase.py" />
<option value="$PROJECT_DIR$/Public/get_excel.py" />
<option value="$PROJECT_DIR$/run_html.py" />
<option value="$PROJECT_DIR$/run_excel_re.py" />
<option value="$PROJECT_DIR$/run_new.py" />
</list>
</option>
</component>
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
<component name="JsGulpfileManager">
<detection-done>true</detection-done>
<sorting>DEFINITION_ORDER</sorting>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="208" />
<option name="y" value="26" />
<option name="width" value="1651" />
<option name="height" value="926" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<ConfirmationsSetting value="2" id="Add" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
<manualOrder />
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="jiekou-python3" type="b2602c69:ProjectViewProjectNode" />
<item name="jiekou-python3" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\Users\Administrator\Desktop\jiekou-python3" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="JavaScript Debug.201803291307-result.html">
<configuration name="201803131307-result.html" type="JavascriptDebugType" factoryName="JavaScript Debug" temporary="true" nameIsGenerated="true" uri="http://localhost:63342/jiekou-python3/test_Report/201803131307-result.html" />
<configuration name="201803291307-result.html" type="JavascriptDebugType" factoryName="JavaScript Debug" temporary="true" nameIsGenerated="true" uri="http://localhost:63342/jiekou-python3/test_Report/201803291307-result.html" />
<configuration name="run_dubbo_html" type="PythonConfigurationType" factoryName="Python" temporary="true">
<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" />
<module name="jiekou-python3" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/run_dubbo_html.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
</configuration>
<configuration name="run_html" type="PythonConfigurationType" factoryName="Python" temporary="true">
<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" />
<module name="jiekou-python3" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/run_html.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
</configuration>
<configuration default="true" type="tests" factoryName="Nosetests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="jiekou-python3" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="_new_regexPattern" value="&quot;&quot;" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;&quot;" />
<option name="_new_targetType" value="&quot;PATH&quot;" />
</configuration>
<configuration default="true" type="tests" factoryName="Twisted Trial">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="jiekou-python3" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;&quot;" />
<option name="_new_targetType" value="&quot;PATH&quot;" />
</configuration>
<configuration default="true" type="tests" factoryName="Unittests">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="jiekou-python3" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;&quot;" />
<option name="_new_targetType" value="&quot;PATH&quot;" />
</configuration>
<configuration default="true" type="tests" factoryName="py.test">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<module name="jiekou-python3" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
<option name="_new_keywords" value="&quot;&quot;" />
<option name="_new_additionalArguments" value="&quot;&quot;" />
<option name="_new_target" value="&quot;&quot;" />
<option name="_new_targetType" value="&quot;PATH&quot;" />
</configuration>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="JavaScript Debug.201803131307-result.html" />
<item index="1" class="java.lang.String" itemvalue="Python.run_dubbo_html" />
<item index="2" class="java.lang.String" itemvalue="Python.run_html" />
<item index="3" class="java.lang.String" itemvalue="JavaScript Debug.201803291307-result.html" />
</list>
<recent_temporary>
<list size="4">
<item index="0" class="java.lang.String" itemvalue="JavaScript Debug.201803291307-result.html" />
<item index="1" class="java.lang.String" itemvalue="Python.run_html" />
<item index="2" class="java.lang.String" itemvalue="Python.run_dubbo_html" />
<item index="3" class="java.lang.String" itemvalue="JavaScript Debug.201803131307-result.html" />
</list>
</recent_temporary>
</component>
<component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" />
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="4cee1dac-bd3b-47fa-9cbc-1da596a57fc8" name="Default" comment="" />
<created>1519705063082</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1519705063082</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="208" y="26" width="1651" height="926" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="TODO" 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="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.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3299748" sideWeight="0.5" 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.33" sideWeight="0.5" order="11" 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.33" 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.33" sideWeight="0.5" 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.16027656" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" 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.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="SciView" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" 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.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.39924434" 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="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="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="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="Find" 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="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>
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="53" />
</breakpoint-manager>
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/Public/log.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" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/pyreport_excel.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://$PROJECT_DIR$/testCase/ddt_case.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="81">
<caret line="7" column="6" lean-forward="false" selection-start-line="7" selection-start-column="6" selection-end-line="7" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testCase/case.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="594">
<caret line="24" column="26" lean-forward="false" selection-start-line="24" selection-start-column="26" selection-end-line="24" selection-end-column="26" />
<folding>
<element signature="e#95#140#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/email.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="54">
<caret line="2" column="22" lean-forward="false" selection-start-line="2" selection-start-column="22" selection-end-line="2" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Interface/testFengzhuang.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="702">
<caret line="26" column="34" lean-forward="false" selection-start-line="26" selection-start-column="34" selection-end-line="26" selection-end-column="34" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/emmail.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" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/get_excel.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>
<element signature="e#121#132#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/panduan.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" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/log.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" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/pyreport_excel.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://$PROJECT_DIR$/testCase/ddt_case.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="81">
<caret line="7" column="6" lean-forward="false" selection-start-line="7" selection-start-column="6" selection-end-line="7" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testCase/case.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="594">
<caret line="24" column="26" lean-forward="false" selection-start-line="24" selection-start-column="26" selection-end-line="24" selection-end-column="26" />
<folding>
<element signature="e#95#140#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run_new.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="12" column="23" lean-forward="false" selection-start-line="12" selection-start-column="23" selection-end-line="12" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run_excel_re.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" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run_html.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="81">
<caret line="9" column="12" lean-forward="false" selection-start-line="9" selection-start-column="12" selection-end-line="9" selection-end-column="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Interface/test_requests.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="243">
<caret line="10" column="47" lean-forward="false" selection-start-line="10" selection-start-column="47" selection-end-line="10" selection-end-column="47" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/requests-2.18.4-py3.6.egg/requests/api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1620">
<caret line="60" column="19" lean-forward="false" selection-start-line="60" selection-start-column="13" selection-end-line="60" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Interface/testFengzhuang.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="621">
<caret line="23" column="35" lean-forward="false" selection-start-line="23" selection-start-column="35" selection-end-line="23" selection-end-column="35" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python36/Lib/site-packages/requests-2.18.4-py3.6.egg/requests/api.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1620">
<caret line="60" column="19" lean-forward="false" selection-start-line="60" selection-start-column="13" selection-end-line="60" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/log/jiekou-2018-03-08-14.log" />
<entry file="file://$PROJECT_DIR$/Public/panduan.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="189">
<caret line="17" column="33" lean-forward="false" selection-start-line="17" selection-start-column="27" selection-end-line="17" selection-end-column="33" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/BSTestRunner.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="27">
<caret line="1" column="119" lean-forward="false" selection-start-line="1" selection-start-column="119" selection-end-line="1" selection-end-column="119" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/config_testevent.py" />
<entry file="file://$PROJECT_DIR$/Public/pyreport_excel.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://$PROJECT_DIR$/Public/py_Html.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="133">
<caret line="87" column="0" lean-forward="false" selection-start-line="87" selection-start-column="0" selection-end-line="87" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test_Report/201803131244-result.html" />
<entry file="file://$PROJECT_DIR$/log/jiekou-2018-03-13-11.log" />
<entry file="file://$PROJECT_DIR$/log/jiekou-2018-03-13-12.log" />
<entry file="file://$PROJECT_DIR$/Public/emmail.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="756">
<caret line="28" column="17" lean-forward="false" selection-start-line="28" selection-start-column="17" selection-end-line="28" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/log/jiekou-2018-03-13-13.log" />
<entry file="file://$PROJECT_DIR$/log/jiekou-2018-03-23-15.log">
<provider selected="true" editor-type-id="LogFileEditorProvider">
<state relative-caret-position="-3885">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/xiti.py" />
<entry file="file://$PROJECT_DIR$/Public/create_report.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://$PROJECT_DIR$/config/test_report.yaml">
<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" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/email.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="81">
<caret line="3" column="13" lean-forward="false" selection-start-line="3" selection-start-column="13" selection-end-line="3" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Interface/__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" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Interface/test_requests.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-299">
<caret line="10" column="60" lean-forward="false" selection-start-line="10" selection-start-column="56" selection-end-line="10" selection-end-column="60" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Interface/testFengzhuang.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522">
<caret line="20" column="25" lean-forward="false" selection-start-line="20" selection-start-column="25" selection-end-line="20" selection-end-column="25" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run_dubbo_html.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="159">
<caret line="12" column="0" lean-forward="false" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/log.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="287">
<caret line="32" column="0" lean-forward="false" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="162">
<caret line="6" column="16" lean-forward="false" selection-start-line="6" selection-start-column="16" selection-end-line="6" selection-end-column="16" />
<folding />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/log/jiekou-2018-03-29-13.log">
<provider selected="true" editor-type-id="LogFileEditorProvider">
<state relative-caret-position="-145">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Interface/dubbo_feng.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="648">
<caret line="24" column="25" lean-forward="false" selection-start-line="24" selection-start-column="25" selection-end-line="24" selection-end-column="25" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testCase/dubbocase.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="10" column="36" lean-forward="false" selection-start-line="10" selection-start-column="36" selection-end-line="10" selection-end-column="36" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testCase/ddt_case.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="5" column="13" lean-forward="false" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Public/get_excel.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="216">
<caret line="9" column="8" lean-forward="false" selection-start-line="9" selection-start-column="8" selection-end-line="9" selection-end-column="8" />
<folding>
<element signature="e#121#132#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run_html.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="189">
<caret line="11" column="49" lean-forward="false" selection-start-line="11" selection-start-column="49" selection-end-line="11" selection-end-column="49" />
<folding>
<element signature="e#43#66#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run_new.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="297">
<caret line="13" column="62" lean-forward="false" selection-start-line="13" selection-start-column="62" selection-end-line="13" selection-end-column="62" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testCase/case.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-621">
<caret line="7" column="0" lean-forward="false" selection-start-line="7" selection-start-column="0" selection-end-line="8" selection-end-column="41" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/run_excel_re.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="381">
<caret line="15" column="49" lean-forward="false" selection-start-line="15" selection-start-column="49" selection-end-line="15" selection-end-column="49" />
<folding>
<element signature="e#89#130#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

26
Interface/dubbo_feng.py Normal file
View File

@@ -0,0 +1,26 @@
"""
@author: lileilei
@file: dubbo_feng.py
@time: 2018/3/29 12:26
"""
from pyhessian.client import HessianProxy
from pyhessian import protocol
from Public.log import LOG,logger
@logger('dubbo接口')
class DubboInterface:
def __init__(self,url,interface,method,param,**kwargs):
self.url=url
self.interface=interface
self.method=method
self.param=param
self.interfaceparam=protocol.object_factory(self.param,**kwargs)
def getresult(self):
try:
result=HessianProxy(self.url+self.interface)
return_result=getattr(result,self.method)(self.interfaceparam)
LOG.info('测试返回结果:%s'%return_result)
res={'code':0,'result':return_result}
except Exception as e:
LOG.info('测试失败,原因:%s'%e)
res={'code':1,'result':e}
return res

View File

@@ -14,11 +14,11 @@ class TestApi(object):
def testapi(self):
if self.fangshi=='POST':
self.parem = {'key': self.key, 'info': self.connent}
response=reques.post(self.url,self.parem)
self.response=reques.post(self.url,self.parem)
elif self.fangshi=="GET":
self.parem = {'key': self.key, 'info': self.connent}
response = reques.get(url=self.url,params=self.parem)
return response
self.response = reques.get(url=self.url,params=self.parem)
return self.response
def getJson(self):
json_data = self.testapi()
return json_data

View File

@@ -6,10 +6,9 @@
import xlrd
from Public.log import LOG,logger
@logger('解析测试用例文件')
def datacel():
def datacel(filrpath):
try:
filepath='.\\test_case\\case.xlsx'
file=xlrd.open_workbook(filepath)
file=xlrd.open_workbook(filrpath)
me=file.sheets()[0]
nrows=me.nrows
listid=[]
@@ -32,7 +31,9 @@ def datacel():
except:LOG.info('打开测试用例失败,原因是:%s'%Exception)
@logger('生成数据驱动所用数据')
def makedata():
listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname=datacel()
import os
path = os.getcwd() + '\\test_case\\case.xlsx'
listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname=datacel(path)
make_data=[]
for i in range(len(listid)):
make_data.append({'url':listurl[i],'key':listkey[i],'coneent':listconeent[i],'fangshi':listfangshi[i],'qiwang':listqiwang[i]})

View File

@@ -1,6 +1,10 @@
# 接口测试框架基于json格式、http请求,python3,不兼容python2.x版本
<<<<<<< HEAD
## 新增对dubbo接口的支持由于当前调试的问题暂时没有调试详情可见dubbo分支。
=======
# 支持对dubbo接口测试的相关内容暂时存放在dubbo分支。
>>>>>>> dubbo
## 注现在基于Excel文件管理测试用例基本实现,)
# 2018-3-13版本修改
### 原来的测试报告更加详细的展示错误类型,对部分代码进行了优化,断言结果返回更加详细,更快的定位测试问题

View File

@@ -0,0 +1,56 @@
[2018-03-29 13:00:14.587058] INFO: jiekou: 当前模块 解析测试用例文件
[2018-03-29 13:00:14.601059] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:00:14.601059] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:00:14.707065] INFO: jiekou: 当前模块 解析测试用例文件
[2018-03-29 13:00:14.707065] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:00:14.708065] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:00:14.711065] INFO: jiekou: 当前模块 dubbo接口测试
[2018-03-29 13:00:14.711065] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:00:14.712065] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:00:53.118262] INFO: jiekou: 当前模块 解析测试用例文件
[2018-03-29 13:00:53.118262] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:00:53.119262] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:00:53.127262] INFO: jiekou: 当前模块 解析测试用例文件
[2018-03-29 13:00:53.127262] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:00:53.127262] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:00:53.131263] INFO: jiekou: 当前模块 dubbo接口测试
[2018-03-29 13:00:53.131263] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:00:53.131263] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:07:03.557450] INFO: jiekou: 当前模块 requests封装
[2018-03-29 13:07:03.558450] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:07:03.558450] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:07:03.575451] INFO: jiekou: 当前模块 解析测试用例文件
[2018-03-29 13:07:03.575451] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\jiekou-python3\\test_case\\case.xlsx',)
[2018-03-29 13:07:03.575451] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:07:03.620453] INFO: jiekou: 当前模块 解析测试用例文件
[2018-03-29 13:07:03.621453] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:07:03.621453] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:07:44.560795] INFO: jiekou: 当前模块 requests封装
[2018-03-29 13:07:44.560795] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:07:44.561795] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:07:44.571796] INFO: jiekou: 当前模块 解析测试用例文件
[2018-03-29 13:07:44.571796] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\jiekou-python3\\test_case\\case.xlsx',)
[2018-03-29 13:07:44.571796] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:07:44.581796] INFO: jiekou: 当前模块 解析测试用例文件
[2018-03-29 13:07:44.582796] INFO: jiekou: 全部args参数参数信息 , ('C:\\Users\\Administrator\\Desktop\\jiekou-python3\\test_case\\case.xlsx',)
[2018-03-29 13:07:44.582796] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:07:44.586797] INFO: jiekou: 当前模块 测试
[2018-03-29 13:07:44.586797] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:07:44.586797] INFO: jiekou: 全部kwargs参数信息 , {}
[2018-03-29 13:07:44.663801] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api ,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40001
[2018-03-29 13:07:44.663801] INFO: jiekou: 当前模块 断言测试结果
[2018-03-29 13:07:44.664801] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:07:44.664801] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40001', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}}
[2018-03-29 13:07:44.688802] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:http://www.tuling123.com/openapi/api
,返回:{'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}},预期:code=40002
[2018-03-29 13:07:44.688802] INFO: jiekou: 当前模块 断言测试结果
[2018-03-29 13:07:44.688802] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:07:44.688802] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': 'code=40002', 'fanhuijson': {'code': 0, 'result': {'code': 40007, 'text': '您的请求内容为空。'}}}
[2018-03-29 13:07:44.896814] INFO: jiekou: inputdata> 参数:{'password':'1222'}, url:https://api.douban.com/v2/photo/:id ,返回:{'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}},预期:
[2018-03-29 13:07:44.896814] INFO: jiekou: 当前模块 断言测试结果
[2018-03-29 13:07:44.896814] INFO: jiekou: 全部args参数参数信息 , ()
[2018-03-29 13:07:44.897814] INFO: jiekou: 全部kwargs参数信息 , {'asserqiwang': '', 'fanhuijson': {'code': 0, 'result': {'msg': 'uri_not_found', 'code': 1001, 'request': 'GET /v2/photo/:id'}}}
[2018-03-29 13:07:44.897814] INFO: jiekou: 填写测试预期值
[2018-03-29 13:07:45.329839] INFO: jiekou: 当前模块 保存测试结果
[2018-03-29 13:07:45.330839] INFO: jiekou: 全部args参数参数信息 , (datetime.datetime(2018, 3, 29, 13, 7, 44, 581796), 3, 0, 2)
[2018-03-29 13:07:45.330839] INFO: jiekou: 全部kwargs参数信息 , {}

View File

@@ -11,3 +11,4 @@
2018-03-13 13:07:40.708058=3=0=2
2018-03-23 15:14:02.485629=3=0=2
2018-03-23 15:14:37.729644=3=0=2
2018-03-29 13:07:44.581796=3=0=2

24
run_dubbo_html.py Normal file
View File

@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
# @Author : leizi
import os,datetime,time
from testCase.dubbocase import testdubbointerface
from Public.py_Html import createHtml
from Public.get_excel import datacel
from Public.create_report import save_result
def stast():
starttime=datetime.datetime.now()
day= time.strftime("%Y%m%d%H%M", time.localtime(time.time()))
basdir=os.path.abspath(os.path.dirname(__file__))
listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname = datacel()
listrelust, list_fail, list_pass, list_json,list_exption,list_weizhi = testdubbointerface()
filepath =os.path.join(basdir+'\\test_Report\\%s-result.html'%day)
if os.path.exists(filepath) is False:
os.system(r'touch %s' % filepath)
save_result(starttime,len(listrelust),((list_pass)),list_fail)
endtime=datetime.datetime.now()
createHtml(titles='dubbo接口测试报告',filepath=filepath,starttime=starttime,
endtime=endtime,passge=list_pass,fail=list_fail,
id=listid,name=listname,key=listkey,coneent=listconeent,url=listurl,meth=listfangshi,
yuqi=listqiwang,json=list_json,relusts=listrelust,weizhi=list_weizhi,exceptions=list_exption)
if __name__ == '__main__':
stast()

View File

@@ -5,7 +5,7 @@
@time: 2017/6/9 12:45
"""
from Public.pyreport_excel import create
import os,threading,datetime
import os,datetime
from testCase.case import testinterface
from Public.get_excel import datacel
from Public.create_report import save_result
@@ -13,7 +13,8 @@ def start():
starttime=datetime.datetime.now()
m=datetime.datetime.now().strftime("%Y%m%d")
basdir = os.path.abspath(os.path.dirname(__file__))
listid,listkey,listconeent,listurl,listfangshi,listqiwang,listname=datacel()
path = os.getcwd() + '\\test_case\\case.xlsx'
listid,listkey,listconeent,listurl,listfangshi,listqiwang,listname=datacel(path)
listrelust, list_fail, list_pass, list_json, list_exption, list_weizhi =testinterface()
filepath = os.path.join(basdir + '\\test_Report\\%s-result.xls'%m)
if os.path.exists(filepath) is False:

View File

@@ -9,7 +9,8 @@ def stast():
starttime=datetime.datetime.now()
day= time.strftime("%Y%m%d%H%M", time.localtime(time.time()))
basdir=os.path.abspath(os.path.dirname(__file__))
listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname = datacel()
path = os.getcwd() + '\\test_case\\case.xlsx'
listid, listkey, listconeent, listurl, listfangshi, listqiwang, listname = datacel(path)
listrelust, list_fail, list_pass, list_json,list_exption,list_weizhi = testinterface()
filepath =os.path.join(basdir+'\\test_Report\\%s-result.html'%day)
if os.path.exists(filepath) is False:

View File

@@ -11,5 +11,5 @@ if __name__=='__main__':
file_dir = os.path.join(basedir, 'test_Report')
file = os.path.join(file_dir, (now + '.html'))
re_open = open(file, 'wb')
runner = BSTestRunner.BSTestRunner(stream=re_open, title='接口测试报告', description='测试结果')
runner = BSTestRunner.BSTestRunner(stream=re_open, title='http接口测试报告', description='测试结果')
m=runner.run(suite)

View File

@@ -5,7 +5,9 @@
from Interface.testFengzhuang import TestApi
from Public.get_excel import datacel
from Public.log import LOG,logger
listid,listkey,listconeent,listurl,listfangshi,listqiwang,listname=datacel()
import os
path=os.getcwd()+'\\test_case\\case.xlsx'
listid,listkey,listconeent,listurl,listfangshi,listqiwang,listname=datacel(path)
from Public.panduan import assert_in
@logger('测试')
def testinterface():

View File

@@ -1,3 +1,8 @@
"""
@author: lileilei
@file: dubbocase.py
@time: 2018/3/29 12:47
"""
from Interface.testFengzhuang import TestApi
from Public.get_excel import makedata
from Public.log import LOG

48
testCase/dubbocase.py Normal file
View File

@@ -0,0 +1,48 @@
"""
@author: lileilei
@file: dubbocase.py
@time: 2018/3/29 12:47
"""
from Interface.dubbo_feng import DubboInterface
from Public.log import LOG,logger
from Public.panduan import assert_in
from Public.get_excel import datacel
import os
path=os.getcwd()+'\\test_case\\dubbocase.xlsx'
listid,listurl,listinterface,listmeth,listfobject,listparam,listassert=datacel(path)
@logger('dubbo接口测试')
def testdubbointerface():
list_pass = 0
list_fail = 0
list_json = []
listrelust = []
list_weizhi = 0
list_exption = 0
for i in range(len(listid)):
dubboapi=DubboInterface(url=listurl,interface=listinterface[i],method=listmeth[i],param=listfobject[i],**(eval(listparam[i])))
dubboapireslu=dubboapi.getresult()
if dubboapireslu['code'] == 0:
LOG.info('inputdata> 参数:%s, url:%s ,返回:%s,预期:%s' % (listparam[i], listurl[i], dubboapireslu, listassert[i]))
assert_re = assert_in(asserqiwang=listassert[i], fanhuijson=dubboapireslu)
if assert_re['code'] == 0:
list_json.append(dubboapireslu['result'])
listrelust.append('pass')
list_pass += 1
elif assert_re['code'] == 1:
list_fail += 1
listrelust.append('fail')
list_json.append(dubboapireslu['result'])
elif assert_re['code'] == 2:
list_exption += 1
listrelust.append('exception')
list_json.append(assert_re['result'])
else:
list_weizhi += 1
listrelust.append('未知错误')
list_json.append('未知错误')
else:
list_exption += 1
listrelust.append('exception')
list_json.append(dubboapireslu['result'])
continue
return listrelust, list_fail, list_pass, list_json, list_exption, list_weizhi

View File

@@ -11,9 +11,9 @@
<div style='width: 1170px;margin-left: 15%'>
<h1>接口测试的结果</h1>
<p><strong>开始时间:</strong> 2018-03-23 15:14:37.729644</p>
<p><strong>结束时间:</strong> 2018-03-23 15:14:37.966658</p>
<p><strong>耗时:</strong> 0:00:00.237014</p>
<p><strong>开始时间:</strong> 2018-03-29 13:07:44.581796</p>
<p><strong>结束时间:</strong> 2018-03-29 13:07:45.333839</p>
<p><strong>耗时:</strong> 0:00:00.752043</p>
<p><strong>结果:</strong>
<span >Pass: <strong >0</strong>
Fail: <strong >2</strong>

BIN
test_case/dubbocase.xlsx Normal file

Binary file not shown.