Commit b5a1fead authored by 高涛's avatar 高涛

Delete report.html

parent dc6210b3
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Test Report</title>
<link href="assets/style.css" rel="stylesheet" type="text/css"/></head>
<body onLoad="init()">
<script>/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
function toArray(iter) {
if (iter === null) {
return null;
}
return Array.prototype.slice.call(iter);
}
function find(selector, elem) {
if (!elem) {
elem = document;
}
return elem.querySelector(selector);
}
function find_all(selector, elem) {
if (!elem) {
elem = document;
}
return toArray(elem.querySelectorAll(selector));
}
function sort_column(elem) {
toggle_sort_states(elem);
var colIndex = toArray(elem.parentNode.childNodes).indexOf(elem);
var key;
if (elem.classList.contains('numeric')) {
key = key_num;
} else if (elem.classList.contains('result')) {
key = key_result;
} else {
key = key_alpha;
}
sort_table(elem, key(colIndex));
}
function show_all_extras() {
find_all('.col-result').forEach(show_extras);
}
function hide_all_extras() {
find_all('.col-result').forEach(hide_extras);
}
function show_extras(colresult_elem) {
var extras = colresult_elem.parentNode.nextElementSibling;
var expandcollapse = colresult_elem.firstElementChild;
extras.classList.remove("collapsed");
expandcollapse.classList.remove("expander");
expandcollapse.classList.add("collapser");
}
function hide_extras(colresult_elem) {
var extras = colresult_elem.parentNode.nextElementSibling;
var expandcollapse = colresult_elem.firstElementChild;
extras.classList.add("collapsed");
expandcollapse.classList.remove("collapser");
expandcollapse.classList.add("expander");
}
function show_filters() {
var filter_items = document.getElementsByClassName('filter');
for (var i = 0; i < filter_items.length; i++)
filter_items[i].hidden = false;
}
function add_collapse() {
// Add links for show/hide all
var resulttable = find('table#results-table');
var showhideall = document.createElement("p");
showhideall.innerHTML = '<a href="javascript:show_all_extras()">Show all details</a> / ' +
'<a href="javascript:hide_all_extras()">Hide all details</a>';
resulttable.parentElement.insertBefore(showhideall, resulttable);
// Add show/hide link to each result
find_all('.col-result').forEach(function(elem) {
var collapsed = get_query_parameter('collapsed') || 'Passed';
var extras = elem.parentNode.nextElementSibling;
var expandcollapse = document.createElement("span");
if (extras.classList.contains("collapsed")) {
expandcollapse.classList.add("expander")
} else if (collapsed.includes(elem.innerHTML)) {
extras.classList.add("collapsed");
expandcollapse.classList.add("expander");
} else {
expandcollapse.classList.add("collapser");
}
elem.appendChild(expandcollapse);
elem.addEventListener("click", function(event) {
if (event.currentTarget.parentNode.nextElementSibling.classList.contains("collapsed")) {
show_extras(event.currentTarget);
} else {
hide_extras(event.currentTarget);
}
});
})
}
function get_query_parameter(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
function init () {
reset_sort_headers();
add_collapse();
show_filters();
sort_column(find('.initial-sort'));
find_all('.sortable').forEach(function(elem) {
elem.addEventListener("click",
function(event) {
sort_column(elem);
}, false)
});
};
function sort_table(clicked, key_func) {
var rows = find_all('.results-table-row');
var reversed = !clicked.classList.contains('asc');
var sorted_rows = sort(rows, key_func, reversed);
/* Whole table is removed here because browsers acts much slower
* when appending existing elements.
*/
var thead = document.getElementById("results-table-head");
document.getElementById('results-table').remove();
var parent = document.createElement("table");
parent.id = "results-table";
parent.appendChild(thead);
sorted_rows.forEach(function(elem) {
parent.appendChild(elem);
});
document.getElementsByTagName("BODY")[0].appendChild(parent);
}
function sort(items, key_func, reversed) {
var sort_array = items.map(function(item, i) {
return [key_func(item), i];
});
sort_array.sort(function(a, b) {
var key_a = a[0];
var key_b = b[0];
if (key_a == key_b) return 0;
if (reversed) {
return (key_a < key_b ? 1 : -1);
} else {
return (key_a > key_b ? 1 : -1);
}
});
return sort_array.map(function(item) {
var index = item[1];
return items[index];
});
}
function key_alpha(col_index) {
return function(elem) {
return elem.childNodes[1].childNodes[col_index].firstChild.data.toLowerCase();
};
}
function key_num(col_index) {
return function(elem) {
return parseFloat(elem.childNodes[1].childNodes[col_index].firstChild.data);
};
}
function key_result(col_index) {
return function(elem) {
var strings = ['Error', 'Failed', 'Rerun', 'XFailed', 'XPassed',
'Skipped', 'Passed'];
return strings.indexOf(elem.childNodes[1].childNodes[col_index].firstChild.data);
};
}
function reset_sort_headers() {
find_all('.sort-icon').forEach(function(elem) {
elem.parentNode.removeChild(elem);
});
find_all('.sortable').forEach(function(elem) {
var icon = document.createElement("div");
icon.className = "sort-icon";
icon.textContent = "vvv";
elem.insertBefore(icon, elem.firstChild);
elem.classList.remove("desc", "active");
elem.classList.add("asc", "inactive");
});
}
function toggle_sort_states(elem) {
//if active, toggle between asc and desc
if (elem.classList.contains('active')) {
elem.classList.toggle('asc');
elem.classList.toggle('desc');
}
//if inactive, reset all other functions and add ascending active
if (elem.classList.contains('inactive')) {
reset_sort_headers();
elem.classList.remove('inactive');
elem.classList.add('active');
}
}
function is_all_rows_hidden(value) {
return value.hidden == false;
}
function filter_table(elem) {
var outcome_att = "data-test-result";
var outcome = elem.getAttribute(outcome_att);
class_outcome = outcome + " results-table-row";
var outcome_rows = document.getElementsByClassName(class_outcome);
for(var i = 0; i < outcome_rows.length; i++){
outcome_rows[i].hidden = !elem.checked;
}
var rows = find_all('.results-table-row').filter(is_all_rows_hidden);
var all_rows_hidden = rows.length == 0 ? true : false;
var not_found_message = document.getElementById("not-found-message");
not_found_message.hidden = !all_rows_hidden;
}
</script>
<h1>report.html</h1>
<p>Report generated on 02-Jun-2020 at 10:14:22 by <a href="https://pypi.python.org/pypi/pytest-html">pytest-html</a> v2.1.1</p>
<h2>Environment</h2>
<table id="environment">
<tr>
<td>Packages</td>
<td>{"pluggy": "0.13.1", "py": "1.8.1", "pytest": "5.4.2"}</td></tr>
<tr>
<td>Platform</td>
<td>Windows-10-10.0.18362-SP0</td></tr>
<tr>
<td>Plugins</td>
<td>{"forked": "1.1.3", "html": "2.1.1", "metadata": "1.9.0", "rerunfailures": "9.0", "xdist": "1.32.0"}</td></tr>
<tr>
<td>Python</td>
<td>3.8.2</td></tr></table>
<h2>Summary</h2>
<p>6 tests ran in 68.69 seconds. </p>
<p class="filter" hidden="true">(Un)check the boxes to filter the results.</p><input checked="true" class="filter" data-test-result="passed" hidden="true" name="filter_checkbox" onChange="filter_table(this)" type="checkbox"/><span class="passed">4 passed</span>, <input checked="true" class="filter" data-test-result="skipped" disabled="true" hidden="true" name="filter_checkbox" onChange="filter_table(this)" type="checkbox"/><span class="skipped">0 skipped</span>, <input checked="true" class="filter" data-test-result="failed" hidden="true" name="filter_checkbox" onChange="filter_table(this)" type="checkbox"/><span class="failed">2 failed</span>, <input checked="true" class="filter" data-test-result="error" disabled="true" hidden="true" name="filter_checkbox" onChange="filter_table(this)" type="checkbox"/><span class="error">0 errors</span>, <input checked="true" class="filter" data-test-result="xfailed" disabled="true" hidden="true" name="filter_checkbox" onChange="filter_table(this)" type="checkbox"/><span class="xfailed">0 expected failures</span>, <input checked="true" class="filter" data-test-result="xpassed" disabled="true" hidden="true" name="filter_checkbox" onChange="filter_table(this)" type="checkbox"/><span class="xpassed">0 unexpected passes</span>, <input checked="true" class="filter" data-test-result="rerun" disabled="true" hidden="true" name="filter_checkbox" onChange="filter_table(this)" type="checkbox"/><span class="rerun">0 rerun</span>
<h2>Results</h2>
<table id="results-table">
<thead id="results-table-head">
<tr>
<th class="sortable result initial-sort" col="result">Result</th>
<th class="sortable" col="name">Test</th>
<th class="sortable numeric" col="duration">Duration</th>
<th>Links</th></tr>
<tr hidden="true" id="not-found-message">
<th colspan="4">No results found. Try to check the filters</th></tr></thead>
<tbody class="failed results-table-row">
<tr>
<td class="col-result">Failed</td>
<td class="col-name">test_login.py::test_login2</td>
<td class="col-duration">13.76</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log">@pytest.mark.case3<br/> def test_login2():<br/> browser = BrowserEngine()<br/>&gt; browser.login_znfz()<br/><br/>test_login.py:67: <br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/>..\baseuse\browser_engine.py:46: in login_znfz<br/> driver = browser.open_browser()<br/>..\baseuse\browser_engine.py:25: in open_browser<br/> driver.maximize_window()<br/>d:\python\lib\site-packages\selenium\webdriver\remote\webdriver.py:737: in maximize_window<br/> self.execute(command, params)<br/>d:\python\lib\site-packages\selenium\webdriver\remote\webdriver.py:321: in execute<br/> self.error_handler.check_response(response)<br/>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ <br/><br/>self = &lt;selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x00000123BA5765E0&gt;<br/>response = {&#x27;sessionId&#x27;: &#x27;7cb322a945d0d22858e020ac61b82c59&#x27;, &#x27;status&#x27;: 13, &#x27;value&#x27;: {&#x27;message&#x27;: &#x27;unknown error: failed to change ...ver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.18362 x86_64)&#x27;}}<br/><br/> def check_response(self, response):<br/> &quot;&quot;&quot;<br/> Checks that a JSON response from the WebDriver does not have an error.<br/> <br/> :Args:<br/> - response - The JSON response from the WebDriver server as a dictionary<br/> object.<br/> <br/> :Raises: If the response contains an error message.<br/> &quot;&quot;&quot;<br/> status = response.get(&#x27;status&#x27;, None)<br/> if status is None or status == ErrorCode.SUCCESS:<br/> return<br/> value = None<br/> message = response.get(&quot;message&quot;, &quot;&quot;)<br/> screen = response.get(&quot;screen&quot;, &quot;&quot;)<br/> stacktrace = None<br/> if isinstance(status, int):<br/> value_json = response.get(&#x27;value&#x27;, None)<br/> if value_json and isinstance(value_json, basestring):<br/> import json<br/> try:<br/> value = json.loads(value_json)<br/> if len(value.keys()) == 1:<br/> value = value[&#x27;value&#x27;]<br/> status = value.get(&#x27;error&#x27;, None)<br/> if status is None:<br/> status = value[&quot;status&quot;]<br/> message = value[&quot;value&quot;]<br/> if not isinstance(message, basestring):<br/> value = message<br/> message = message.get(&#x27;message&#x27;)<br/> else:<br/> message = value.get(&#x27;message&#x27;, None)<br/> except ValueError:<br/> pass<br/> <br/> exception_class = ErrorInResponseException<br/> if status in ErrorCode.NO_SUCH_ELEMENT:<br/> exception_class = NoSuchElementException<br/> elif status in ErrorCode.NO_SUCH_FRAME:<br/> exception_class = NoSuchFrameException<br/> elif status in ErrorCode.NO_SUCH_WINDOW:<br/> exception_class = NoSuchWindowException<br/> elif status in ErrorCode.STALE_ELEMENT_REFERENCE:<br/> exception_class = StaleElementReferenceException<br/> elif status in ErrorCode.ELEMENT_NOT_VISIBLE:<br/> exception_class = ElementNotVisibleException<br/> elif status in ErrorCode.INVALID_ELEMENT_STATE:<br/> exception_class = InvalidElementStateException<br/> elif status in ErrorCode.INVALID_SELECTOR \<br/> or status in ErrorCode.INVALID_XPATH_SELECTOR \<br/> or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:<br/> exception_class = InvalidSelectorException<br/> elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:<br/> exception_class = ElementNotSelectableException<br/> elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:<br/> exception_class = ElementNotInteractableException<br/> elif status in ErrorCode.INVALID_COOKIE_DOMAIN:<br/> exception_class = InvalidCookieDomainException<br/> elif status in ErrorCode.UNABLE_TO_SET_COOKIE:<br/> exception_class = UnableToSetCookieException<br/> elif status in ErrorCode.TIMEOUT:<br/> exception_class = TimeoutException<br/> elif status in ErrorCode.SCRIPT_TIMEOUT:<br/> exception_class = TimeoutException<br/> elif status in ErrorCode.UNKNOWN_ERROR:<br/> exception_class = WebDriverException<br/> elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:<br/> exception_class = UnexpectedAlertPresentException<br/> elif status in ErrorCode.NO_ALERT_OPEN:<br/> exception_class = NoAlertPresentException<br/> elif status in ErrorCode.IME_NOT_AVAILABLE:<br/> exception_class = ImeNotAvailableException<br/> elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:<br/> exception_class = ImeActivationFailedException<br/> elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:<br/> exception_class = MoveTargetOutOfBoundsException<br/> elif status in ErrorCode.JAVASCRIPT_ERROR:<br/> exception_class = JavascriptException<br/> elif status in ErrorCode.SESSION_NOT_CREATED:<br/> exception_class = SessionNotCreatedException<br/> elif status in ErrorCode.INVALID_ARGUMENT:<br/> exception_class = InvalidArgumentException<br/> elif status in ErrorCode.NO_SUCH_COOKIE:<br/> exception_class = NoSuchCookieException<br/> elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:<br/> exception_class = ScreenshotException<br/> elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:<br/> exception_class = ElementClickInterceptedException<br/> elif status in ErrorCode.INSECURE_CERTIFICATE:<br/> exception_class = InsecureCertificateException<br/> elif status in ErrorCode.INVALID_COORDINATES:<br/> exception_class = InvalidCoordinatesException<br/> elif status in ErrorCode.INVALID_SESSION_ID:<br/> exception_class = InvalidSessionIdException<br/> elif status in ErrorCode.UNKNOWN_METHOD:<br/> exception_class = UnknownMethodException<br/> else:<br/> exception_class = WebDriverException<br/> if value == &#x27;&#x27; or value is None:<br/> value = response[&#x27;value&#x27;]<br/> if isinstance(value, basestring):<br/> if exception_class == ErrorInResponseException:<br/> raise exception_class(response, value)<br/> raise exception_class(value)<br/> if message == &quot;&quot; and &#x27;message&#x27; in value:<br/> message = value[&#x27;message&#x27;]<br/> <br/> screen = None<br/> if &#x27;screen&#x27; in value:<br/> screen = value[&#x27;screen&#x27;]<br/> <br/> stacktrace = None<br/> if &#x27;stackTrace&#x27; in value and value[&#x27;stackTrace&#x27;]:<br/> stacktrace = []<br/> try:<br/> for frame in value[&#x27;stackTrace&#x27;]:<br/> line = self._value_or_default(frame, &#x27;lineNumber&#x27;, &#x27;&#x27;)<br/> file = self._value_or_default(frame, &#x27;fileName&#x27;, &#x27;&lt;anonymous&gt;&#x27;)<br/> if line:<br/> file = &quot;%s:%s&quot; % (file, line)<br/> meth = self._value_or_default(frame, &#x27;methodName&#x27;, &#x27;&lt;anonymous&gt;&#x27;)<br/> if &#x27;className&#x27; in frame:<br/> meth = &quot;%s.%s&quot; % (frame[&#x27;className&#x27;], meth)<br/> msg = &quot; at %s (%s)&quot;<br/> msg = msg % (meth, file)<br/> stacktrace.append(msg)<br/> except TypeError:<br/> pass<br/> if exception_class == ErrorInResponseException:<br/> raise exception_class(response, message)<br/> elif exception_class == UnexpectedAlertPresentException:<br/> alert_text = None<br/> if &#x27;data&#x27; in value:<br/> alert_text = value[&#x27;data&#x27;].get(&#x27;text&#x27;)<br/> elif &#x27;alert&#x27; in value:<br/> alert_text = value[&#x27;alert&#x27;].get(&#x27;text&#x27;)<br/> raise exception_class(message, screen, stacktrace, alert_text)<br/>&gt; raise exception_class(message, screen, stacktrace)<br/><span class="error">E selenium.common.exceptions.WebDriverException: Message: unknown error: failed to change window state to maximized, current state is normal</span><br/><span class="error">E (Session info: chrome=83.0.4103.61)</span><br/><span class="error">E (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.18362 x86_64)</span><br/><br/>d:\python\lib\site-packages\selenium\webdriver\remote\errorhandler.py:242: WebDriverException<br/> -----------------------------Captured stdout setup------------------------------ <br/>setup_function:每个用例开始前都会执行
<br/> ------------------------------Captured stdout call------------------------------ <br/>周朝阳 qazwsxedc http://192.168.2.31/cm
<br/> ------------------------------Captured stderr call------------------------------ <br/>2020-06-02 10:14:08,258 - read_config - INFO - the userInfo : 周朝阳
2020-06-02 10:14:08,259 - read_config - INFO - the userInfo : qazwsxedc
2020-06-02 10:14:08,259 - read_config - INFO - the testUrl : http://192.168.2.31/cm
2020-06-02 10:14:08,259 - browser_engine - INFO - username: 周朝阳
2020-06-02 10:14:08,260 - read_config - INFO - the browserType : Chrome
2020-06-02 10:14:08,260 - read_config - INFO - the testUrl : http://192.168.2.31/cm
2020-06-02 10:14:08,260 - browser_engine - INFO - browserName: Chrome
2020-06-02 10:14:14,763 - browser_engine - INFO - Open url: http://192.168.2.31/cm
<br/> -------------------------------Captured log call-------------------------------- <br/>INFO  read_config:read_config.py:35 the userInfo : 周朝阳
INFO  read_config:read_config.py:35 the userInfo : qazwsxedc
INFO  read_config:read_config.py:30 the testUrl : http://192.168.2.31/cm
INFO  browser_engine:browser_engine.py:39 username: 周朝阳
INFO  read_config:read_config.py:25 the browserType : Chrome
INFO  read_config:read_config.py:30 the testUrl : http://192.168.2.31/cm
INFO  browser_engine:browser_engine.py:17 browserName: Chrome
INFO  browser_engine:browser_engine.py:23 Open url: http://192.168.2.31/cm<br/></div></td></tr></tbody>
<tbody class="failed results-table-row">
<tr>
<td class="col-result">Failed</td>
<td class="col-name">test_login.py::test_file2_answer2</td>
<td class="col-duration">0.00</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log">@pytest.mark.case1<br/> def test_file2_answer2():<br/>&gt; assert func(6) == 6<br/><span class="error">E assert 7 == 6</span><br/><span class="error">E + where 7 = func(6)</span><br/><br/>test_login.py:78: AssertionError<br/> -----------------------------Captured stdout setup------------------------------ <br/>setup_function:每个用例开始前都会执行
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">test_login.py::test_login</td>
<td class="col-duration">54.03</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> -----------------------------Captured stdout setup------------------------------ <br/>setup_function:每个用例开始前都会执行
<br/> ------------------------------Captured stdout call------------------------------ <br/>周朝阳 qazwsxedc http://192.168.2.31/cm
<br/> ------------------------------Captured stderr call------------------------------ <br/>2020-06-02 10:13:13,929 - read_config - INFO - the userInfo : 周朝阳
2020-06-02 10:13:13,929 - read_config - INFO - the userInfo : qazwsxedc
2020-06-02 10:13:13,929 - read_config - INFO - the testUrl : http://192.168.2.31/cm
2020-06-02 10:13:13,930 - testLogin - INFO - username: 周朝阳
2020-06-02 10:13:13,930 - testLogin - INFO - password :qazwsxedc
2020-06-02 10:13:13,930 - testLogin - INFO - Open url: http://192.168.2.31/cm
2020-06-02 10:13:13,931 - read_config - INFO - the browserType : Chrome
2020-06-02 10:13:13,933 - read_config - INFO - the testUrl : http://192.168.2.31/cm
2020-06-02 10:13:13,933 - browser_engine - INFO - browserName: Chrome
2020-06-02 10:13:20,546 - browser_engine - INFO - Open url: http://192.168.2.31/cm
2020-06-02 10:13:27,855 - browser_engine - INFO - Maximize the current window.
2020-06-02 10:13:27,859 - browser_engine - INFO - Set implicitly wait 10 seconds.
2020-06-02 10:13:27,905 - testLogin - INFO - tags.text;请选择所属部门
2020-06-02 10:13:29,321 - testLogin - INFO - tags2.text;瓯海区院
<br/> -------------------------------Captured log call-------------------------------- <br/>INFO  read_config:read_config.py:35 the userInfo : 周朝阳
INFO  read_config:read_config.py:35 the userInfo : qazwsxedc
INFO  read_config:read_config.py:30 the testUrl : http://192.168.2.31/cm
INFO  testLogin:test_login.py:27 username: 周朝阳
INFO  testLogin:test_login.py:28 password :qazwsxedc
INFO  testLogin:test_login.py:29 Open url: http://192.168.2.31/cm
INFO  read_config:read_config.py:25 the browserType : Chrome
INFO  read_config:read_config.py:30 the testUrl : http://192.168.2.31/cm
INFO  browser_engine:browser_engine.py:17 browserName: Chrome
INFO  browser_engine:browser_engine.py:23 Open url: http://192.168.2.31/cm
INFO  browser_engine:browser_engine.py:26 Maximize the current window.
INFO  browser_engine:browser_engine.py:28 Set implicitly wait 10 seconds.
INFO  testLogin:test_login.py:36 tags.text;请选择所属部门
INFO  testLogin:test_login.py:44 tags2.text;瓯海区院<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">test_login.py::test_login1</td>
<td class="col-duration">0.00</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> -----------------------------Captured stdout setup------------------------------ <br/>setup_function:每个用例开始前都会执行
<br/> ------------------------------Captured stdout call------------------------------ <br/>Chrome 周朝阳 qazwsxedc
<br/> ------------------------------Captured stderr call------------------------------ <br/>2020-06-02 10:14:08,253 - read_config - INFO - the browserType : Chrome
2020-06-02 10:14:08,254 - read_config - INFO - the userInfo : 周朝阳
2020-06-02 10:14:08,254 - read_config - INFO - the userInfo : qazwsxedc
<br/> -------------------------------Captured log call-------------------------------- <br/>INFO  read_config:read_config.py:25 the browserType : Chrome
INFO  read_config:read_config.py:35 the userInfo : 周朝阳
INFO  read_config:read_config.py:35 the userInfo : qazwsxedc<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">test_login.py::test_file2_answer1</td>
<td class="col-duration">0.00</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="log"> -----------------------------Captured stdout setup------------------------------ <br/>setup_function:每个用例开始前都会执行
<br/></div></td></tr></tbody>
<tbody class="passed results-table-row">
<tr>
<td class="col-result">Passed</td>
<td class="col-name">test_main.py::test_file2_answer1</td>
<td class="col-duration">0.00</td>
<td class="col-links"></td></tr>
<tr>
<td class="extra" colspan="4">
<div class="empty log">No log output captured.</div></td></tr></tbody></table></body></html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment