Skip to content

Instantly share code, notes, and snippets.

@kimberlythegeek
Created April 5, 2018 20:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kimberlythegeek/9f90cb04e9f922a83ddea4cdb4a02205 to your computer and use it in GitHub Desktop.
Save kimberlythegeek/9f90cb04e9f922a83ddea4cdb4a02205 to your computer and use it in GitHub Desktop.
================================================================================================================== FAILURES ==================================================================================================================
________________________________________________________________________________________________________ test_door_hanger_interaction ________________________________________________________________________________________________________
fxa_account = <fxapom.fxapom.FxATestAccount object at 0x109cc95f8>, login_page = <pages.login.Login object at 0x109d28f60>
def test_door_hanger_interaction(fxa_account, login_page):
"""Add an entry and test it shows in the door hanger."""
fxa = fxa_account
home_page = login_page.sign_in(fxa.email, fxa.password)
new_entry = home_page.create_new_entry()
new_entry.set_site_name('Tuna, Inc.')
new_entry.set_site_url('https://satuna.org')
new_entry.set_username('tuna4life')
new_entry.set_password('tunafish')
new_entry.set_note('The tuna swim at midnight')
new_entry.save()
> lists = home_page.door_hanger.find_entrys()
test/integration/tests/test_doorhanger.py:17:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/integration/pages/door_hanger.py:34: in find_entrys
self._open_and_switch_to_hanger()
test/integration/pages/door_hanger.py:25: in _open_and_switch_to_hanger
self.find_element(*self._lockbox_button_locator).click()
.tox/py3-integration-tests/lib/python3.6/site-packages/pypom/region.py:150: in find_element
return self.driver_adapter.find_element(strategy, locator, root=self.root)
.tox/py3-integration-tests/lib/python3.6/site-packages/pypom/selenium_driver.py:56: in find_element
return self.driver.find_element(strategy, locator)
.tox/py3-integration-tests/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:955: in find_element
'value': value})['value']
.tox/py3-integration-tests/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py:312: in execute
self.error_handler.check_response(response)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x109d31710>, response = {'status': 500, 'value': '{"value":{"error":"unknown error","message":"Failed to extract Web Element from response","stacktrace":""}}'}
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: Failed to extract Web Element from response
.tox/py3-integration-tests/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py:242: WebDriverException
-------------------------------------------------------------------------------------------------------------- pytest-selenium ---------------------------------------------------------------------------------------------------------------
Driver log: /private/var/folders/d_/w55mt2zj19b5wh0z65gmhtc40000gn/T/pytest-of-ksereduck/pytest-2/test_door_hanger_interaction0/driver.log
URL: moz-extension://52bbb4dc-4927-a74d-bcc7-4663af0e8302/list/manage/index.html
WARNING: Failed to gather log types: Message: GET /session/b6e2e5e0-6e53-4b42-a213-682782035ab2/log/types did not match a known command
=============================================================================================== 1 failed, 5 passed, 5 skipped in 72.13 seconds ===============================================================================================
Exception ignored in: <bound method FxATestAccount.__del__ of <fxapom.fxapom.FxATestAccount object at 0x109cc95f8>>
Traceback (most recent call last):
File "/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/lib/python3.6/site-packages/fxapom/fxapom.py", line 65, in __del__
File "/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/lib/python3.6/site-packages/fxa/tests/utils.py", line 87, in clear
File "/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/lib/python3.6/site-packages/requests/api.py", line 152, in delete
File "/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/lib/python3.6/site-packages/requests/api.py", line 58, in request
File "/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/lib/python3.6/site-packages/requests/sessions.py", line 499, in request
File "/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/lib/python3.6/site-packages/requests/sessions.py", line 672, in merge_environment_settings
File "/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/lib/python3.6/site-packages/requests/utils.py", line 692, in get_environ_proxies
File "/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/lib/python3.6/site-packages/requests/utils.py", line 676, in should_bypass_proxies
File "/usr/local/Cellar/python/3.6.4_3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2612, in proxy_bypass
File "/usr/local/Cellar/python/3.6.4_3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2589, in proxy_bypass_macosx_sysconf
File "/usr/local/Cellar/python/3.6.4_3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 2536, in _proxy_bypass_macosx_sysconf
ImportError: sys.meta_path is None, Python is likely shutting down
ERROR: InvocationError: '/Users/ksereduck/Workspace/lockbox-extension/.tox/py3-integration-tests/bin/pytest --driver=Firefox --verbose test/integration'
__________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________
ERROR: py3-integration-tests: commands failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment