Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- C:\Devel\python_training\env\Scripts\python.exe "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2016.3.3\helpers\pycharm\pytestrunner.py" -p pytest_teamcity C:/Devel/python_training/test/test_add_contact_in_group.py
- Testing started at 16:39 ...
- ============================= test session starts =============================
- platform win32 -- Python 3.6.1, pytest-3.0.7, py-1.4.33, pluggy-0.4.0
- rootdir: C:\Devel\python_training\test, inifile:
- collected 1 items
- test_add_contact_in_group.py GET CONNECTION FROM THE LOCAL POOL
- SELECT `c`.`id`, `c`.`firstname`, `c`.`lastname`, `c`.`address`, `c`.`home`, `c`.`mobile`, `c`.`work`, `c`.`phone2`, `c`.`email`, `c`.`email2`, `c`.`email3`, `c`.`deprecated`
- FROM `addressbook` `c`
- WHERE `c`.`deprecated` IS NULL
- COMMIT
- RELEASE CONNECTION
- GET CONNECTION FROM THE LOCAL POOL
- SELECT `g`.`group_id`, `g`.`group_name`, `g`.`group_header`, `g`.`group_footer`
- FROM `group_list` `g`
- COMMIT
- RELEASE CONNECTION
- GET CONNECTION FROM THE LOCAL POOL
- SELECT `g`.`group_id`, `g`.`group_name`, `g`.`group_header`, `g`.`group_footer`
- FROM `group_list` `g`
- COMMIT
- RELEASE CONNECTION
- GET CONNECTION FROM THE LOCAL POOL
- SELECT `g`.`group_id`, `g`.`group_name`, `g`.`group_header`, `g`.`group_footer`
- FROM `group_list` `g`
- WHERE `g`.`group_id` = %s
- ['103']
- SELECT `c`.`id`, `c`.`firstname`, `c`.`lastname`, `c`.`address`, `c`.`home`, `c`.`mobile`, `c`.`work`, `c`.`phone2`, `c`.`email`, `c`.`email2`, `c`.`email3`, `c`.`deprecated`
- FROM `addressbook` `c`
- WHERE `c`.`deprecated` IS NULL
- AND %s NOT IN (
- SELECT `t-1`.`group_id`
- FROM `address_in_groups` `t-1`
- WHERE `c`.`id` = `t-1`.`id`
- )
- [103]
- COMMIT
- RELEASE CONNECTION
- F
- app = <fixture.application.Application object at 0x03B02D10>
- def test_add_contact_in_group(app):
- old_db_contact = db.get_contact_list()
- old_db_group = db.get_group_list()
- contact = Contact(firstname="firstname")
- group = Group(name="New group")
- if old_db_group:
- new_db_group = db.get_group_list()
- random_group = random.choice(new_db_group)
- group_id = random_group.id
- if old_db_contact:
- contacts_not_in_groups = db.get_contacts_not_in_group(random_group)
- random_contact = random.choice(contacts_not_in_groups)
- contact_id = random_contact.id
- > app.contact.add_contact_to_group_by_name(contact_id, group_id)
- test_add_contact_in_group.py:25:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- ..\fixture\contact.py:192: in add_contact_to_group_by_name
- wd.find_element_by_xpath('//i//*[contains(text(),"group page")]').click()
- ..\env\lib\site-packages\selenium\webdriver\remote\webdriver.py:293: in find_element_by_xpath
- return self.find_element(by=By.XPATH, value=xpath)
- ..\env\lib\site-packages\selenium\webdriver\remote\webdriver.py:752: in find_element
- 'value': value})['value']
- ..\env\lib\site-packages\selenium\webdriver\remote\webdriver.py:236: in execute
- self.error_handler.check_response(response)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x03B02E30>
- response = {'status': 500, 'value': '{"name":"findElement","sessionId":"9d1fe0d0-4987-490b-b94a-6ad4a05eaa32","status":7,"value":...pu529ctlw/extensions/fxdriver@googlecode.com/components/command-processor.js","lineNumber":12608,"columnNumber":5}]}}'}
- 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)
- status = value.get('error', None)
- if status is None:
- status = value["status"]
- message = value["value"]
- if not isinstance(message, basestring):
- value = message
- try:
- message = message['message']
- except TypeError:
- message = None
- 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.INVALID_COOKIE_DOMAIN:
- exception_class = WebDriverException
- elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
- exception_class = WebDriverException
- 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
- 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 and 'alert' in value:
- raise exception_class(message, screen, stacktrace, value['alert'].get('text'))
- > raise exception_class(message, screen, stacktrace)
- E selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"//i//*[contains(text(),\"group page\")]"}
- E Stacktrace:
- E at FirefoxDriver.prototype.findElementInternal_ (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
- E at FirefoxDriver.prototype.findElement (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/driver-component.js:10779)
- E at DelayedCommand.prototype.executeInternal_/h (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)
- E at DelayedCommand.prototype.executeInternal_ (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)
- E at DelayedCommand.prototype.execute/< (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
- ..\env\lib\site-packages\selenium\webdriver\remote\errorhandler.py:192: NoSuchElementException
- ================================== FAILURES ===================================
- __________________________ test_add_contact_in_group __________________________
- app = <fixture.application.Application object at 0x03B02D10>
- def test_add_contact_in_group(app):
- old_db_contact = db.get_contact_list()
- old_db_group = db.get_group_list()
- contact = Contact(firstname="firstname")
- group = Group(name="New group")
- if old_db_group:
- new_db_group = db.get_group_list()
- random_group = random.choice(new_db_group)
- group_id = random_group.id
- if old_db_contact:
- contacts_not_in_groups = db.get_contacts_not_in_group(random_group)
- random_contact = random.choice(contacts_not_in_groups)
- contact_id = random_contact.id
- > app.contact.add_contact_to_group_by_name(contact_id, group_id)
- test_add_contact_in_group.py:25:
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- ..\fixture\contact.py:192: in add_contact_to_group_by_name
- wd.find_element_by_xpath('//i//*[contains(text(),"group page")]').click()
- ..\env\lib\site-packages\selenium\webdriver\remote\webdriver.py:293: in find_element_by_xpath
- return self.find_element(by=By.XPATH, value=xpath)
- ..\env\lib\site-packages\selenium\webdriver\remote\webdriver.py:752: in find_element
- 'value': value})['value']
- ..\env\lib\site-packages\selenium\webdriver\remote\webdriver.py:236: in execute
- self.error_handler.check_response(response)
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x03B02E30>
- response = {'status': 500, 'value': '{"name":"findElement","sessionId":"9d1fe0d0-4987-490b-b94a-6ad4a05eaa32","status":7,"value":...pu529ctlw/extensions/fxdriver@googlecode.com/components/command-processor.js","lineNumber":12608,"columnNumber":5}]}}'}
- 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)
- status = value.get('error', None)
- if status is None:
- status = value["status"]
- message = value["value"]
- if not isinstance(message, basestring):
- value = message
- try:
- message = message['message']
- except TypeError:
- message = None
- 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.INVALID_COOKIE_DOMAIN:
- exception_class = WebDriverException
- elif status in ErrorCode.UNABLE_TO_SET_COOKIE:
- exception_class = WebDriverException
- 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
- 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 and 'alert' in value:
- raise exception_class(message, screen, stacktrace, value['alert'].get('text'))
- > raise exception_class(message, screen, stacktrace)
- E selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"//i//*[contains(text(),\"group page\")]"}
- E Stacktrace:
- E at FirefoxDriver.prototype.findElementInternal_ (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
- E at FirefoxDriver.prototype.findElement (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/driver-component.js:10779)
- E at DelayedCommand.prototype.executeInternal_/h (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)
- E at DelayedCommand.prototype.executeInternal_ (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)
- E at DelayedCommand.prototype.execute/< (file:///C:/Users/BALCEV~1/AppData/Local/Temp/tmpu529ctlw/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
- ..\env\lib\site-packages\selenium\webdriver\remote\errorhandler.py:192: NoSuchElementException
- ========================== 1 failed in 7.58 seconds ===========================
- Process finished with exit code 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement