report.html

Report generated on 19-Nov-2022 at 05:40:12 by pytest-html v2.1.1

Environment

Packages {"pluggy": "0.13.1", "py": "1.9.0", "pytest": "6.1.0"}
Platform Windows-10-10.0.19041-SP0
Plugins {"allure-pytest": "2.8.18", "datadir": "1.3.1", "html": "2.1.1", "metadata": "1.10.0"}
Python 3.8.5

Summary

5 tests ran in 2407.51 seconds.

1 passed, 0 skipped, 4 failed, 0 errors, 0 expected failures, 0 unexpected passes

Results

Result Test Duration Links
Failed test_url_city_check.py::TestUrlCityVerification::test_create_json_from_DB_for_course_program_url 344.85
self = <test_url_city_check.TestUrlCityVerification object at 0x0000027172465550>
testdata = {'db_type': 'mysql', 'query_to_fetch_course_url_city': "Select distinct json_extract(s.params, '$.city_name') as city ...ct_type=1 and json_extract(s.params, '$.country_id')='6' and (s.url like 'val_city%' or s.linkable_id= val_linkable);"}

@pytest.mark.test_details("SLUB-T0000","high","Url City Verification","Prince")
def test_create_json_from_DB_for_course_program_url(self,testdata):
self._test_add_rows_in_csv()
x={}
with open("course_program_city_url.csv") as csvFile:
reader = csv.DictReader(csvFile)
for row in reader:
query_to_fetch_page_city_name = testdata['query_to_fetch_course_url_city'].replace('val_city',str(row['url'])).replace('val_linkable',str(row['linkable_id']))
query_to_store_city = db_helper.get_prod_data(query_to_fetch_page_city_name,testdata['db_type'])
city_name = list(map(itemgetter('city'), query_to_store_city))
city_name = [item.replace('"', '') for item in city_name]
#returns string where the first character is upper case, and the rest is lower case
city_name = [ i.capitalize() for i in city_name]
#returns blank quotes if city list is empty for URL else city names
if not city_name:
city_name.append("")
else:
city_name
city_url="https://www.simplilearn.com"+row['url']
x[city_url]=city_name
with open('url_new_cities.json', 'w') as outfile:
outfile.truncate(0)
json.dump(x, outfile, indent=4)
with open("course_program_city_url.csv") as csvFile:
reader = csv.DictReader(csvFile)
for row in reader:
cities=[]
url = "https://www.simplilearn.com"+row['url']
pytest.driver.get(url)
time.sleep(2)
> cities=pg_university_load.check_city_present(url)

