<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title id="head-title">bpm1.html</title> <style type="text/css">body { font-family: Helvetica, Arial, sans-serif; font-size: 12px; /* do not increase min-width as some may use split screens */ min-width: 800px; color: #999; } h1 { font-size: 24px; color: black; } h2 { font-size: 16px; color: black; } p { color: black; } a { color: #999; } table { border-collapse: collapse; } /****************************** * SUMMARY INFORMATION ******************************/ #environment td { padding: 5px; border: 1px solid #e6e6e6; vertical-align: top; } #environment tr:nth-child(odd) { background-color: #f6f6f6; } #environment ul { margin: 0; padding: 0 20px; } /****************************** * TEST RESULT COLORS ******************************/ span.passed, .passed .col-result { color: green; } span.skipped, span.xfailed, span.rerun, .skipped .col-result, .xfailed .col-result, .rerun .col-result { color: orange; } span.error, span.failed, span.xpassed, .error .col-result, .failed .col-result, .xpassed .col-result { color: red; } .col-links__extra { margin-right: 3px; } /****************************** * RESULTS TABLE * * 1. Table Layout * 2. Extra * 3. Sorting items * ******************************/ /*------------------ * 1. Table Layout *------------------*/ #results-table { border: 1px solid #e6e6e6; color: #999; font-size: 12px; width: 100%; } #results-table th, #results-table td { padding: 5px; border: 1px solid #e6e6e6; text-align: left; } #results-table th { font-weight: bold; } /*------------------ * 2. Extra *------------------*/ .logwrapper { max-height: 230px; overflow-y: scroll; background-color: #e6e6e6; } .logwrapper.expanded { max-height: none; } .logwrapper.expanded .logexpander:after { content: "collapse [-]"; } .logwrapper .logexpander { z-index: 1; position: sticky; top: 10px; width: max-content; border: 1px solid; border-radius: 3px; padding: 5px 7px; margin: 10px 0 10px calc(100% - 80px); cursor: pointer; background-color: #e6e6e6; } .logwrapper .logexpander:after { content: "expand [+]"; } .logwrapper .logexpander:hover { color: #000; border-color: #000; } .logwrapper .log { min-height: 40px; position: relative; top: -50px; height: calc(100% + 50px); border: 1px solid #e6e6e6; color: black; display: block; font-family: "Courier New", Courier, monospace; padding: 5px; padding-right: 80px; white-space: pre-wrap; } div.media { border: 1px solid #e6e6e6; float: right; height: 240px; margin: 0 5px; overflow: hidden; width: 320px; } .media-container { display: grid; grid-template-columns: 25px auto 25px; align-items: center; flex: 1 1; overflow: hidden; height: 200px; } .media-container--fullscreen { grid-template-columns: 0px auto 0px; } .media-container__nav--right, .media-container__nav--left { text-align: center; cursor: pointer; } .media-container__viewport { cursor: pointer; text-align: center; height: inherit; } .media-container__viewport img, .media-container__viewport video { object-fit: cover; width: 100%; max-height: 100%; } .media__name, .media__counter { display: flex; flex-direction: row; justify-content: space-around; flex: 0 0 25px; align-items: center; } .collapsible td:not(.col-links) { cursor: pointer; } .collapsible td:not(.col-links):hover::after { color: #bbb; font-style: italic; cursor: pointer; } .col-result { width: 130px; } .col-result:hover::after { content: " (hide details)"; } .col-result.collapsed:hover::after { content: " (show details)"; } #environment-header h2:hover::after { content: " (hide details)"; color: #bbb; font-style: italic; cursor: pointer; font-size: 12px; } #environment-header.collapsed h2:hover::after { content: " (show details)"; color: #bbb; font-style: italic; cursor: pointer; font-size: 12px; } /*------------------ * 3. Sorting items *------------------*/ .sortable { cursor: pointer; } .sortable.desc:after { content: " "; position: relative; left: 5px; bottom: -12.5px; border: 10px solid #4caf50; border-bottom: 0; border-left-color: transparent; border-right-color: transparent; } .sortable.asc:after { content: " "; position: relative; left: 5px; bottom: 12.5px; border: 10px solid #4caf50; border-top: 0; border-left-color: transparent; border-right-color: transparent; } .hidden, .summary__reload__button.hidden { display: none; } .summary__data { flex: 0 0 550px; } .summary__reload { flex: 1 1; display: flex; justify-content: center; } .summary__reload__button { flex: 0 0 300px; display: flex; color: white; font-weight: bold; background-color: #4caf50; text-align: center; justify-content: center; align-items: center; border-radius: 3px; cursor: pointer; } .summary__reload__button:hover { background-color: #46a049; } .summary__spacer { flex: 0 0 550px; } .controls { display: flex; justify-content: space-between; } .filters, .collapse { display: flex; align-items: center; } .filters button, .collapse button { color: #999; border: none; background: none; cursor: pointer; text-decoration: underline; } .filters button:hover, .collapse button:hover { color: #ccc; } .filter__label { margin-right: 10px; } </style> </head> <body> <h1 id="title">bpm1.html</h1> <p>Report generated on 04-Jan-2024 at 14:35:29 by <a href="https://pypi.python.org/pypi/pytest-html">pytest-html</a> v4.1.1</p> <div id="environment-header"> <h2>Environment</h2> </div> <table id="environment"></table> <!-- TEMPLATES --> <template id="template_environment_row"> <tr> <td></td> <td></td> </tr> </template> <template id="template_results-table__body--empty"> <tbody class="results-table-row"> <tr id="not-found-message"> <td colspan="4">No results found. Check the filters.</th> </tr> </template> <template id="template_results-table__tbody"> <tbody class="results-table-row"> <tr class="collapsible"> </tr> <tr class="extras-row"> <td class="extra" colspan="4"> <div class="extraHTML"></div> <div class="media"> <div class="media-container"> <div class="media-container__nav--left"><</div> <div class="media-container__viewport"> <img src="" /> <video controls> <source src="" type="video/mp4"> </video> </div> <div class="media-container__nav--right">></div> </div> <div class="media__name"></div> <div class="media__counter"></div> </div> <div class="logwrapper"> <div class="logexpander"></div> <div class="log"></div> </div> </td> </tr> </tbody> </template> <!-- END TEMPLATES --> <div class="summary"> <div class="summary__data"> <h2>Summary</h2> <div class="additional-summary prefix"> </div> <p class="run-count">56 tests took 00:00:11.</p> <p class="filter">(Un)check the boxes to filter the results.</p> <div class="summary__reload"> <div class="summary__reload__button hidden" onclick="location.reload()"> <div>There are still tests running. <br />Reload this page to get the latest results!</div> </div> </div> <div class="summary__spacer"></div> <div class="controls"> <div class="filters"> <input checked="true" class="filter" name="filter_checkbox" type="checkbox" data-test-result="failed" /> <span class="failed">10 Failed,</span> <input checked="true" class="filter" name="filter_checkbox" type="checkbox" data-test-result="passed" /> <span class="passed">46 Passed,</span> <input checked="true" class="filter" name="filter_checkbox" type="checkbox" data-test-result="skipped" /> <span class="skipped">2 Skipped,</span> <input checked="true" class="filter" name="filter_checkbox" type="checkbox" data-test-result="xfailed" disabled/> <span class="xfailed">0 Expected failures,</span> <input checked="true" class="filter" name="filter_checkbox" type="checkbox" data-test-result="xpassed" disabled/> <span class="xpassed">0 Unexpected passes,</span> <input checked="true" class="filter" name="filter_checkbox" type="checkbox" data-test-result="error" disabled/> <span class="error">0 Errors,</span> <input checked="true" class="filter" name="filter_checkbox" type="checkbox" data-test-result="rerun" /> <span class="rerun">50 Reruns</span> </div> <div class="collapse"> <button id="show_all_details">Show all details</button> / <button id="hide_all_details">Hide all details</button> </div> </div> </div> <div class="additional-summary summary"> </div> <div class="additional-summary postfix"> </div> </div> <table id="results-table"> <thead id="results-table-head"> <tr> <th class="sortable" data-column-type="result">Result</th> <th class="sortable" data-column-type="testId">Test</th> <th class="sortable" data-column-type="duration">Duration</th> <th>Links</th> </tr> </thead> </table> </body> <footer> <div id="data-container" data-jsonblob="{"environment": {"Python": "3.8.10", "Platform": "Windows-10-10.0.22631-SP0", "Packages": {"pytest": "7.4.3", "pluggy": "1.3.0"}, "Plugins": {"Faker": "20.1.0", "dependency": "0.6.0", "html": "4.1.1", "metadata": "3.0.0", "ordering": "0.6", "rerunfailures": "13.0"}, "JAVA_HOME": "C:\\Program Files\\Java\\jdk1.8.0_251"}, "tests": {"test_case/test_dependecy_template/test_dependecy_template.py::test_login": [{"extras": [], "result": "Passed", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test_login", "duration": "223 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test_login</td>", "<td class=\"col-duration\">223 ms</td>", "<td class=\"col-links\"></td>"], "log": "No log output captured."}], "test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo": [{"extras": [], "result": "Rerun", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo", "duration": "89 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo</td>", "<td class=\"col-duration\">89 ms</td>", "<td class=\"col-links\"></td>"], "log": "@pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n&gt; assert &quot;\u6210\u529f&quot; in res.text\nE assert &#x27;\u6210\u529f&#x27; in &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27;\nE + where &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27; = &lt;Response [200]&gt;.text\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:50: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\n @pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n assert &quot;\u6210\u529f&quot; in res.text\n except AssertionError:\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:52: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo", "duration": "89 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo</td>", "<td class=\"col-duration\">89 ms</td>", "<td class=\"col-links\"></td>"], "log": "@pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n&gt; assert &quot;\u6210\u529f&quot; in res.text\nE assert &#x27;\u6210\u529f&#x27; in &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27;\nE + where &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27; = &lt;Response [200]&gt;.text\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:50: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\n @pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n assert &quot;\u6210\u529f&quot; in res.text\n except AssertionError:\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:52: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo", "duration": "89 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo</td>", "<td class=\"col-duration\">89 ms</td>", "<td class=\"col-links\"></td>"], "log": "@pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n&gt; assert &quot;\u6210\u529f&quot; in res.text\nE assert &#x27;\u6210\u529f&#x27; in &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27;\nE + where &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27; = &lt;Response [200]&gt;.text\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:50: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\n @pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n assert &quot;\u6210\u529f&quot; in res.text\n except AssertionError:\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:52: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo", "duration": "89 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo</td>", "<td class=\"col-duration\">89 ms</td>", "<td class=\"col-links\"></td>"], "log": "@pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n&gt; assert &quot;\u6210\u529f&quot; in res.text\nE assert &#x27;\u6210\u529f&#x27; in &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27;\nE + where &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27; = &lt;Response [200]&gt;.text\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:50: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\n @pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n assert &quot;\u6210\u529f&quot; in res.text\n except AssertionError:\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:52: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo", "duration": "89 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo</td>", "<td class=\"col-duration\">89 ms</td>", "<td class=\"col-links\"></td>"], "log": "@pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n&gt; assert &quot;\u6210\u529f&quot; in res.text\nE assert &#x27;\u6210\u529f&#x27; in &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27;\nE + where &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27; = &lt;Response [200]&gt;.text\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:50: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\n @pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n assert &quot;\u6210\u529f&quot; in res.text\n except AssertionError:\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:52: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo", "duration": "89 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test_add_demo</td>", "<td class=\"col-duration\">89 ms</td>", "<td class=\"col-links\"></td>"], "log": "@pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n&gt; assert &quot;\u6210\u529f&quot; in res.text\nE assert &#x27;\u6210\u529f&#x27; in &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27;\nE + where &#x27;{&quot;state&quot;:false,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ef4\u5ea6\u5931\u8d25\uff0c\u7ef4\u5ea6\u7f16\u7801\u3010dem_code_test_528\u3011\u5728\u7cfb\u7edf\u4e2d\u5df2\u5b58\u5728\uff01&quot;,&quot;value&quot;:&quot;&quot;}&#x27; = &lt;Response [200]&gt;.text\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:50: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\n @pytest.mark.dependency(depends=[&quot;test_login&quot;])\n def test_add_demo():\n add_dem_url = &quot;http://120.46.172.186:8080/api/demension/v1/dem/addDem&quot;\n add_dem_data = {\n &quot;code&quot;: &quot;dem_code_test_528&quot;,\n &quot;description&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6528&quot;,\n &quot;isDefault&quot;: 0,\n &quot;name&quot;: &quot;\u6d4b\u8bd5\u7ef4\u5ea6518&quot;\n }\n header = {&quot;Authorization&quot;: &quot;Bearer &quot;+data_dict[&quot;token&quot;]}\n print(header)\n res = requests.request(method=&quot;post&quot;, url=add_dem_url, json=add_dem_data, headers=header)\n # \u65ad\u8a00\n try:\n assert &quot;\u6210\u529f&quot; in res.text\n except AssertionError:\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_dependecy_template\\test_dependecy_template.py:52: AssertionError\n\n----------------------------- Captured stdout call -----------------------------\n{&#x27;Authorization&#x27;: &#x27;Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzNjUsImlhdCI6MTcwNDM0OTk2NX0.s-lEUTjmbiI6OsuEPdy-EfnZjMiQhybb7cqwnM23ZKfbaWogluatVNbvkPpZsRNTMoJqRgNpdguZxZ3b3VJT0Q&#x27;}\n\n----------------------------- Captured stdout call -----------------------------\n{&#x27;Authorization&#x27;: &#x27;Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzNjUsImlhdCI6MTcwNDM0OTk2NX0.s-lEUTjmbiI6OsuEPdy-EfnZjMiQhybb7cqwnM23ZKfbaWogluatVNbvkPpZsRNTMoJqRgNpdguZxZ3b3VJT0Q&#x27;}\n\n----------------------------- Captured stdout call -----------------------------\n{&#x27;Authorization&#x27;: &#x27;Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzNjUsImlhdCI6MTcwNDM0OTk2NX0.s-lEUTjmbiI6OsuEPdy-EfnZjMiQhybb7cqwnM23ZKfbaWogluatVNbvkPpZsRNTMoJqRgNpdguZxZ3b3VJT0Q&#x27;}\n\n----------------------------- Captured stdout call -----------------------------\n{&#x27;Authorization&#x27;: &#x27;Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzNjUsImlhdCI6MTcwNDM0OTk2NX0.s-lEUTjmbiI6OsuEPdy-EfnZjMiQhybb7cqwnM23ZKfbaWogluatVNbvkPpZsRNTMoJqRgNpdguZxZ3b3VJT0Q&#x27;}\n\n----------------------------- Captured stdout call -----------------------------\n{&#x27;Authorization&#x27;: &#x27;Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzNjUsImlhdCI6MTcwNDM0OTk2NX0.s-lEUTjmbiI6OsuEPdy-EfnZjMiQhybb7cqwnM23ZKfbaWogluatVNbvkPpZsRNTMoJqRgNpdguZxZ3b3VJT0Q&#x27;}\n\n----------------------------- Captured stdout call -----------------------------\n{&#x27;Authorization&#x27;: &#x27;Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzNjUsImlhdCI6MTcwNDM0OTk2NX0.s-lEUTjmbiI6OsuEPdy-EfnZjMiQhybb7cqwnM23ZKfbaWogluatVNbvkPpZsRNTMoJqRgNpdguZxZ3b3VJT0Q&#x27;}\n"}], "test_case/test_dependecy_template/test_dependecy_template.py::test3[1-2-3]": [{"extras": [], "result": "Skipped", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test3[1-2-3]::setup", "duration": "1 ms", "resultsTableRow": ["<td class=\"col-result\">Skipped</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test3[1-2-3]::setup</td>", "<td class=\"col-duration\">1 ms</td>", "<td class=\"col-links\"></td>"], "log": "(&#x27;D:\\\\Document\\\\PythonDoc\\\\test_58\\\\venv\\\\lib\\\\site-packages\\\\pytest_dependency.py&#x27;, 101, &#x27;Skipped: test3[1-2-3] depends on test_add_demo&#x27;)\n\n------------------------------ Captured log setup ------------------------------\nINFO pytest_dependency:pytest_dependency.py:100 skip test3[1-2-3] because it depends on test_add_demo\n"}], "test_case/test_dependecy_template/test_dependecy_template.py::test3[4-5-6]": [{"extras": [], "result": "Skipped", "testId": "test_case/test_dependecy_template/test_dependecy_template.py::test3[4-5-6]::setup", "duration": "0 ms", "resultsTableRow": ["<td class=\"col-result\">Skipped</td>", "<td class=\"col-testId\">test_case/test_dependecy_template/test_dependecy_template.py::test3[4-5-6]::setup</td>", "<td class=\"col-duration\">0 ms</td>", "<td class=\"col-links\"></td>"], "log": "(&#x27;D:\\\\Document\\\\PythonDoc\\\\test_58\\\\venv\\\\lib\\\\site-packages\\\\pytest_dependency.py&#x27;, 101, &#x27;Skipped: test3[4-5-6] depends on test_add_demo&#x27;)\n\n------------------------------ Captured log setup ------------------------------\nINFO pytest_dependency:pytest_dependency.py:100 skip test3[4-5-6] because it depends on test_add_demo\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]", "duration": "381 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]</td>", "<td class=\"col-duration\">381 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]", "duration": "95 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]</td>", "<td class=\"col-duration\">95 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]", "duration": "91 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]</td>", "<td class=\"col-duration\">91 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]", "duration": "92 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]</td>", "<td class=\"col-duration\">92 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D267B4C0&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D267B4C0&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODIsImlhdCI6MTcwNDM0OTk4Mn0.XuwDV-cotisoYDQlXfUacBbFU650hUhmaMZehnnrY6ydfFIUA0ioarTSvlLHUSPO5OIzO5XrOgI-7XUXXtuPUQ&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODIsImlhdCI6MTcwNDM0OTk4Mn0.XuwDV-cotisoYDQlXfUacBbFU650hUhmaMZehnnrY6ydfFIUA0ioarTSvlLHUSPO5OIzO5XrOgI-7XUXXtuPUQ&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26432C0&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26432C0&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODUsImlhdCI6MTcwNDM0OTk4NX0.saUZl5q6rnTukdv9nET9nHg9Fg4ujijZWw6VLJWIkFWYLe7rtGzxnEJEmwJDlxt2Yz9rM9nTKj4t51gDUIvkQA&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODUsImlhdCI6MTcwNDM0OTk4NX0.saUZl5q6rnTukdv9nET9nHg9Fg4ujijZWw6VLJWIkFWYLe7rtGzxnEJEmwJDlxt2Yz9rM9nTKj4t51gDUIvkQA&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D2657F00&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D2657F00&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODgsImlhdCI6MTcwNDM0OTk4OH0.GoaIFL0v64bVHxblhBZ9JL8naLgaQGDuZ46Gko3kCMTJoZs4WYOJIXT-h0OG3SL4QkX1gJedmYjo0uDufyNOWw&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODgsImlhdCI6MTcwNDM0OTk4OH0.GoaIFL0v64bVHxblhBZ9JL8naLgaQGDuZ46Gko3kCMTJoZs4WYOJIXT-h0OG3SL4QkX1gJedmYjo0uDufyNOWw&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D2644F00&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D2644F00&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTEsImlhdCI6MTcwNDM0OTk5MX0.Op07nKLJTs75wA1Ogi2ACGdQ9-dTo4AqAEoaFkd_zlxX6-lWMfHX3RGNvkL6BlZkqzcYSmPn4mJwTj0y7JBBZQ&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTEsImlhdCI6MTcwNDM0OTk5MX0.Op07nKLJTs75wA1Ogi2ACGdQ9-dTo4AqAEoaFkd_zlxX6-lWMfHX3RGNvkL6BlZkqzcYSmPn4mJwTj0y7JBBZQ&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D25F7980&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D25F7980&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTQsImlhdCI6MTcwNDM0OTk5NH0.V6VuSygFVrFwCow7WDieurQ65v73BbKTugd25EHkhUbqXP-rvAsJQtBHQsCQP8lg3lFGP-h3VN3turk6xZh7TA&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTQsImlhdCI6MTcwNDM0OTk5NH0.V6VuSygFVrFwCow7WDieurQ65v73BbKTugd25EHkhUbqXP-rvAsJQtBHQsCQP8lg3lFGP-h3VN3turk6xZh7TA&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26BB740&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26BB740&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTcsImlhdCI6MTcwNDM0OTk5N30.LQZiDp3f99xLuPhcnWneQy9_1TgY-ht_ASpAOCJvC86qC0gl3YQ7qPzQXAxQ5EwHuDcWdYqHQ8xoeSvXy4sYYA&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTcsImlhdCI6MTcwNDM0OTk5N30.LQZiDp3f99xLuPhcnWneQy9_1TgY-ht_ASpAOCJvC86qC0gl3YQ7qPzQXAxQ5EwHuDcWdYqHQ8xoeSvXy4sYYA&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E33430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODIsImlhdCI6MTcwNDM0OTk4Mn0.XuwDV-cotisoYDQlXfUacBbFU650hUhmaMZehnnrY6ydfFIUA0ioarTSvlLHUSPO5OIzO5XrOgI-7XUXXtuPUQ&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODUsImlhdCI6MTcwNDM0OTk4NX0.saUZl5q6rnTukdv9nET9nHg9Fg4ujijZWw6VLJWIkFWYLe7rtGzxnEJEmwJDlxt2Yz9rM9nTKj4t51gDUIvkQA&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzODgsImlhdCI6MTcwNDM0OTk4OH0.GoaIFL0v64bVHxblhBZ9JL8naLgaQGDuZ46Gko3kCMTJoZs4WYOJIXT-h0OG3SL4QkX1gJedmYjo0uDufyNOWw&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTEsImlhdCI6MTcwNDM0OTk5MX0.Op07nKLJTs75wA1Ogi2ACGdQ9-dTo4AqAEoaFkd_zlxX6-lWMfHX3RGNvkL6BlZkqzcYSmPn4mJwTj0y7JBBZQ&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTQsImlhdCI6MTcwNDM0OTk5NH0.V6VuSygFVrFwCow7WDieurQ65v73BbKTugd25EHkhUbqXP-rvAsJQtBHQsCQP8lg3lFGP-h3VN3turk6xZh7TA&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTcsImlhdCI6MTcwNDM0OTk5N30.LQZiDp3f99xLuPhcnWneQy9_1TgY-ht_ASpAOCJvC86qC0gl3YQ7qPzQXAxQ5EwHuDcWdYqHQ8xoeSvXy4sYYA&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]", "duration": "49 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]</td>", "<td class=\"col-duration\">49 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]", "duration": "101 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]</td>", "<td class=\"col-duration\">101 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]", "duration": "91 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]</td>", "<td class=\"col-duration\">91 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]", "duration": "94 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]</td>", "<td class=\"col-duration\">94 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26BB440&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26BB440&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTgsImlhdCI6MTcwNDM0OTk5OH0.b035THa5hZjcaLTyuDe-Cpc726lbJJZy3t3m6nYXXG9gaS53u7elkY3Bgm3GT70H4jP1CDKc4Cx95H5AkmbTjQ&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTgsImlhdCI6MTcwNDM0OTk5OH0.b035THa5hZjcaLTyuDe-Cpc726lbJJZy3t3m6nYXXG9gaS53u7elkY3Bgm3GT70H4jP1CDKc4Cx95H5AkmbTjQ&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26CE9C0&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26CE9C0&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDEsImlhdCI6MTcwNDM1MDAwMX0.Ovrf6LB3PBK7hAa3353MnWQerJMAy0bVlS9g8Ici-vLfc4dSjxL0eJa8HcNiViuuazeCyJVpvjWFML9bBLDMNg&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDEsImlhdCI6MTcwNDM1MDAwMX0.Ovrf6LB3PBK7hAa3353MnWQerJMAy0bVlS9g8Ici-vLfc4dSjxL0eJa8HcNiViuuazeCyJVpvjWFML9bBLDMNg&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26D8100&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26D8100&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDQsImlhdCI6MTcwNDM1MDAwNH0.uOaiK52_eYoQKPUJ1cFKoEqXRSJ_EvYGgFhl5BMCGmaYTORbzYfBdycX08f4oiqpVIyILjfcy2Lrmb1QuJ7XEg&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDQsImlhdCI6MTcwNDM1MDAwNH0.uOaiK52_eYoQKPUJ1cFKoEqXRSJ_EvYGgFhl5BMCGmaYTORbzYfBdycX08f4oiqpVIyILjfcy2Lrmb1QuJ7XEg&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26E1E80&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26E1E80&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDcsImlhdCI6MTcwNDM1MDAwN30.vHKGyl6YtNLePTdcxcNC6Xes6UweBfk_5lDYcYPIZJgaMbrifnSu0nFrdlRn7jkcW25v2bH39U8I_HA67B_CZQ&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDcsImlhdCI6MTcwNDM1MDAwN30.vHKGyl6YtNLePTdcxcNC6Xes6UweBfk_5lDYcYPIZJgaMbrifnSu0nFrdlRn7jkcW25v2bH39U8I_HA67B_CZQ&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26EEC40&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26EEC40&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MTAsImlhdCI6MTcwNDM1MDAxMH0.v_KgowfSOkE9DG9T59M8DltWgMqiPs6TIaZ0YyCQgulTUvXeMfPqU_H3P1LFrAeoG-7MFh-s9AKbgFenU46aRw&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MTAsImlhdCI6MTcwNDM1MDAxMH0.v_KgowfSOkE9DG9T59M8DltWgMqiPs6TIaZ0YyCQgulTUvXeMfPqU_H3P1LFrAeoG-7MFh-s9AKbgFenU46aRw&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26F7B40&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26F7B40&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MTMsImlhdCI6MTcwNDM1MDAxM30.cdiPm_twMz1WD_d4mP0-IHohkNN1XPNmFLnVN2akySWagNhv5dV5kXIMlKpRknEue6zwjRgOpvPPZ8wwTdYmCA&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MTMsImlhdCI6MTcwNDM1MDAxM30.cdiPm_twMz1WD_d4mP0-IHohkNN1XPNmFLnVN2akySWagNhv5dV5kXIMlKpRknEue6zwjRgOpvPPZ8wwTdYmCA&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67430&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzYzOTgsImlhdCI6MTcwNDM0OTk5OH0.b035THa5hZjcaLTyuDe-Cpc726lbJJZy3t3m6nYXXG9gaS53u7elkY3Bgm3GT70H4jP1CDKc4Cx95H5AkmbTjQ&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDEsImlhdCI6MTcwNDM1MDAwMX0.Ovrf6LB3PBK7hAa3353MnWQerJMAy0bVlS9g8Ici-vLfc4dSjxL0eJa8HcNiViuuazeCyJVpvjWFML9bBLDMNg&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDQsImlhdCI6MTcwNDM1MDAwNH0.uOaiK52_eYoQKPUJ1cFKoEqXRSJ_EvYGgFhl5BMCGmaYTORbzYfBdycX08f4oiqpVIyILjfcy2Lrmb1QuJ7XEg&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MDcsImlhdCI6MTcwNDM1MDAwN30.vHKGyl6YtNLePTdcxcNC6Xes6UweBfk_5lDYcYPIZJgaMbrifnSu0nFrdlRn7jkcW25v2bH39U8I_HA67B_CZQ&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MTAsImlhdCI6MTcwNDM1MDAxMH0.v_KgowfSOkE9DG9T59M8DltWgMqiPs6TIaZ0YyCQgulTUvXeMfPqU_H3P1LFrAeoG-7MFh-s9AKbgFenU46aRw&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MTMsImlhdCI6MTcwNDM1MDAxM30.cdiPm_twMz1WD_d4mP0-IHohkNN1XPNmFLnVN2akySWagNhv5dV5kXIMlKpRknEue6zwjRgOpvPPZ8wwTdYmCA&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]", "duration": "137 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]</td>", "<td class=\"col-duration\">137 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "235 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">235 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "235 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">235 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "235 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">235 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "235 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">235 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "235 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">235 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "235 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">235 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_wang\\test_mr_wang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_wang.test_mr_wang.TestTemple object at 0x00000241D0E67310&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D266A520&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D266AF40&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_wang\\test_mr_wang.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_wang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796390502776832&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]", "duration": "60 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]</td>", "<td class=\"col-duration\">60 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]", "duration": "57 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]</td>", "<td class=\"col-duration\">57 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]", "duration": "59 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]</td>", "<td class=\"col-duration\">59 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]", "duration": "97 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]</td>", "<td class=\"col-duration\">97 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]", "duration": "143 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_wang/test_mr_wang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]</td>", "<td class=\"col-duration\">143 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]", "duration": "365 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]</td>", "<td class=\"col-duration\">365 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]", "duration": "53 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]</td>", "<td class=\"col-duration\">53 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]", "duration": "93 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]</td>", "<td class=\"col-duration\">93 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]", "duration": "98 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]</td>", "<td class=\"col-duration\">98 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]", "duration": "94 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]</td>", "<td class=\"col-duration\">94 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "59 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">59 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D2710FC0&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D2710FC0&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzEsImlhdCI6MTcwNDM1MDAzMX0.FoFMjIviaZCqN_AGNmG8CpcUku3RdgpGz1PhH16I3cq_sqQsjLq43ACnnJZf6yqYQWFFZtP_9qmstz7zm7CcOA&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzEsImlhdCI6MTcwNDM1MDAzMX0.FoFMjIviaZCqN_AGNmG8CpcUku3RdgpGz1PhH16I3cq_sqQsjLq43ACnnJZf6yqYQWFFZtP_9qmstz7zm7CcOA&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "59 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">59 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D2735640&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D2735640&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzQsImlhdCI6MTcwNDM1MDAzNH0.BQ3GTwVPgZL49tYqPtOI5eihLOkobseZxiWKuqmRj-_LYz18Q6F1swjAIKnwRCjEWtF_8mmgpx11jlvHLTTvsA&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzQsImlhdCI6MTcwNDM1MDAzNH0.BQ3GTwVPgZL49tYqPtOI5eihLOkobseZxiWKuqmRj-_LYz18Q6F1swjAIKnwRCjEWtF_8mmgpx11jlvHLTTvsA&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "59 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">59 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D2739F00&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D2739F00&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzcsImlhdCI6MTcwNDM1MDAzN30.IUI3nVyVlU3o84wb2ZoT0p3IeXbpMCJiQatkBnjfO9xJgl4exYEqUtJEquSOTeGRCtn4V3jNJwAQ0WmlvdT0WQ&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzcsImlhdCI6MTcwNDM1MDAzN30.IUI3nVyVlU3o84wb2ZoT0p3IeXbpMCJiQatkBnjfO9xJgl4exYEqUtJEquSOTeGRCtn4V3jNJwAQ0WmlvdT0WQ&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "59 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">59 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D273F9C0&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D273F9C0&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDAsImlhdCI6MTcwNDM1MDA0MH0.PI28W19wU6NqhX44hCDORO8204a52pBNUIPcQE3UZ47WLIUp6w5B_n6cFQvlOIG_zonSFkYQP_QxJ33sdI22aA&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDAsImlhdCI6MTcwNDM1MDA0MH0.PI28W19wU6NqhX44hCDORO8204a52pBNUIPcQE3UZ47WLIUp6w5B_n6cFQvlOIG_zonSFkYQP_QxJ33sdI22aA&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "59 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">59 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D27464C0&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D27464C0&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDMsImlhdCI6MTcwNDM1MDA0M30.ZUoUHIZeELBsO4VLDGPGzukJ_gkzostKxG4UejOES9dzoMvEWMRM3331zV3WJuOA-RxiOSyhl2cRr2Nh72aMrQ&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDMsImlhdCI6MTcwNDM1MDA0M30.ZUoUHIZeELBsO4VLDGPGzukJ_gkzostKxG4UejOES9dzoMvEWMRM3331zV3WJuOA-RxiOSyhl2cRr2Nh72aMrQ&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "59 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">59 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D0E76200&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D0E76200&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDYsImlhdCI6MTcwNDM1MDA0Nn0.U1GUedmSA3KmTQxlsotKt7f91ckrd2KCUKtak37yl8Ghj29IcYCl2fOAyR_cHUFMw0veOaRh88XYVr-9-W_QyQ&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDYsImlhdCI6MTcwNDM1MDA0Nn0.U1GUedmSA3KmTQxlsotKt7f91ckrd2KCUKtak37yl8Ghj29IcYCl2fOAyR_cHUFMw0veOaRh88XYVr-9-W_QyQ&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0EAA6A0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzEsImlhdCI6MTcwNDM1MDAzMX0.FoFMjIviaZCqN_AGNmG8CpcUku3RdgpGz1PhH16I3cq_sqQsjLq43ACnnJZf6yqYQWFFZtP_9qmstz7zm7CcOA&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzQsImlhdCI6MTcwNDM1MDAzNH0.BQ3GTwVPgZL49tYqPtOI5eihLOkobseZxiWKuqmRj-_LYz18Q6F1swjAIKnwRCjEWtF_8mmgpx11jlvHLTTvsA&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0MzcsImlhdCI6MTcwNDM1MDAzN30.IUI3nVyVlU3o84wb2ZoT0p3IeXbpMCJiQatkBnjfO9xJgl4exYEqUtJEquSOTeGRCtn4V3jNJwAQ0WmlvdT0WQ&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDAsImlhdCI6MTcwNDM1MDA0MH0.PI28W19wU6NqhX44hCDORO8204a52pBNUIPcQE3UZ47WLIUp6w5B_n6cFQvlOIG_zonSFkYQP_QxJ33sdI22aA&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDMsImlhdCI6MTcwNDM1MDA0M30.ZUoUHIZeELBsO4VLDGPGzukJ_gkzostKxG4UejOES9dzoMvEWMRM3331zV3WJuOA-RxiOSyhl2cRr2Nh72aMrQ&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDYsImlhdCI6MTcwNDM1MDA0Nn0.U1GUedmSA3KmTQxlsotKt7f91ckrd2KCUKtak37yl8Ghj29IcYCl2fOAyR_cHUFMw0veOaRh88XYVr-9-W_QyQ&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]", "duration": "52 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]</td>", "<td class=\"col-duration\">52 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]", "duration": "97 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]</td>", "<td class=\"col-duration\">97 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]", "duration": "93 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]</td>", "<td class=\"col-duration\">93 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]", "duration": "97 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]</td>", "<td class=\"col-duration\">97 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "52 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">52 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D2747100&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D2747100&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDcsImlhdCI6MTcwNDM1MDA0N30.ErQqiZXptN-u4G3qzKuQ5Wt_RhRHP4H0fNKlX6hc_Tg24wXYjn1mGeP99_jkaYSVED21eEK-TqosapotJiJRBg&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDcsImlhdCI6MTcwNDM1MDA0N30.ErQqiZXptN-u4G3qzKuQ5Wt_RhRHP4H0fNKlX6hc_Tg24wXYjn1mGeP99_jkaYSVED21eEK-TqosapotJiJRBg&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "52 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">52 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D25C6100&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D25C6100&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTAsImlhdCI6MTcwNDM1MDA1MH0.7nce0SFr-qPn-SPKlb4IBPEK0Q9hvCXl7VRbfF1DvOFcSMt_etUm_71xEM9tStGRJiC1RufhuUcZLutp1HjBKg&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTAsImlhdCI6MTcwNDM1MDA1MH0.7nce0SFr-qPn-SPKlb4IBPEK0Q9hvCXl7VRbfF1DvOFcSMt_etUm_71xEM9tStGRJiC1RufhuUcZLutp1HjBKg&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "52 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">52 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26BBBC0&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26BBBC0&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTMsImlhdCI6MTcwNDM1MDA1M30.hC9651f2Y7PhWpbA6VrGzIZmWgyYOszKhpWo6cemC8wgVBWiW69U6EMAw74vrMKhYOOev8XFcCdIW20j1NZzgA&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTMsImlhdCI6MTcwNDM1MDA1M30.hC9651f2Y7PhWpbA6VrGzIZmWgyYOszKhpWo6cemC8wgVBWiW69U6EMAw74vrMKhYOOev8XFcCdIW20j1NZzgA&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "52 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">52 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26C57C0&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26C57C0&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTYsImlhdCI6MTcwNDM1MDA1Nn0.4fg_5CdWmQcUvpe9jl4xRxeYi1N9qM6jK1Y8Pt4Zc-xzEMX-TkxXuM2fK85LqL1tPBpnTBgYwL2PDNEOziA7eQ&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTYsImlhdCI6MTcwNDM1MDA1Nn0.4fg_5CdWmQcUvpe9jl4xRxeYi1N9qM6jK1Y8Pt4Zc-xzEMX-TkxXuM2fK85LqL1tPBpnTBgYwL2PDNEOziA7eQ&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "52 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">52 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26ED340&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26ED340&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTksImlhdCI6MTcwNDM1MDA1OX0.wB61Oid42iKzIiHMy-bUPRJTHQH6NcGtbtr0ckXbCr2_cMxyeZ8wsAymU1yyYoCoYBq4WDbcZLPZCixnstpttg&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTksImlhdCI6MTcwNDM1MDA1OX0.wB61Oid42iKzIiHMy-bUPRJTHQH6NcGtbtr0ckXbCr2_cMxyeZ8wsAymU1yyYoCoYBq4WDbcZLPZCixnstpttg&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "52 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">52 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D276B800&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D276B800&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NjIsImlhdCI6MTcwNDM1MDA2Mn0.lejKfOBztsWyKE1oxPOqSyuTTRXkFHbbB3SfEx8pORh9u8qzRkbpjmoTX0MyscsQpBT9-naF3B56HwnV1O1-gQ&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NjIsImlhdCI6MTcwNDM1MDA2Mn0.lejKfOBztsWyKE1oxPOqSyuTTRXkFHbbB3SfEx8pORh9u8qzRkbpjmoTX0MyscsQpBT9-naF3B56HwnV1O1-gQ&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D730&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NDcsImlhdCI6MTcwNDM1MDA0N30.ErQqiZXptN-u4G3qzKuQ5Wt_RhRHP4H0fNKlX6hc_Tg24wXYjn1mGeP99_jkaYSVED21eEK-TqosapotJiJRBg&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTAsImlhdCI6MTcwNDM1MDA1MH0.7nce0SFr-qPn-SPKlb4IBPEK0Q9hvCXl7VRbfF1DvOFcSMt_etUm_71xEM9tStGRJiC1RufhuUcZLutp1HjBKg&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTMsImlhdCI6MTcwNDM1MDA1M30.hC9651f2Y7PhWpbA6VrGzIZmWgyYOszKhpWo6cemC8wgVBWiW69U6EMAw74vrMKhYOOev8XFcCdIW20j1NZzgA&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTYsImlhdCI6MTcwNDM1MDA1Nn0.4fg_5CdWmQcUvpe9jl4xRxeYi1N9qM6jK1Y8Pt4Zc-xzEMX-TkxXuM2fK85LqL1tPBpnTBgYwL2PDNEOziA7eQ&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NTksImlhdCI6MTcwNDM1MDA1OX0.wB61Oid42iKzIiHMy-bUPRJTHQH6NcGtbtr0ckXbCr2_cMxyeZ8wsAymU1yyYoCoYBq4WDbcZLPZCixnstpttg&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0NjIsImlhdCI6MTcwNDM1MDA2Mn0.lejKfOBztsWyKE1oxPOqSyuTTRXkFHbbB3SfEx8pORh9u8qzRkbpjmoTX0MyscsQpBT9-naF3B56HwnV1O1-gQ&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]", "duration": "134 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]</td>", "<td class=\"col-duration\">134 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "178 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">178 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "178 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">178 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "178 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">178 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "178 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">178 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "178 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">178 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "178 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">178 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_mr_zhang.test_mr_zhang.TestTemple object at 0x00000241D0E6D970&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D0E33580&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D26D56A0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_mr_zhang\\test_mr_zhang.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_mr_zhang.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796595461636096&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]", "duration": "58 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]</td>", "<td class=\"col-duration\">58 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]", "duration": "54 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]</td>", "<td class=\"col-duration\">54 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]", "duration": "57 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]</td>", "<td class=\"col-duration\">57 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]", "duration": "91 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]</td>", "<td class=\"col-duration\">91 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]", "duration": "137 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_mr_zhang/test_mr_zhang.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]</td>", "<td class=\"col-duration\">137 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]", "duration": "422 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data0-expect_data0-None-None-None]</td>", "<td class=\"col-duration\">422 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]", "duration": "51 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data1-expect_data1-None-None-None]</td>", "<td class=\"col-duration\">51 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]", "duration": "91 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data2-expect_data2-None-None-None]</td>", "<td class=\"col-duration\">91 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]", "duration": "94 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data3-expect_data3-None-None-None]</td>", "<td class=\"col-duration\">94 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]", "duration": "99 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data4-expect_data4-None-None-None]</td>", "<td class=\"col-duration\">99 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "60 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">60 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D276B780&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D276B780&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODAsImlhdCI6MTcwNDM1MDA4MH0.qFovjdXEsmcJBMswJVapgzyxeXJFXVIlKRdZbTJTwizDkVYd31cyGSbomVJTetQ21emqW5bF3nbZrrjWbZ_tsg&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODAsImlhdCI6MTcwNDM1MDA4MH0.qFovjdXEsmcJBMswJVapgzyxeXJFXVIlKRdZbTJTwizDkVYd31cyGSbomVJTetQ21emqW5bF3nbZrrjWbZ_tsg&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "60 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">60 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26CE1C0&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26CE1C0&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODMsImlhdCI6MTcwNDM1MDA4M30.vwqrqpxNvNTphaEXESUQeOqVshcAralCZKlsUYi5_dC_DnuSigFjNarjRJDCt-FoLmzAeVB1Xw8vXLjWgiQjVw&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODMsImlhdCI6MTcwNDM1MDA4M30.vwqrqpxNvNTphaEXESUQeOqVshcAralCZKlsUYi5_dC_DnuSigFjNarjRJDCt-FoLmzAeVB1Xw8vXLjWgiQjVw&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "60 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">60 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D2735840&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D2735840&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODYsImlhdCI6MTcwNDM1MDA4Nn0.2MUDhIFV9Dgr9Fz1hqbxTDCUEHVt9J37u8snLC7S6YgVFzZl9VAvjqEMW4XQmRecf6LyZAFVCMdytaRjoTz93Q&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODYsImlhdCI6MTcwNDM1MDA4Nn0.2MUDhIFV9Dgr9Fz1hqbxTDCUEHVt9J37u8snLC7S6YgVFzZl9VAvjqEMW4XQmRecf6LyZAFVCMdytaRjoTz93Q&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "60 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">60 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26C9D00&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26C9D00&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODksImlhdCI6MTcwNDM1MDA4OX0.jEvwXEfCIxckbwTGmA1A3pLAta9XULae_DMv-g0ap6mAD-qjSChRZqUqLu1MjBY5Du8s9DB4_HQkZWKtDS5oww&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODksImlhdCI6MTcwNDM1MDA4OX0.jEvwXEfCIxckbwTGmA1A3pLAta9XULae_DMv-g0ap6mAD-qjSChRZqUqLu1MjBY5Du8s9DB4_HQkZWKtDS5oww&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "60 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">60 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D273CC80&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D273CC80&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTIsImlhdCI6MTcwNDM1MDA5Mn0.Us-rlHhlvFwCM-NprbnDpdOhaiq4by3c1rWR9QQT1Ec9S6B5cB6ZbKB8WlNS-NiFsD1TFtDVenW6CPaPJNng2A&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTIsImlhdCI6MTcwNDM1MDA5Mn0.Us-rlHhlvFwCM-NprbnDpdOhaiq4by3c1rWR9QQT1Ec9S6B5cB6ZbKB8WlNS-NiFsD1TFtDVenW6CPaPJNng2A&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]", "duration": "60 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[Post-http://120.46.172.186:8080/auth-json-case_data5-expect_data5-None-None-None]</td>", "<td class=\"col-duration\">60 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert False == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D27B6B40&gt;(&#x27;state&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D27B6B40&gt; = {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTUsImlhdCI6MTcwNDM1MDA5NX0.smiBn_JmQVahUGM9nduJgM99KsMey_LKrpOubAn8z46_YQC0UP2O31dBZ2vxtDKC7JL_VGUf9OArliS2bHdzbA&#x27;, ...}.get\nE + where {&#x27;account&#x27;: &#x27;admin&#x27;, &#x27;expiration&#x27;: 86400, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTUsImlhdCI6MTcwNDM1MDA5NX0.smiBn_JmQVahUGM9nduJgM99KsMey_LKrpOubAn8z46_YQC0UP2O31dBZ2vxtDKC7JL_VGUf9OArliS2bHdzbA&#x27;, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EECEB0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;Post&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/auth&#x27;, case_mime = &#x27;json&#x27;, case_data = {&#x27;password&#x27;: &#x27;MTIzNDU2&#x27;, &#x27;username&#x27;: &#x27;Admin&#x27;}\nexpect_data = {&#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;, &#x27;state&#x27;: False}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODAsImlhdCI6MTcwNDM1MDA4MH0.qFovjdXEsmcJBMswJVapgzyxeXJFXVIlKRdZbTJTwizDkVYd31cyGSbomVJTetQ21emqW5bF3nbZrrjWbZ_tsg&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODMsImlhdCI6MTcwNDM1MDA4M30.vwqrqpxNvNTphaEXESUQeOqVshcAralCZKlsUYi5_dC_DnuSigFjNarjRJDCt-FoLmzAeVB1Xw8vXLjWgiQjVw&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODYsImlhdCI6MTcwNDM1MDA4Nn0.2MUDhIFV9Dgr9Fz1hqbxTDCUEHVt9J37u8snLC7S6YgVFzZl9VAvjqEMW4XQmRecf6LyZAFVCMdytaRjoTz93Q&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0ODksImlhdCI6MTcwNDM1MDA4OX0.jEvwXEfCIxckbwTGmA1A3pLAta9XULae_DMv-g0ap6mAD-qjSChRZqUqLu1MjBY5Du8s9DB4_HQkZWKtDS5oww&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTIsImlhdCI6MTcwNDM1MDA5Mn0.Us-rlHhlvFwCM-NprbnDpdOhaiq4by3c1rWR9QQT1Ec9S6B5cB6ZbKB8WlNS-NiFsD1TFtDVenW6CPaPJNng2A&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;username&#x27;: &#x27;Admin&#x27;, &#x27;password&#x27;: &#x27;MTIzNDU2&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;state&#x27;: False, &#x27;message&#x27;: &#x27;\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTUsImlhdCI6MTcwNDM1MDA5NX0.smiBn_JmQVahUGM9nduJgM99KsMey_LKrpOubAn8z46_YQC0UP2O31dBZ2vxtDKC7JL_VGUf9OArliS2bHdzbA&quot;,&quot;username&quot;:&quot;\u8d85\u7ea7\u7ba1\u7406\u5458&quot;,&quot;account&quot;:&quot;admin&quot;,&quot;userId&quot;:&quot;1&quot;,&quot;expiration&quot;:86400,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{&quot;tenantId&quot;:&quot;-1&quot;}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]", "duration": "53 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-application/json-case_data6-expect_data6-None-None-None]</td>", "<td class=\"col-duration\">53 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]", "duration": "110 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data7-expect_data7-None-None-None]</td>", "<td class=\"col-duration\">110 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]", "duration": "94 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data8-expect_data8-None-None-None]</td>", "<td class=\"col-duration\">94 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]", "duration": "93 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/auth-json-case_data9-expect_data9-None-None-None]</td>", "<td class=\"col-duration\">93 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "53 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">53 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26CD200&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26CD200&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTUsImlhdCI6MTcwNDM1MDA5NX0.smiBn_JmQVahUGM9nduJgM99KsMey_LKrpOubAn8z46_YQC0UP2O31dBZ2vxtDKC7JL_VGUf9OArliS2bHdzbA&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTUsImlhdCI6MTcwNDM1MDA5NX0.smiBn_JmQVahUGM9nduJgM99KsMey_LKrpOubAn8z46_YQC0UP2O31dBZ2vxtDKC7JL_VGUf9OArliS2bHdzbA&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "53 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">53 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D27D7D80&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D27D7D80&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTgsImlhdCI6MTcwNDM1MDA5OH0.ImsKeY4IHZJMTkhWau1jmSOHMC3ZSnfr6ADKz3G6qfe5rEtuL7KHbd6n-o2_dItEDI0mgoo2-0IGIkD8SKW13w&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTgsImlhdCI6MTcwNDM1MDA5OH0.ImsKeY4IHZJMTkhWau1jmSOHMC3ZSnfr6ADKz3G6qfe5rEtuL7KHbd6n-o2_dItEDI0mgoo2-0IGIkD8SKW13w&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "53 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">53 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D27E3040&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D27E3040&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDIsImlhdCI6MTcwNDM1MDEwMn0.0DkpBZchEHOQm99hmIQFKBC0Bi8gueSzEbhiWY4KU_pGPDneA9odQo3rFAZTHjMwPexLMWMLvGMBPWNqrL1X6g&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDIsImlhdCI6MTcwNDM1MDEwMn0.0DkpBZchEHOQm99hmIQFKBC0Bi8gueSzEbhiWY4KU_pGPDneA9odQo3rFAZTHjMwPexLMWMLvGMBPWNqrL1X6g&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "53 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">53 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D27F0DC0&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D27F0DC0&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDUsImlhdCI6MTcwNDM1MDEwNX0.5vGAvf7sbZ0tjO6ydSovSCrI3BNVhvhKn2b1QhaEMqklrS14f1sgaJ6U1jjVd4rxC-HomlWA4VgS0gY_ErKUVA&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDUsImlhdCI6MTcwNDM1MDEwNX0.5vGAvf7sbZ0tjO6ydSovSCrI3BNVhvhKn2b1QhaEMqklrS14f1sgaJ6U1jjVd4rxC-HomlWA4VgS0gY_ErKUVA&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "53 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">53 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D26432C0&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D26432C0&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDgsImlhdCI6MTcwNDM1MDEwOH0.3QqC8O_huF4AQ80ynyJ7n5xhH4jGHklbeuvBbASbpEx3sfwSNQsCsvcjVwtv97qSBxj5-dZkBzHkNuyWgWa67A&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDgsImlhdCI6MTcwNDM1MDEwOH0.3QqC8O_huF4AQ80ynyJ7n5xhH4jGHklbeuvBbASbpEx3sfwSNQsCsvcjVwtv97qSBxj5-dZkBzHkNuyWgWa67A&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]", "duration": "53 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[GET-http://120.46.172.186:8080/refresh-None-None-expect_data10-None-None-None]</td>", "<td class=\"col-duration\">53 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u5237\u65b0\u6210\u529f&#x27; == None\nE + where None = &lt;built-in method get of dict object at 0x00000241D2546DC0&gt;(&#x27;message&#x27;)\nE + where &lt;built-in method get of dict object at 0x00000241D2546DC0&gt; = {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MTEsImlhdCI6MTcwNDM1MDExMX0.7ZRY0DQoNzPb7zmg67FafZYDZQScLX2AKKqtA8nklbiHQtrxtYGBV7DK7iV2BEckJVqQhfllitzcSnxvURsSIg&#x27;, &#x27;userAttrs&#x27;: {}, ...}.get\nE + where {&#x27;account&#x27;: &#x27;&#x27;, &#x27;loginStatus&#x27;: True, &#x27;token&#x27;: &#x27;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MTEsImlhdCI6MTcwNDM1MDExMX0.7ZRY0DQoNzPb7zmg67FafZYDZQScLX2AKKqtA8nklbiHQtrxtYGBV7DK7iV2BEckJVqQhfllitzcSnxvURsSIg&#x27;, &#x27;userAttrs&#x27;: {}, ...} = &lt;bound method Response.json of &lt;Response [200]&gt;&gt;()\nE + where &lt;bound method Response.json of &lt;Response [200]&gt;&gt; = &lt;Response [200]&gt;.json\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D25319D0&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;GET&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/refresh&#x27;, case_mime = None, case_data = None, expect_data = {&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTUsImlhdCI6MTcwNDM1MDA5NX0.smiBn_JmQVahUGM9nduJgM99KsMey_LKrpOubAn8z46_YQC0UP2O31dBZ2vxtDKC7JL_VGUf9OArliS2bHdzbA&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY0OTgsImlhdCI6MTcwNDM1MDA5OH0.ImsKeY4IHZJMTkhWau1jmSOHMC3ZSnfr6ADKz3G6qfe5rEtuL7KHbd6n-o2_dItEDI0mgoo2-0IGIkD8SKW13w&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDIsImlhdCI6MTcwNDM1MDEwMn0.0DkpBZchEHOQm99hmIQFKBC0Bi8gueSzEbhiWY4KU_pGPDneA9odQo3rFAZTHjMwPexLMWMLvGMBPWNqrL1X6g&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDUsImlhdCI6MTcwNDM1MDEwNX0.5vGAvf7sbZ0tjO6ydSovSCrI3BNVhvhKn2b1QhaEMqklrS14f1sgaJ6U1jjVd4rxC-HomlWA4VgS0gY_ErKUVA&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MDgsImlhdCI6MTcwNDM1MDEwOH0.3QqC8O_huF4AQ80ynyJ7n5xhH4jGHklbeuvBbASbpEx3sfwSNQsCsvcjVwtv97qSBxj5-dZkBzHkNuyWgWa67A&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1aNone\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u5237\u65b0\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;token&quot;:&quot;eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MDQ0MzY1MTEsImlhdCI6MTcwNDM1MDExMX0.7ZRY0DQoNzPb7zmg67FafZYDZQScLX2AKKqtA8nklbiHQtrxtYGBV7DK7iV2BEckJVqQhfllitzcSnxvURsSIg&quot;,&quot;username&quot;:&quot;&quot;,&quot;account&quot;:&quot;&quot;,&quot;userId&quot;:&quot;&quot;,&quot;loginStatus&quot;:true,&quot;userAttrs&quot;:{}}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]", "duration": "139 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/demension/v1/dem/addDem-application/json-case_data11-expect_data11-delete- delete from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-None]</td>", "<td class=\"col-duration\">139 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]": [{"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "213 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">213 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "213 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">213 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "213 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">213 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "213 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">213 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Rerun", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "213 ms", "resultsTableRow": ["<td class=\"col-result\">Rerun</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">213 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n"}, {"extras": [], "result": "Failed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]", "duration": "213 ms", "resultsTableRow": ["<td class=\"col-result\">Failed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/org/addOrg-application/json-case_data12-expect_data12-select|delete-sql_data12-demId]</td>", "<td class=\"col-duration\">213 ms</td>", "<td class=\"col-links\"></td>"], "log": "self = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n&gt; assert expect_data[key] == result.json().get(key)\nE AssertionError: assert &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27; == &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&#x27;\nE - \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01\nE ? -\nE + \u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\n\ntest_case\\test_template\\test_template.py:49: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = &lt;InterfaceAutoTest.test_case.test_template.test_template.TestTemple object at 0x00000241D0EBE910&gt;\ndb_fix = &lt;InterfaceAutoTest.common.db.DB object at 0x00000241D27552E0&gt;\nreq_fix = &lt;InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x00000241D272B4C0&gt;, case_req = &#x27;POST&#x27;\ncase_url = &#x27;http://120.46.172.186:8080/api/org/v1/org/addOrg&#x27;, case_mime = &#x27;application/json&#x27;\ncase_data = {&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, ...}\nexpect_data = {&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}, sql_type = &#x27;select|delete&#x27;\nsql_data = {&#x27;delete&#x27;: &#x27;delete from uc_org WHERE `CODE_`=&quot;test_58_org&quot;;&#x27;, &#x27;select&#x27;: &#x27;select ID_ from uc_demension WHERE `CODE_`=&quot;test58_dem_abc&quot;;&#x27;}\nupdate_key = &#x27;demId&#x27;\n\n @pytest.mark.parametrize(&quot;case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key&quot;, ReadExcel(excel_path=excel_path, table_name=table_name, case_data_path=case_data_path, expect_data_path=expect_data_path, sql_data_path=sql_data_path).get_data())\n @log_decorator\n def test_method_template(self, db_fix, req_fix, case_req, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3adelete\n if sql_type == &quot;delete&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data)\n \n # \u5224\u65adsql\u8bed\u53e5\u662f\u5426\u4e3aselect\n elif sql_type == &quot;select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data)\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u5224\u65adsql\u8bed\u53e5\u7c7b\u578b\u662f\u5426\u4e3aselect|delete, \u6216\u8005\u4e3adelete|select\n elif sql_type == &quot;select|delete&quot; or sql_type == &quot;delete|select&quot;:\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528delete\u65b9\u6cd5\u6267\u884c\u5220\u9664\u7684sql\u8bed\u53e5\n db_fix.delete(sql_data[&quot;delete&quot;])\n # \u4f7f\u7528DB\u7c7b\u5bf9\u8c61\uff0c\u8c03\u7528select\u65b9\u6cd5\u6267\u884c\u67e5\u8be2\u7684sql\u8bed\u53e5,\u5e76\u63a5\u6536\u67e5\u8be2\u7684\u7ed3\u679c\n select_result = db_fix.select(sql_data[&quot;select&quot;])\n # \u5c06\u67e5\u8be2\u7ed3\u679c\u66f4\u65b0\u5230\u7528\u4f8b\u6570\u636e\u4e2d\n case_data[update_key] = select_result\n \n # \u53d1\u9001\u8bf7\u6c42--\u4f7f\u7528RequestsMethod\u7c7b\u5bf9\u8c61\u7684request_all\u65b9\u6cd5\u53d1\u9001\u8bf7\u6c42\n result = req_fix.request_all(req_method=case_req, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # \u65ad\u8a00\n try:\n for key in expect_data.keys():\n assert expect_data[key] == result.json().get(key)\n \n except AssertionError:\n logging.error(&quot;\u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a&quot;+str(case_data)+&quot;\u671f\u671b\u6570\u636e\u4e3a\uff1a&quot;+str(expect_data)+&quot;\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a&quot;+result.text)\n&gt; raise AssertionError(&quot;\u65ad\u8a00\u5931\u8d25&quot;)\nE AssertionError: \u65ad\u8a00\u5931\u8d25\n\ntest_case\\test_template\\test_template.py:53: AssertionError\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\nERROR root:test_template.py:52 \u65ad\u8a00\u5931\u8d25\uff1a\u7528\u4f8b\u4e3a\uff1a{&#x27;code&#x27;: &#x27;test_58_org&#x27;, &#x27;demId&#x27;: &#x27;1742796800009453568&#x27;, &#x27;exceedLimitNum&#x27;: 0, &#x27;grade&#x27;: &#x27;&#x27;, &#x27;limitNum&#x27;: 0, &#x27;name&#x27;: &#x27;\u6d4b\u8bd5\u7ec4\u7ec7-58&#x27;, &#x27;nowNum&#x27;: 0, &#x27;orderNo&#x27;: 0, &#x27;parentId&#x27;: &#x27;0&#x27;}\u671f\u671b\u6570\u636e\u4e3a\uff1a{&#x27;message&#x27;: &#x27;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f&#x27;}\u670d\u52a1\u5668\u8fd4\u56de\u6570\u636e\u4e3a\uff1a{&quot;state&quot;:true,&quot;message&quot;:&quot;\u6dfb\u52a0\u7ec4\u7ec7\u6210\u529f\uff01&quot;,&quot;value&quot;:&quot;&quot;}\nERROR root:__init__.py:32 \u65ad\u8a00\u5931\u8d25\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]", "duration": "60 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/org/v1/orgUsers/addUsersForOrg-params-case_data13-expect_data13-None-None-None]</td>", "<td class=\"col-duration\">60 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]", "duration": "55 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams-query|json-case_data14-expect_data14-None-None-None]</td>", "<td class=\"col-duration\">55 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]", "duration": "58 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[post-http://120.46.172.186:8080/api/org/v1/org/deleteOrg-text/plain-test_58_org-expect_data15-None-None-None]</td>", "<td class=\"col-duration\">58 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]", "duration": "98 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[DELETE-http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds-query-case_data16-expect_data16-select-select ID_ from uc_demension WHERE `CODE_`=\"test58_dem_abc\";-ids]</td>", "<td class=\"col-duration\">98 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}], "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]": [{"extras": [], "result": "Passed", "testId": "test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]", "duration": "186 ms", "resultsTableRow": ["<td class=\"col-result\">Passed</td>", "<td class=\"col-testId\">test_case/test_template/test_template.py::TestTemple::test_method_template[POST-http://120.46.172.186:8080/api/user/v1/user/addUser-json-case_data17-expect_data17-delete-delete from uc_user WHERE `ACCOUNT_`=\"laowang\";-None]</td>", "<td class=\"col-duration\">186 ms</td>", "<td class=\"col-links\"></td>"], "log": "----------------------------- Captured stdout call -----------------------------\n\u65ad\u8a00\u6210\u529f\n\n------------------------------ Captured log call -------------------------------\nINFO root:__init__.py:26 \u529f\u80fd\u7684\u540d\u79f0\u4e3a\uff1atest_method_template \u529f\u80fd\u7684\u63cf\u8ff0\u4e3a\uff1aNone\n\n"}]}, "renderCollapsed": ["passed"], "initialSort": "result", "title": "bpm1.html"}"></div> <script> (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ const { getCollapsedCategory, setCollapsedIds } = require('./storage.js') class DataManager { setManager(data) { const collapsedCategories = [...getCollapsedCategory(data.renderCollapsed)] const collapsedIds = [] const tests = Object.values(data.tests).flat().map((test, index) => { const collapsed = collapsedCategories.includes(test.result.toLowerCase()) const id = `test_${index}` if (collapsed) { collapsedIds.push(id) } return { ...test, id, collapsed, } }) const dataBlob = { ...data, tests } this.data = { ...dataBlob } this.renderData = { ...dataBlob } setCollapsedIds(collapsedIds) } get allData() { return { ...this.data } } resetRender() { this.renderData = { ...this.data } } setRender(data) { this.renderData.tests = [...data] } toggleCollapsedItem(id) { this.renderData.tests = this.renderData.tests.map((test) => test.id === id ? { ...test, collapsed: !test.collapsed } : test, ) } set allCollapsed(collapsed) { this.renderData = { ...this.renderData, tests: [...this.renderData.tests.map((test) => ( { ...test, collapsed } ))] } } get testSubset() { return [...this.renderData.tests] } get environment() { return this.renderData.environment } get initialSort() { return this.data.initialSort } } module.exports = { manager: new DataManager(), } },{"./storage.js":8}],2:[function(require,module,exports){ const mediaViewer = require('./mediaviewer.js') const templateEnvRow = document.getElementById('template_environment_row') const templateResult = document.getElementById('template_results-table__tbody') function htmlToElements(html) { const temp = document.createElement('template') temp.innerHTML = html return temp.content.childNodes } const find = (selector, elem) => { if (!elem) { elem = document } return elem.querySelector(selector) } const findAll = (selector, elem) => { if (!elem) { elem = document } return [...elem.querySelectorAll(selector)] } const dom = { getStaticRow: (key, value) => { const envRow = templateEnvRow.content.cloneNode(true) const isObj = typeof value === 'object' && value !== null const values = isObj ? Object.keys(value).map((k) => `${k}: ${value[k]}`) : null const valuesElement = htmlToElements( values ? `<ul>${values.map((val) => `<li>${val}</li>`).join('')}<ul>` : `<div>${value}</div>`)[0] const td = findAll('td', envRow) td[0].textContent = key td[1].appendChild(valuesElement) return envRow }, getResultTBody: ({ testId, id, log, extras, resultsTableRow, tableHtml, result, collapsed }) => { const resultBody = templateResult.content.cloneNode(true) resultBody.querySelector('tbody').classList.add(result.toLowerCase()) resultBody.querySelector('tbody').id = testId resultBody.querySelector('.collapsible').dataset.id = id resultsTableRow.forEach((html) => { const t = document.createElement('template') t.innerHTML = html resultBody.querySelector('.collapsible').appendChild(t.content) }) if (log) { // Wrap lines starting with "E" with span.error to color those lines red const wrappedLog = log.replace(/^E.*$/gm, (match) => `<span class="error">${match}</span>`) resultBody.querySelector('.log').innerHTML = wrappedLog } else { resultBody.querySelector('.log').remove() } if (collapsed) { resultBody.querySelector('.collapsible > td')?.classList.add('collapsed') resultBody.querySelector('.extras-row').classList.add('hidden') } else { resultBody.querySelector('.collapsible > td')?.classList.remove('collapsed') } const media = [] extras?.forEach(({ name, format_type, content }) => { if (['image', 'video'].includes(format_type)) { media.push({ path: content, name, format_type }) } if (format_type === 'html') { resultBody.querySelector('.extraHTML').insertAdjacentHTML('beforeend', `<div>${content}</div>`) } }) mediaViewer.setup(resultBody, media) // Add custom html from the pytest_html_results_table_html hook tableHtml?.forEach((item) => { resultBody.querySelector('td[class="extra"]').insertAdjacentHTML('beforeend', item) }) return resultBody }, } module.exports = { dom, htmlToElements, find, findAll, } },{"./mediaviewer.js":6}],3:[function(require,module,exports){ const { manager } = require('./datamanager.js') const { doSort } = require('./sort.js') const storageModule = require('./storage.js') const getFilteredSubSet = (filter) => manager.allData.tests.filter(({ result }) => filter.includes(result.toLowerCase())) const doInitFilter = () => { const currentFilter = storageModule.getVisible() const filteredSubset = getFilteredSubSet(currentFilter) manager.setRender(filteredSubset) } const doFilter = (type, show) => { if (show) { storageModule.showCategory(type) } else { storageModule.hideCategory(type) } const currentFilter = storageModule.getVisible() const filteredSubset = getFilteredSubSet(currentFilter) manager.setRender(filteredSubset) const sortColumn = storageModule.getSort() doSort(sortColumn, true) } module.exports = { doFilter, doInitFilter, } },{"./datamanager.js":1,"./sort.js":7,"./storage.js":8}],4:[function(require,module,exports){ const { redraw, bindEvents, renderStatic } = require('./main.js') const { doInitFilter } = require('./filter.js') const { doInitSort } = require('./sort.js') const { manager } = require('./datamanager.js') const data = JSON.parse(document.getElementById('data-container').dataset.jsonblob) function init() { manager.setManager(data) doInitFilter() doInitSort() renderStatic() redraw() bindEvents() } init() },{"./datamanager.js":1,"./filter.js":3,"./main.js":5,"./sort.js":7}],5:[function(require,module,exports){ const { dom, find, findAll } = require('./dom.js') const { manager } = require('./datamanager.js') const { doSort } = require('./sort.js') const { doFilter } = require('./filter.js') const { getVisible, getCollapsedIds, setCollapsedIds, getSort, getSortDirection, possibleFilters, } = require('./storage.js') const removeChildren = (node) => { while (node.firstChild) { node.removeChild(node.firstChild) } } const renderStatic = () => { const renderEnvironmentTable = () => { const environment = manager.environment const rows = Object.keys(environment).map((key) => dom.getStaticRow(key, environment[key])) const table = document.getElementById('environment') removeChildren(table) rows.forEach((row) => table.appendChild(row)) } renderEnvironmentTable() } const addItemToggleListener = (elem) => { elem.addEventListener('click', ({ target }) => { const id = target.parentElement.dataset.id manager.toggleCollapsedItem(id) const collapsedIds = getCollapsedIds() if (collapsedIds.includes(id)) { const updated = collapsedIds.filter((item) => item !== id) setCollapsedIds(updated) } else { collapsedIds.push(id) setCollapsedIds(collapsedIds) } redraw() }) } const renderContent = (tests) => { const sortAttr = getSort(manager.initialSort) const sortAsc = JSON.parse(getSortDirection()) const rows = tests.map(dom.getResultTBody) const table = document.getElementById('results-table') const tableHeader = document.getElementById('results-table-head') const newTable = document.createElement('table') newTable.id = 'results-table' // remove all sorting classes and set the relevant findAll('.sortable', tableHeader).forEach((elem) => elem.classList.remove('asc', 'desc')) tableHeader.querySelector(`.sortable[data-column-type="${sortAttr}"]`)?.classList.add(sortAsc ? 'desc' : 'asc') newTable.appendChild(tableHeader) if (!rows.length) { const emptyTable = document.getElementById('template_results-table__body--empty').content.cloneNode(true) newTable.appendChild(emptyTable) } else { rows.forEach((row) => { if (!!row) { findAll('.collapsible td:not(.col-links', row).forEach(addItemToggleListener) find('.logexpander', row).addEventListener('click', (evt) => evt.target.parentNode.classList.toggle('expanded'), ) newTable.appendChild(row) } }) } table.replaceWith(newTable) } const renderDerived = () => { const currentFilter = getVisible() possibleFilters.forEach((result) => { const input = document.querySelector(`input[data-test-result="${result}"]`) input.checked = currentFilter.includes(result) }) } const bindEvents = () => { const filterColumn = (evt) => { const { target: element } = evt const { testResult } = element.dataset doFilter(testResult, element.checked) const collapsedIds = getCollapsedIds() const updated = manager.renderData.tests.map((test) => { return { ...test, collapsed: collapsedIds.includes(test.id), } }) manager.setRender(updated) redraw() } const header = document.getElementById('environment-header') header.addEventListener('click', () => { const table = document.getElementById('environment') table.classList.toggle('hidden') header.classList.toggle('collapsed') }) findAll('input[name="filter_checkbox"]').forEach((elem) => { elem.addEventListener('click', filterColumn) }) findAll('.sortable').forEach((elem) => { elem.addEventListener('click', (evt) => { const { target: element } = evt const { columnType } = element.dataset doSort(columnType) redraw() }) }) document.getElementById('show_all_details').addEventListener('click', () => { manager.allCollapsed = false setCollapsedIds([]) redraw() }) document.getElementById('hide_all_details').addEventListener('click', () => { manager.allCollapsed = true const allIds = manager.renderData.tests.map((test) => test.id) setCollapsedIds(allIds) redraw() }) } const redraw = () => { const { testSubset } = manager renderContent(testSubset) renderDerived() } module.exports = { redraw, bindEvents, renderStatic, } },{"./datamanager.js":1,"./dom.js":2,"./filter.js":3,"./sort.js":7,"./storage.js":8}],6:[function(require,module,exports){ class MediaViewer { constructor(assets) { this.assets = assets this.index = 0 } nextActive() { this.index = this.index === this.assets.length - 1 ? 0 : this.index + 1 return [this.activeFile, this.index] } prevActive() { this.index = this.index === 0 ? this.assets.length - 1 : this.index -1 return [this.activeFile, this.index] } get currentIndex() { return this.index } get activeFile() { return this.assets[this.index] } } const setup = (resultBody, assets) => { if (!assets.length) { resultBody.querySelector('.media').classList.add('hidden') return } const mediaViewer = new MediaViewer(assets) const container = resultBody.querySelector('.media-container') const leftArrow = resultBody.querySelector('.media-container__nav--left') const rightArrow = resultBody.querySelector('.media-container__nav--right') const mediaName = resultBody.querySelector('.media__name') const counter = resultBody.querySelector('.media__counter') const imageEl = resultBody.querySelector('img') const sourceEl = resultBody.querySelector('source') const videoEl = resultBody.querySelector('video') const setImg = (media, index) => { if (media?.format_type === 'image') { imageEl.src = media.path imageEl.classList.remove('hidden') videoEl.classList.add('hidden') } else if (media?.format_type === 'video') { sourceEl.src = media.path videoEl.classList.remove('hidden') imageEl.classList.add('hidden') } mediaName.innerText = media?.name counter.innerText = `${index + 1} / ${assets.length}` } setImg(mediaViewer.activeFile, mediaViewer.currentIndex) const moveLeft = () => { const [media, index] = mediaViewer.prevActive() setImg(media, index) } const doRight = () => { const [media, index] = mediaViewer.nextActive() setImg(media, index) } const openImg = () => { window.open(mediaViewer.activeFile.path, '_blank') } if (assets.length === 1) { container.classList.add('media-container--fullscreen') } else { leftArrow.addEventListener('click', moveLeft) rightArrow.addEventListener('click', doRight) } imageEl.addEventListener('click', openImg) } module.exports = { setup, } },{}],7:[function(require,module,exports){ const { manager } = require('./datamanager.js') const storageModule = require('./storage.js') const genericSort = (list, key, ascending, customOrder) => { let sorted if (customOrder) { sorted = list.sort((a, b) => { const aValue = a.result.toLowerCase() const bValue = b.result.toLowerCase() const aIndex = customOrder.findIndex((item) => item.toLowerCase() === aValue) const bIndex = customOrder.findIndex((item) => item.toLowerCase() === bValue) // Compare the indices to determine the sort order return aIndex - bIndex }) } else { sorted = list.sort((a, b) => a[key] === b[key] ? 0 : a[key] > b[key] ? 1 : -1) } if (ascending) { sorted.reverse() } return sorted } const durationSort = (list, ascending) => { const parseDuration = (duration) => { if (duration.includes(':')) { // If it's in the format "HH:mm:ss" const [hours, minutes, seconds] = duration.split(':').map(Number) return (hours * 3600 + minutes * 60 + seconds) * 1000 } else { // If it's in the format "nnn ms" return parseInt(duration) } } const sorted = list.sort((a, b) => parseDuration(a['duration']) - parseDuration(b['duration'])) if (ascending) { sorted.reverse() } return sorted } const doInitSort = () => { const type = storageModule.getSort(manager.initialSort) const ascending = storageModule.getSortDirection() const list = manager.testSubset const initialOrder = ['Error', 'Failed', 'Rerun', 'XFailed', 'XPassed', 'Skipped', 'Passed'] storageModule.setSort(type) storageModule.setSortDirection(ascending) if (type?.toLowerCase() === 'original') { manager.setRender(list) } else { let sortedList switch (type) { case 'duration': sortedList = durationSort(list, ascending) break case 'result': sortedList = genericSort(list, type, ascending, initialOrder) break default: sortedList = genericSort(list, type, ascending) break } manager.setRender(sortedList) } } const doSort = (type, skipDirection) => { const newSortType = storageModule.getSort(manager.initialSort) !== type const currentAsc = storageModule.getSortDirection() let ascending if (skipDirection) { ascending = currentAsc } else { ascending = newSortType ? false : !currentAsc } storageModule.setSort(type) storageModule.setSortDirection(ascending) const list = manager.testSubset const sortedList = type === 'duration' ? durationSort(list, ascending) : genericSort(list, type, ascending) manager.setRender(sortedList) } module.exports = { doInitSort, doSort, } },{"./datamanager.js":1,"./storage.js":8}],8:[function(require,module,exports){ const possibleFilters = [ 'passed', 'skipped', 'failed', 'error', 'xfailed', 'xpassed', 'rerun', ] const getVisible = () => { const url = new URL(window.location.href) const settings = new URLSearchParams(url.search).get('visible') const lower = (item) => { const lowerItem = item.toLowerCase() if (possibleFilters.includes(lowerItem)) { return lowerItem } return null } return settings === null ? possibleFilters : [...new Set(settings?.split(',').map(lower).filter((item) => item))] } const hideCategory = (categoryToHide) => { const url = new URL(window.location.href) const visibleParams = new URLSearchParams(url.search).get('visible') const currentVisible = visibleParams ? visibleParams.split(',') : [...possibleFilters] const settings = [...new Set(currentVisible)].filter((f) => f !== categoryToHide).join(',') url.searchParams.set('visible', settings) window.history.pushState({}, null, unescape(url.href)) } const showCategory = (categoryToShow) => { if (typeof window === 'undefined') { return } const url = new URL(window.location.href) const currentVisible = new URLSearchParams(url.search).get('visible')?.split(',').filter(Boolean) || [...possibleFilters] const settings = [...new Set([categoryToShow, ...currentVisible])] const noFilter = possibleFilters.length === settings.length || !settings.length noFilter ? url.searchParams.delete('visible') : url.searchParams.set('visible', settings.join(',')) window.history.pushState({}, null, unescape(url.href)) } const getSort = (initialSort) => { const url = new URL(window.location.href) let sort = new URLSearchParams(url.search).get('sort') if (!sort) { sort = initialSort || 'result' } return sort } const setSort = (type) => { const url = new URL(window.location.href) url.searchParams.set('sort', type) window.history.pushState({}, null, unescape(url.href)) } const getCollapsedCategory = (renderCollapsed) => { let categories if (typeof window !== 'undefined') { const url = new URL(window.location.href) const collapsedItems = new URLSearchParams(url.search).get('collapsed') switch (true) { case !renderCollapsed && collapsedItems === null: categories = ['passed'] break case collapsedItems?.length === 0 || /^["']{2}$/.test(collapsedItems): categories = [] break case /^all$/.test(collapsedItems) || collapsedItems === null && /^all$/.test(renderCollapsed): categories = [...possibleFilters] break default: categories = collapsedItems?.split(',').map((item) => item.toLowerCase()) || renderCollapsed break } } else { categories = [] } return categories } const getSortDirection = () => JSON.parse(sessionStorage.getItem('sortAsc')) || false const setSortDirection = (ascending) => sessionStorage.setItem('sortAsc', ascending) const getCollapsedIds = () => JSON.parse(sessionStorage.getItem('collapsedIds')) || [] const setCollapsedIds = (list) => sessionStorage.setItem('collapsedIds', JSON.stringify(list)) module.exports = { getVisible, hideCategory, showCategory, getCollapsedIds, setCollapsedIds, getSort, setSort, getSortDirection, setSortDirection, getCollapsedCategory, possibleFilters, } },{}]},{},[4]); </script> </footer> </html>