report.html

Report generated on 02-Jun-2020 at 10:14:22 by pytest-html v2.1.1

Environment

Packages {"pluggy": "0.13.1", "py": "1.8.1", "pytest": "5.4.2"}
Platform Windows-10-10.0.18362-SP0
Plugins {"forked": "1.1.3", "html": "2.1.1", "metadata": "1.9.0", "rerunfailures": "9.0", "xdist": "1.32.0"}
Python 3.8.2

Summary

6 tests ran in 68.69 seconds.

4 passed, 0 skipped, 2 failed, 0 errors, 0 expected failures, 0 unexpected passes, 0 rerun

Results

Result Test Duration Links
Failed test_login.py::test_login2 13.76
@pytest.mark.case3
def test_login2():
browser = BrowserEngine()
> browser.login_znfz()

test_login.py:67:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
..\baseuse\browser_engine.py:46: in login_znfz
driver = browser.open_browser()
..\baseuse\browser_engine.py:25: in open_browser
driver.maximize_window()
d:\python\lib\site-packages\selenium\webdriver\remote\webdriver.py:737: in maximize_window
self.execute(command, params)
d:\python\lib\site-packages\selenium\webdriver\remote\webdriver.py:321: in execute
self.error_handler.check_response(response)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x00000123BA5765E0>
response = {'sessionId': '7cb322a945d0d22858e020ac61b82c59', 'status': 13, 'value': {'message': 'unknown error: failed to change ...ver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.18362 x86_64)'}}

def check_response(self, response):
"""
Checks that a JSON response from the WebDriver does not have an error.

:Args:
- response - The JSON response from the WebDriver server as a dictionary
object.

:Raises: If the response contains an error message.
"""
status = response.get('status', None)
if status is None or status == ErrorCode.SUCCESS:
return
value = None
message = response.get("message", "")
screen = response.get("screen", "")
stacktrace = None
if isinstance(status, int):
value_json = response.get('value', None)
if value_json and isinstance(value_json, basestring):
import json
try:
value = json.loads(value_json)
if len(value.keys()) == 1:
value = value['value']
status = value.get('error', None)
if status is None:
status = value["status"]
message = value["value"]
if not isinstance(message, basestring):
value = message
message = message.get('message')
else:
message = value.get('message', None)
except ValueError:
pass

exception_class = ErrorInResponseException
if status in ErrorCode.NO_SUCH_ELEMENT:
exception_class = NoSuchElementException
elif status in ErrorCode.NO_SUCH_FRAME:
exception_class = NoSuchFrameException
elif status in ErrorCode.NO_SUCH_WINDOW:
exception_class = NoSuchWindowException
elif status in ErrorCode.STALE_ELEMENT_REFERENCE:
exception_class = StaleElementReferenceException
elif status in ErrorCode.ELEMENT_NOT_VISIBLE:
exception_class = ElementNotVisibleException
elif status in ErrorCode.INVALID_ELEMENT_STATE:
exception_class = InvalidElementStateException
elif status in ErrorCode.INVALID_SELECTOR \
or status in ErrorCode.INVALID_XPATH_SELECTOR \
or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER:
exception_class = InvalidSelectorException
elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE:
exception_class = ElementNotSelectableException
elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE:
exception_class = ElementNotInteractableException
elif status in ErrorCode.INVALID_COOKIE_DOMAIN:
exception_class = InvalidCookieDomainException
elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
exception_class = UnableToSetCookieException
elif status in ErrorCode.TIMEOUT:
exception_class = TimeoutException
elif status in ErrorCode.SCRIPT_TIMEOUT:
exception_class = TimeoutException
elif status in ErrorCode.UNKNOWN_ERROR:
exception_class = WebDriverException
elif status in ErrorCode.UNEXPECTED_ALERT_OPEN:
exception_class = UnexpectedAlertPresentException
elif status in ErrorCode.NO_ALERT_OPEN:
exception_class = NoAlertPresentException
elif status in ErrorCode.IME_NOT_AVAILABLE:
exception_class = ImeNotAvailableException
elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED:
exception_class = ImeActivationFailedException
elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS:
exception_class = MoveTargetOutOfBoundsException
elif status in ErrorCode.JAVASCRIPT_ERROR:
exception_class = JavascriptException
elif status in ErrorCode.SESSION_NOT_CREATED:
exception_class = SessionNotCreatedException
elif status in ErrorCode.INVALID_ARGUMENT:
exception_class = InvalidArgumentException
elif status in ErrorCode.NO_SUCH_COOKIE:
exception_class = NoSuchCookieException
elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN:
exception_class = ScreenshotException
elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED:
exception_class = ElementClickInterceptedException
elif status in ErrorCode.INSECURE_CERTIFICATE:
exception_class = InsecureCertificateException
elif status in ErrorCode.INVALID_COORDINATES:
exception_class = InvalidCoordinatesException
elif status in ErrorCode.INVALID_SESSION_ID:
exception_class = InvalidSessionIdException
elif status in ErrorCode.UNKNOWN_METHOD:
exception_class = UnknownMethodException
else:
exception_class = WebDriverException
if value == '' or value is None:
value = response['value']
if isinstance(value, basestring):
if exception_class == ErrorInResponseException:
raise exception_class(response, value)
raise exception_class(value)
if message == "" and 'message' in value:
message = value['message']

