report.html

Report generated on 18-Nov-2022 at 14:45:50 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

8 tests ran in 4545.33 seconds.

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

Results

Result Test Duration Links
Failed test_page_section_check.py::TestPageSectionCheck::test_check_page_section_for_certificate_program_url 2065.68
self = <test_page_section_check.TestPageSectionCheck object at 0x00000237A039C970>

@pytest.mark.test_details("SLUB-T0000","high","Page Section Check","Prince")
def test_check_page_section_for_certificate_program_url(self):
self._test_add_rows_in_csv()
count=0
with open("certificate_program_prod.txt")as url_file:
filename = "Report.csv"
count = 0
for city_url in url_file:
city_url = city_url.rstrip('\n')
pytest.driver.get(city_url)
time.sleep(2)
missing_section = pg_university_load.certificate_page_section_present()
if len(missing_section)>1:
rows = [['Certificate Program',city_url,'Fail',missing_section]]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
count = count+1
else:
rows = [['Certificate Program',city_url,'Pass','NA']]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
print("value of count is :", count)
if count>=1:
> pytest.fail(f"Missing section, hence failed")
E Failed: Missing section, hence failed

test_prod\test_page_section_check.py:60: Failed
------------------------------Captured stdout call------------------------------
value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 0 value of count is : 1 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 2 value of count is : 3 value of count is : 4 value of count is : 4 value of count is : 4 value of count is : 5 value of count is : 5 value of count is : 5 value of count is : 6 value of count is : 6 value of count is : 7 value of count is : 8 value of count is : 8 value of count is : 9 value of count is : 9 value of count is : 10 value of count is : 11 value of count is : 11 value of count is : 12 value of count is : 12 value of count is : 13 value of count is : 13 value of count is : 14 value of count is : 15 value of count is : 15 value of count is : 16 value of count is : 16 value of count is : 17 value of count is : 18 value of count is : 19 value of count is : 20 value of count is : 20 value of count is : 20 value of count is : 21 value of count is : 22 value of count is : 22 value of count is : 23 value of count is : 23
Failed test_page_section_check.py::TestPageSectionCheck::test_check_page_section_for_classroom_program_url 244.82
self = <test_page_section_check.TestPageSectionCheck object at 0x00000237A05FC8B0>

@pytest.mark.test_details("SLUB-T0000","high","Page Section Check","Prince")
def test_check_page_section_for_classroom_program_url(self):
#self._test_add_rows_in_csv()
count=0
with open("classroom_program_prod.txt")as url_file:
filename = "Report.csv"
count = 0
for city_url in url_file:
city_url = city_url.rstrip('\n')
pytest.driver.get(city_url)
time.sleep(2)
missing_section = pg_university_load.classroom_page_section_present()
if len(missing_section)>1:
rows = [['Classroom Program',city_url,'Fail',missing_section]]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
count = count+1
else:
rows = [['Classroom Program',city_url,'Pass','NA']]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
print("value of count is :", count)
if count>=1:
> pytest.fail(f"Missing section, hence failed")
E Failed: Missing section, hence failed

test_prod\test_page_section_check.py:87: Failed
------------------------------Captured stdout call------------------------------
value of count is : 0 value of count is : 0 value of count is : 1 value of count is : 1 value of count is : 2 value of count is : 3 value of count is : 3 value of count is : 3 value of count is : 4 value of count is : 4 value of count is : 4 value of count is : 4
Failed test_page_section_check.py::TestPageSectionCheck::test_check_page_section_for_master_program_url 660.11
self = <test_page_section_check.TestPageSectionCheck object at 0x00000237A05DF8E0>

@pytest.mark.test_details("SLUB-T0000","high","Page Section Check","Prince")
def test_check_page_section_for_master_program_url(self):
#self._test_add_rows_in_csv()
count=0
with open("Master_program_prod.txt")as url_file:
filename = "Report.csv"
count = 0
for city_url in url_file:
city_url = city_url.rstrip('\n')
pytest.driver.get(city_url)
time.sleep(2)
missing_section = pg_university_load.master_page_section_present()
if len(missing_section)>1:
rows = [['Master Program',city_url,'Fail',missing_section]]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
count = count+1
else:
rows = [['Master Program',city_url,'Pass','NA']]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
if count>=1:
> pytest.fail(f"Missing section, hence failed")
E Failed: Missing section, hence failed

test_prod\test_page_section_check.py:113: Failed
Failed test_page_section_check.py::TestPageSectionCheck::test_check_page_section_for_PG_new_template_program_url 859.00
self = <test_page_section_check.TestPageSectionCheck object at 0x00000237A05641C0>

