Metadata-Version: 2.1
Name: ctreport_selenium
Version: 1.1.4
Summary: ctreport-selenium is a simple, creative and a customizable report for automation testing using Python. Best suitable for pytest, unit test and nose framework.
Home-page: https://naveens33.github.io/ctreport-selenium/
Author: Naveen.S
Author-email: naveensagayaselvaraj@gmail.com
License: MIT
Description: ![Logo](https://cdn.statically.io/gh/naveens33/ctreport-selenium/9a6cfed9/ctreport_selenium/ctreport_html/resource/logo-nobg.png)
        
        # CT Report for Selenium
        
        ctreport-selenium is a simple, creative and customizable report for selenium automation testing using Python.
        
        ## Feature
        
        * Different view of your test execution result
        * Dashboard view with multiple graphs to understand the tests
        * Test Detail view to show complete test
        * Filter and Search any test
        * Reference section for ctreport-selenium specific terminologies like Status, Priority, and Severity
        * Customizable option through JSON file
        * Screenshots better view
        * Toast message for every endpoint of the report for the clear understanding
        * Fairly mobile friendly
        
        ![Sample Image](https://github.com/naveens33/ctreport-selenium/blob/master/ctreport_sample.gif)
        
        
        ### Installation and Usage
        
        ```pip install ctreport-selenium```
        
        ### Define reportconfig.json file
        First, you should define the session. While creating session session_details and report_options can be defined/modified.
        
        In session_details, you can provide the current test session details
        
        [reportconfig.json](https://cdn.statically.io/gh/naveens33/ctreport-selenium/9a6cfed9/ctreport_selenium/reportconfig.json)
        
        ```
        "session_details" : {
              "Owner": "Naveen.S",
              "application_name": "MyApp1",
              "application_version": "V1.04",
              "platform": "Windows10",
              "additional_information":"Browser - Chrome 84"
        },
        ```
        
        In report_options, below properties can be provided
        
        * theme (Default/Dark Angel) (Currently ctreport-selenium supports two theme 1. Default 2. Dark Angel)
        * title (report title)
        * logo (your company logo)
        * show_reference (reference section)
        * zip_if_screenshot (In case, the screenshot is created then you can select this option to create zip file- report+screenshot )
        
         ```
          "report_options" :{
              "theme": "Default",
              "title": "Test Report",
              "logo": "MYLOGO.PNG",
              "show_reference": "True",
              "zip_if_screenshot": "True"
         }
         ```
        
        **Start the Session**
        
        ```
        driver = webdriver.Chrome(executable_path=r'chromedriver.exe')
        Session.start(test_execution_name="Smoke Test - MyApp1",
                    path="D:\\reports",
                    driver=cls.driver,
                    config_file=r"D:\\reportconfig.json")
        ```
        
        
        ### Create Test
        For each test, you can create an object for the Test class. While creating the object for the Test class you can define the below parameters
        
        * Name
        * Id 
        * Description	
        * Priority (Refer below reference section)
        
        ```
        test = Test("Search Fund links", 
                     id=4574,
                     description="Search by search term- Fund",
                     priority=Priority.MEDIUM)
        ```
        
        ### Methods in Session class
        
        |Method|Description|
        |------|-----------|
        |set_driver(driver)|In case of driver is not passes in Session.start() method later you can pass through this method|
        
        ### Methods in Test class
        
        |Method|Description|
        |------|-----------|
        |log(self, \*message)|Method to record the steps for your test in the report <br> ```self.test.log("Navigate to search page")```|
        |error(self, \*message, exception=None, takescreenshot=False)|Method to record the error message in the report|
        |broken(self, \*err)|Method to mark the current test as Broken and record the exceptions<br> Broken - Test case stopped due to fatal errors(check the reference section)|
        |skip(self, message)|Method to skip the current test|
        |take_screenshot(self, message=None)|Method to take screenshot|
        |assert_are_equal(self, actual, expected, description=None, onfail_screenshot=False)|Mark the assertion steps and it supports asserting following types <br> *Number* <br> *String* <br> *Boolean* <br> *Dictionary* <br> *List* <br> *Tuple* <br> **Note:** *All assertions are treated as Blocker severity* (check the reference section)|
        |verify_are_equal(self, actual, expected, description=None, severity=Severity.MAJOR, onfail_screenshot=False)|Mark the verification steps and it supports verifing the following types <br> *Number* <br> *String* <br> *Boolean* <br> *Dictionary* <br> *List* <br> *Tuple* <br> (check the reference section)|
        
        
        
        ### Finish Test
        Every test should be finshed before next test start/before Session ends
        ```
        test.finish()
        ```
        
        ### End Sesion
        Session should be end at end of your script
        ```
        Session.end()
        ```
        
        ## Reference 
        
        ### Status
        
        Status: Test status after execution
        
         |Status|Description|
         |------|-----------|
         |Pass |Test case is passed without any verification/assertion/fatal errors|
         |Fail|Test case is failed due to verification/assertion errors|
         |Skip|Test case skipped due to blocker or critical issue in dependencies|
         |Broken|Test case stopped due to fatal errors|
         
        ### Priority
         
        Priority: Applies to test case
        
        |Priority|Description|
        |--------|-----------|
        |High|Test case on the most important features of the application|
        |Medium|Test case on features of the application which is next to High priority test cases|
        |Low|Test case on features of the application which is considered to be executed rarely|
        
        ### Severity
        
        Severity: Applies to verification and assertion statements
        
        Note: All assertions are treated as Blocker severity
        
        |Severity|Description|
        |--------|-----------|
        |Blocker|The system or functionality is currently unavailable to continue working on the application because of this incident|
        |Critical|Essential functionality is not functioning and no acceptable workaround|
        |Major|Essential functionality is not functioning unless acceptable workaround is implemented|
        |Minor|Minor inconvenience in the functionality and application remains operational|
        
        ## Issues
        
        If you encounter any problems, please file an [issue](https://github.com/naveens33/ctreport-selenium/issues) along with a detailed description.
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