screen = None
if 'screen' in value:
screen = value['screen']

stacktrace = None
if 'stackTrace' in value and value['stackTrace']:
stacktrace = []
try:
for frame in value['stackTrace']:
line = self._value_or_default(frame, 'lineNumber', '')
file = self._value_or_default(frame, 'fileName', '<anonymous>')
if line:
file = "%s:%s" % (file, line)
meth = self._value_or_default(frame, 'methodName', '<anonymous>')
if 'className' in frame:
meth = "%s.%s" % (frame['className'], meth)
msg = " at %s (%s)"
msg = msg % (meth, file)
stacktrace.append(msg)
except TypeError:
pass
if exception_class == ErrorInResponseException:
raise exception_class(response, message)
elif exception_class == UnexpectedAlertPresentException:
alert_text = None
if 'data' in value:
alert_text = value['data'].get('text')
elif 'alert' in value:
alert_text = value['alert'].get('text')
raise exception_class(message, screen, stacktrace, alert_text)
> raise exception_class(message, screen, stacktrace)
E selenium.common.exceptions.WebDriverException: Message: unknown error: failed to change window state to maximized, current state is normal
E (Session info: chrome=83.0.4103.61)
E (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.18362 x86_64)

d:\python\lib\site-packages\selenium\webdriver\remote\errorhandler.py:242: WebDriverException
-----------------------------Captured stdout setup------------------------------
setup_function:每个用例开始前都会执行
------------------------------Captured stdout call------------------------------
周朝阳 qazwsxedc http://192.168.2.31/cm
------------------------------Captured stderr call------------------------------
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
-------------------------------Captured log call--------------------------------
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
Failed test_login.py::test_file2_answer2 0.00
@pytest.mark.case1
def test_file2_answer2():
> assert func(6) == 6
E assert 7 == 6
E + where 7 = func(6)

test_login.py:78: AssertionError
-----------------------------Captured stdout setup------------------------------
setup_function:每个用例开始前都会执行
Passed test_login.py::test_login 54.03
-----------------------------Captured stdout setup------------------------------
setup_function:每个用例开始前都会执行
------------------------------Captured stdout call------------------------------
周朝阳 qazwsxedc http://192.168.2.31/cm
------------------------------Captured stderr call------------------------------
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;瓯海区院
-------------------------------Captured log call--------------------------------
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;瓯海区院
Passed test_login.py::test_login1 0.00
-----------------------------Captured stdout setup------------------------------
setup_function:每个用例开始前都会执行
------------------------------Captured stdout call------------------------------
Chrome 周朝阳 qazwsxedc
------------------------------Captured stderr call------------------------------
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
-------------------------------Captured log call--------------------------------
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
Passed test_login.py::test_file2_answer1 0.00
-----------------------------Captured stdout setup------------------------------
setup_function:每个用例开始前都会执行
Passed test_main.py::test_file2_answer1 0.00
No log output captured.