Пример #1
0
def pytest_runtest_makereport(item):
    timestamp = datetime.now().strftime('%H-%M-%S')
    pytest_html = item.config.pluginmanager.getplugin('html')
    outcome = yield
    report = outcome.get_result()
    extra = getattr(report, 'extra', [])
    if report.when == 'call' or report.when == 'setup':
        xfail = hasattr(report, 'wasxfail')
        if CommonFunctions().get_star_json(key_name='TEST_TYPE') == 'WEB':
            feature_request = item.funcargs['request']
            driver = feature_request.getfixturevalue('driver')
            if (report.skipped and xfail) or (report.failed and not xfail):
                # print('****************inside snapshot******************************')
                snap = timestamp + '.png'
                if CommonFunctions().get_star_json(
                        key_name='REPORTING') == 'PYTEST-HTML':
                    snapshot = driver.get_screenshot_as_base64()
                    extra.append(pytest_html.extras.image(snapshot, ''))
                elif CommonFunctions().get_star_json(
                        key_name='REPORTING') == 'ALLURE':
                    snapshot = driver.get_screenshot_as_png()
                    allure.attach(snapshot,
                                  name="Screenshot",
                                  attachment_type=AttachmentType.PNG)
            report.extra = extra
Пример #2
0
def driver(request):
    if CommonFunctions().get_star_json(key_name='TEST_TYPE') == 'WEB':
        try:
            scenario_name = str(request.node.originalname).replace('test_', '')
            print(scenario_name)
            # print('Feature name ==>> ' + feature.name)
            print('Scenario Outline name ==>> ' + request.node.originalname)
            key_value = CommonFunctions.get_browser_mapping(scenario_name)
            print('key_value ======>>>>> ' + key_value)

            if key_value == "CHROME":
                d = webdriver.Chrome(
                    executable_path='drivers/chromedriver.exe')
            elif key_value == 'FIREFOX':
                d = webdriver.Firefox(
                    executable_path='drivers/geckodriver.exe')
            elif key_value == 'IE':
                d = webdriver.Ie(executable_path='drivers/IEDriverServer.exe')
            else:
                print(
                    '### Browser Type NOT mentioned correctly in star.json, defaulting execution with Chrome browser ###'
                )
                d = webdriver.Chrome(
                    executable_path='drivers/chromedriver.exe')

            d.implicitly_wait(10)
            # failed_before = request.session.testsfailed
            yield d
            # if request.session.testsfailed != failed_before:
            #     test_name = request.node.name
            #     take_screenshot(d, test_name)
            d.close()
            d.quit()
        except:
            print_stack()
            print('Error in creating driver instance...')

    elif CommonFunctions().get_star_json(key_name='TEST_TYPE') == 'MOBILE':
        # work in progress | Ravi Salunkhe
        pass
    elif CommonFunctions().get_star_json(key_name='TEST_TYPE') == 'API':
        # work in progress | Ravi Salunkhe
        pass
    elif CommonFunctions().get_star_json(key_name='TEST_TYPE') == 'DB':
        # work in progress | Ravi Salunkhe
        pass

    else:
        pass
Пример #3
0
 def verify_full_name_text(self, text):
     text = 'Sachin'
     full_name_text = self.get_element_text(self.FULL_NAME_BY_XPATH,
                                            'xpath')
     self.verify_text_equals(actual_text=full_name_text, expected_text=text)
     CommonFunctions().report_logger(
         step_name='verify_full_name_text',
         log_details='verify_full_name_text log details')
Пример #4
0
    def connect_to_dbs():
        # DB1
        driver1 = CommonFunctions().get_star_json(key_name='DB',
                                                  sub_key_name='MSSQL',
                                                  sub_sub_key_name='DRIVER')
        # print('driver1 : ' + driver1)
        server1 = CommonFunctions().get_star_json(key_name='DB',
                                                  sub_key_name='MSSQL',
                                                  sub_sub_key_name='SERVER')
        # print('server1 : ' + server1)
        database1 = CommonFunctions().get_star_json(
            key_name='DB', sub_key_name='MSSQL', sub_sub_key_name='DATABASE')
        # print('database1 : ' + database1)
        trusted_connection1 = CommonFunctions().get_star_json(
            key_name='DB',
            sub_key_name='MSSQL',
            sub_sub_key_name='TRUSTED_CONNECTION')

        # print('trusted_connection1 : ' + trusted_connection1)

        # DB2
        driver2 = CommonFunctions().get_star_json(key_name='DB',
                                                  sub_key_name='MSSQL',
                                                  sub_sub_key_name='DRIVER')
        server2 = CommonFunctions().get_star_json(key_name='DB',
                                                  sub_key_name='MSSQL',
                                                  sub_sub_key_name='SERVER')
        database2 = 'db2;'
        trusted_connection2 = CommonFunctions().get_star_json(
            key_name='DB',
            sub_key_name='MSSQL',
            sub_sub_key_name='TRUSTED_CONNECTION')

        print('Driver=' + driver1 + 'Server=' + server1 + 'Database=' +
              database1 + 'Trusted_Connection=' + trusted_connection1)

        print('Driver=' + driver2 + 'Server=' + server2 + 'Database=' +
              database2 + 'Trusted_Connection=' + trusted_connection2)

        # make connection string conn1 and connect to db1
        global conn1, conn2
        conn1 = pyodbc.connect('Driver=' + driver1 + 'Server=' + server1 +
                               'Database=' + database1 +
                               'Trusted_Connection=' + trusted_connection1)

        # make connection string conn1 and connect to db2
        conn2 = pyodbc.connect('Driver=' + driver2 + 'Server=' + server2 +
                               'Database=' + database2 +
                               'Trusted_Connection=' + trusted_connection2)

        conn_list = [conn1, conn2]

        return conn_list
        print("Connection to database successfull")
Пример #5
0
 def verify_header_text(self, text):
     header_text = self.get_element_text(self.HEADING_BY_ID, 'id')
     self.verify_text_equals(actual_text=header_text, expected_text=text)
     CommonFunctions().report_logger(
         step_name='verify_header_text',
         log_details='verify_header_text log details')
Пример #6
0
def navigate_to_app_homepage(driver):
    driver.get(CommonFunctions().get_star_json(key_name='WEB',
                                               sub_key_name='URLS',
                                               sub_sub_key_name='QA'))
Пример #7
0
 def wrapper(*args, **kwargs):
     try:
         func(*args, **kwargs)
     except AssertionError:
         CommonFunctions().take_screenshot(driver, 'Error screenshot')
         raise
Пример #8
0
def navigate_to_app_homepage(driver):
    driver.get(CommonFunctions().get_star_json('URLS', 'QA'))