test_prod\test_url_city_check.py:63:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages\university_master_page.py:444: in check_city_present
if selenium_helper.is_locator_present(self.locators['city_present'],10)==False:
helper\selenium_helper.py:121: in is_locator_present
if is_element_present(loc[i], timeout):
helper\selenium_helper.py:40: in is_element_present
WebDriverWait(pytest.driver, timeout).until(
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\support\wait.py:71: in until
value = method(self._driver)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\support\expected_conditions.py:64: in __call__
return _find_element(driver, self.locator)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\support\expected_conditions.py:415: in _find_element
raise e
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\support\expected_conditions.py:411: in _find_element
return driver.find_element(*by)
c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\webdriver.py:976: in find_element
return self.execute(Command.FIND_ELEMENT, {
c:\users\qateam\appdata\local\programs\python\python38\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 0x000002717248BF10>
response = {'status': 404, 'value': '{"value":{"error":"target frame detached","message":"target frame detached\\n (Session info...\n\\tRtlGetAppContainerNamedObjectPath [0x774A7BBE+286]\\n\\tRtlGetAppContainerNamedObjectPath [0x774A7B8E+238]\\n"}}'}

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: target frame detached
E (Session info: chrome=102.0.5005.63)

c:\users\qateam\appdata\local\programs\python\python38\lib\site-packages\selenium\webdriver\remote\errorhandler.py:242: WebDriverException
Failed test_url_city_check.py::TestUrlCityVerification::test_create_json_from_DB_for_masters_program_url 749.41
self = <test_url_city_check.TestUrlCityVerification object at 0x00000271725C4A30>
testdata = {'db_type': 'mysql', 'query_to_fetch_master_url_city': "Select distinct json_extract(s.params, '$.city_name') as city ...ct_type=2 and json_extract(s.params, '$.country_id')='6' and (s.url like 'val_city%' or s.linkable_id= val_linkable);"}

@pytest.mark.test_details("SLUB-T0000","high","Url City Verification","Prince")
def test_create_json_from_DB_for_masters_program_url(self,testdata):
x={}
with open("master_program_city_url.csv") as csvFile:
reader = csv.DictReader(csvFile)
for row in reader:
query_to_fetch_page_city_name = testdata['query_to_fetch_master_url_city'].replace('val_city',str(row['url'])).replace('val_linkable',str(row['linkable_id']))
query_to_store_city = db_helper.get_prod_data(query_to_fetch_page_city_name,testdata['db_type'])
city_name = list(map(itemgetter('city'), query_to_store_city))
city_name = [item.replace('"', '') for item in city_name]
#returns string where the first character is upper case, and the rest is lower case
city_name = [ i.capitalize() for i in city_name]
#returns blank quotes if city list is empty for URL else city names
if not city_name:
city_name.append("")
else:
city_name
city_url="https://www.simplilearn.com"+row['url']
x[city_url]=city_name
with open('url_new_cities.json', 'w') as outfile:
outfile.truncate(0)
json.dump(x, outfile, indent=4)
with open("master_program_city_url.csv") as csvFile:
reader = csv.DictReader(csvFile)
for row in reader:
cities=[]
url = "https://www.simplilearn.com"+row['url']
pytest.driver.get(url)
time.sleep(2)
cities=pg_university_load.check_city_present(url)
x[url]=cities
with open('url_cities.json', 'w') as outfile:
outfile.truncate(0)
json.dump(x, outfile, indent=4)
count = self.url_city_json_comparison_new()
if count >= 1:
> pytest.fail(f"Missing city, hence failed")
E Failed: Missing city, hence failed

test_prod\test_url_city_check.py:109: Failed
------------------------------Captured stdout call------------------------------
key: https://www.simplilearn.com/quality-management/lean-six-sigma-certification-training-all-in-one-bundle, missing values: [''] in UI key: https://www.simplilearn.com/quality-management/lean-six-sigma-certification-training-all-in-one-bundle, missing values: ['Ahmedabad', 'Bangalore', 'Chennai', 'Delhi', 'Kolkata', 'Mumbai', 'Pune'] in DB key: https://www.simplilearn.com/big-data-and-analytics/senior-data-scientist-masters-program-training, missing values: ['Dehra dun'] in UI key: https://www.simplilearn.com/big-data-and-analytics/senior-data-scientist-masters-program-training, missing values: ['Dehra Dun'] in DB key: https://www.simplilearn.com/devops-engineer-masters-program-certification-training, missing values: ['Visakhapatnam'] in UI key: https://www.simplilearn.com/artificial-intelligence-masters-program-training-course, missing values: ['Shimoga'] in DB key: https://www.simplilearn.com/business-analyst-certification-training-course, missing values: ['Cochin'] in UI
Failed test_url_city_check.py::TestUrlCityVerification::test_create_json_from_DB_for_classroom_course_program_url 322.01
self = <test_url_city_check.TestUrlCityVerification object at 0x000002717264F6D0>
testdata = {'db_type': 'mysql', 'query_to_fetch_classroom_course_url_city': "Select distinct json_extract(s.params, '$.city_name'...ct_type=1 and json_extract(s.params, '$.country_id')='6' and (s.url like 'val_city%' or s.linkable_id= val_linkable);"}

@pytest.mark.test_details("SLUB-T0000","high","Url City Verification","Prince")
def test_create_json_from_DB_for_classroom_course_program_url(self,testdata):
x={}
with open("classroom_program_city_url.csv") as csvFile:
reader = csv.DictReader(csvFile)
for row in reader:
query_to_fetch_page_city_name = testdata['query_to_fetch_classroom_course_url_city'].replace('val_city',str(row['url'])).replace('val_linkable',str(row['linkable_id']))
query_to_store_city = db_helper.get_prod_data(query_to_fetch_page_city_name,testdata['db_type'])
city_name = list(map(itemgetter('city'), query_to_store_city))
city_name = [item.replace('"', '') for item in city_name]
#returns string where the first character is upper case, and the rest is lower case
city_name = [ i.capitalize() for i in city_name]
#returns blank quotes if city list is empty for URL else city names
if not city_name:
city_name.append("")
else:
city_name
city_url="https://www.simplilearn.com"+row['url']
x[city_url]=city_name
with open('url_new_cities.json', 'w') as outfile:
outfile.truncate(0)
json.dump(x, outfile, indent=4)
with open("classroom_program_city_url.csv") as csvFile:
reader = csv.DictReader(csvFile)
for row in reader:
cities=[]
url = "https://www.simplilearn.com"+row['url']
pytest.driver.get(url)
time.sleep(2)
cities=pg_university_load.check_city_present(url)
x[url]=cities
with open('url_cities.json', 'w') as outfile:
outfile.truncate(0)
json.dump(x, outfile, indent=4)
count = self.url_city_json_comparison_new()
if count >= 1:
> pytest.fail(f"Missing city, hence failed")
E Failed: Missing city, hence failed

test_prod\test_url_city_check.py:147: Failed
------------------------------Captured stdout call------------------------------
key: https://www.simplilearn.com/agile-and-scrum/csm-certification-training, missing values: ['Cochin'] in UI
Failed test_url_city_check.py::TestUrlCityVerification::test_create_json_from_DB_for_PG_program_url 860.29
self = <test_url_city_check.TestUrlCityVerification object at 0x0000027172835D30>
testdata = {'db_type': 'mysql', 'query_to_fetch_PG_program_url_city': "Select distinct json_extract(s.params, '$.city_name') as c...ct_type=2 and json_extract(s.params, '$.country_id')='6' and (s.url like 'val_city%' or s.linkable_id= val_linkable);"}

@pytest.mark.test_details("SLUB-T0000","high","Url City Verification","Prince")
def test_create_json_from_DB_for_PG_program_url(self,testdata):
x={}
with open("PG_program_city_url.csv") as csvFile:
reader = csv.DictReader(csvFile)
for row in reader:
query_to_fetch_page_city_name = testdata['query_to_fetch_PG_program_url_city'].replace('val_city',str(row['url'])).replace('val_linkable',str(row['linkable_id']))
query_to_store_city = db_helper.get_prod_data(query_to_fetch_page_city_name,testdata['db_type'])
city_name = list(map(itemgetter('city'), query_to_store_city))
city_name = [item.replace('"', '') for item in city_name]
#returns string where the first character is upper case, and the rest is lower case
city_name = [ i.capitalize() for i in city_name]
#returns blank quotes if city list is empty for URL else city names
if not city_name:
city_name.append("")
else:
city_name
city_url="https://www.simplilearn.com"+row['url']
x[city_url]=city_name
with open('url_new_cities.json', 'w') as outfile:
outfile.truncate(0)
json.dump(x, outfile, indent=4)
with open("PG_program_city_url.csv") as csvFile:
reader = csv.DictReader(csvFile)
for row in reader:
cities=[]
url = "https://www.simplilearn.com"+row['url']
pytest.driver.get(url)
time.sleep(2)
cities=pg_university_load.check_city_present(url)
x[url]=cities
with open('url_cities.json', 'w') as outfile:
outfile.truncate(0)
json.dump(x, outfile, indent=4)
count = self.url_city_json_comparison_new()
if count >= 1:
> pytest.fail(f"Missing city, hence failed")
E Failed: Missing city, hence failed

test_prod\test_url_city_check.py:222: Failed
------------------------------Captured stdout call------------------------------
key: https://www.simplilearn.com/professional-certificate-digital-marketing, missing values: ['Dehra dun'] in UI key: https://www.simplilearn.com/professional-certificate-digital-marketing, missing values: ['Dehra Dun'] in DB
Passed test_url_city_check.py::TestUrlCityVerification::test_create_json_from_DB_for_cohort_masters_program_url 127.64
No log output captured.