qxf2 / qxf2-page-object-model

Write Selenium and Appium tests in Python using the Page Object pattern. This Pythonic GUI and API test automation framework will help you get started with QA automation quickly. It comes with many useful integrations like - email, BrowserStack, Slack, TestRail, etc. This repository is developed and maintained by Qxf2 Services.
https://qxf2.com
MIT License
261 stars 192 forks source link

Incorrect error message in Exception for pytest_terminal_summary #374

Closed sravantit25 closed 5 months ago

sravantit25 commented 7 months ago

In conftest.py, for the pytest_terminal_summary method, the error message in the Exception talks specifically about 'email pytest report'.

    except Exception as e:
        print("Exception when trying to run test: %s"%__file__)
        print("Python says:%s"%str(e))
        solution = "It looks like you are trying to use email pytest report to run your test. \nPlease make sure you have updated .env with the right credentials ."

The error can be anything related to Slack, Email, Tesults, or Summary features. So, the error message must be more generic.

def pytest_terminal_summary(terminalreporter, exitstatus):
    "add additional section in terminal summary reporting."
    try:
        if not hasattr(terminalreporter.config, 'workerinput'):
            if  terminalreporter.config.getoption("--slack_flag").lower() == 'y':
                post_test_reports_to_slack.post_reports_to_slack()
            if terminalreporter.config.getoption("--email_pytest_report").lower() == 'y':
                #Initialize the Email_Pytest_Report object
                email_obj = Email_Pytest_Report()
                # Send html formatted email body message with pytest report as an attachment
                email_obj.send_test_report_email(html_body_flag=True,attachment_flag=True,report_file_path='default')
            if terminalreporter.config.getoption("--tesults").lower() == 'y':
                from utils import Tesults # pylint: disable=import-error,import-outside-toplevel
                Tesults.post_results_to_tesults()

    except Exception as e:
        print("Exception when trying to run test: %s"%__file__)
        print("Python says:%s"%str(e))
        solution = "It looks like you are trying to use email pytest report to run your test. \nPlease make sure you have updated .env with the right credentials ."
        print('\033[92m'+"\nSOLUTION: %s\n"%solution+'\033[0m')
github-actions[bot] commented 5 months ago

Stale issue message