@pytest.mark.test_details("SLUB-T0000","high","Page Section Check","Prince")
def test_check_page_section_for_PG_new_template_program_url(self):
#self._test_add_rows_in_csv()
count=0
with open("Pg_new_template_prod.txt")as url_file:
filename = "Report.csv"
count = 0
for city_url in url_file:
city_url = city_url.rstrip('\n')
pytest.driver.get(city_url)
time.sleep(2)
missing_section = pg_university_load.pg_new_template_section_present()
if len(missing_section)>1:
rows = [['PG New Template',city_url,'Fail',missing_section]]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
count = count+1
else:
rows = [['PG New Template',city_url,'Pass','NA']]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
if count>=1:
> pytest.fail(f"Missing section, hence failed")
E Failed: Missing section, hence failed

test_prod\test_page_section_check.py:166: Failed
Failed test_page_section_check.py::TestPageSectionCheck::test_check_page_section_for_PG_old_template_program_url 474.00
self = <test_page_section_check.TestPageSectionCheck object at 0x00000237A058C520>

@pytest.mark.test_details("SLUB-T0000","high","Page Section Check","Prince")
def test_check_page_section_for_PG_old_template_program_url(self):
#self._test_add_rows_in_csv()
count=0
with open("Pg_old_template_prod.txt")as url_file:
filename = "Report.csv"
count = 0
for city_url in url_file:
city_url = city_url.rstrip('\n')
pytest.driver.get(city_url)
time.sleep(2)
missing_section = pg_university_load.pg_old_template_section_present()
if len(missing_section)>1:
rows = [['PG Old Template',city_url,'Fail',missing_section]]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
count = count+1
else:
rows = [['PG Old Template',city_url,'Pass','NA']]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
if count>=1:
> pytest.fail(f"Missing section, hence failed")
E Failed: Missing section, hence failed

test_prod\test_page_section_check.py:193: Failed
Failed test_page_section_check.py::TestPageSectionCheck::test_check_page_section_for_subdomain_program_url 24.47
self = <test_page_section_check.TestPageSectionCheck object at 0x00000237A05C0100>

@pytest.mark.test_details("SLUB-T0000","high","Page Section Check","Prince")
def test_check_page_section_for_subdomain_program_url(self):
#self._test_add_rows_in_csv()
count=0
with open("urls_list_prod.txt")as url_file:
filename = "Report.csv"
count = 0
for city_url in url_file:
city_url = city_url.rstrip('\n')
try:
pytest.driver.get(city_url)
time.sleep(2)
except:
logging.info(f'Page load failed for {city_url}')
> missing_section = pg_university_load.subdomain_section_present()

test_prod\test_page_section_check.py:210:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages\university_master_page.py:907: in subdomain_section_present
if selenium_helper.is_locator_present(self.locators['btn_sticky_program_fees_section_btn'],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 0x00000237A04F0040>
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_page_section_check.py::TestPageSectionCheck::test_check_page_section_for_job_guarantee_program_url 140.82
self = <test_page_section_check.TestPageSectionCheck object at 0x00000237A05E4CD0>

@pytest.mark.test_details("SLUB-T0000","high","Page Section Check","Prince")
def test_check_page_section_for_job_guarantee_program_url(self):
#self._test_add_rows_in_csv()
count=0
with open("job_guarantee_prod.txt")as url_file:
filename = "Report.csv"
count = 0
for city_url in url_file:
city_url = city_url.rstrip('\n')
pytest.driver.get(city_url)
time.sleep(2)
missing_section = pg_university_load.job_guarantee_section_present()
if len(missing_section)>1:
rows = [['Job Guarantee',city_url,'Fail',missing_section]]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
count = count+1
else:
rows = [['Job Guarantee',city_url,'Pass','NA']]
with open(filename, 'a', newline='\n') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(rows)
if count>=1:
> pytest.fail(f"Missing section, hence failed")
E Failed: Missing section, hence failed

test_prod\test_page_section_check.py:250: Failed
-------------------------------Captured log call--------------------------------
WARNING  setup:page_factory.py:53 the locator btn_sticky_pricing_section_btn_text on url https://www.simplilearn.com/automation-testing-training-course-placement-guarantee#pricing is not visible INFO  setup:university_master_page.py:1030 No Text present for Pricing section
Passed test_page_section_check.py::TestPageSectionCheck::test_check_page_section_for_degree_program_url 69.04
No log output captured.