Metadata-Version: 1.1
Name: pytest-ochrus
Version: 0.0.2
Summary: pytest results data-base and HTML reporter
Home-page: https://github.com/ochrus/pytest-ochrus
Author: Roni Eliezer
Author-email: roniezr@gmail.com
License: MIT
Description: **Ochrus Project Overview**
        ===========================
        
        The **Ochrus Project** is intended to be a complete solution to easily develop functional (black/gray box) automation tests.
        
        The **Ochrus Project** include the following components:
        
        1. **ochrus**:         classes and modules to support functional automation tests
        2. **ochrus_srv**:     result DB server.
        3. **pytest_ochrus**:  Pytest plugin, see note below...
        
         **NOTE**:
         Ochrus Project choose **Pytest** (https://www.pytest.org) open source project as its testing framework.
         Pytest is an easy to use and powerful testing freamwork that support the most common Python unit framework.
        
        **ochrus library:**
        -------------------
        Provide classes and modules to support functional automation tests
        Should be used with the power of **Pytest** framework.
        documentation should be available soon at the wiki
        
         *To install:*
        
         .. code-block:: bash
        
          $ pip install ochrus
        
        
        **pytest-ochrus:**
        -------------------
        A Pytest plugin, it need to be installed with Pytest 
        It uses to send test results to the 'ochrus-srv' (see below) via REST protocol
        (code: https://github.com/ochrus/pytest-ochrus)
        
         *To install:*
        
         .. code-block:: bash
        
          $ pip install pytest
          $ pip install pytest-ochrus
        
        
        **Ochrus Server:**
        -------------------
        Ochrus Server is a full-stack free application that include a Data-base to hold  the test results, and HTML interface to display the results.
        User can see colorized online results, results history and comparison.
        The server support RESTful API and correctly only pytest-ochrus is available to communicate with it, but actually it can serve any xUnit framework written in any language.
        
         *To install*:
        
         *The server is available as Docker image and can be run directly from docker hub as followed:*
        
         .. code-block:: bash
        
          $ docker run -d -p 80:8000 -v db:/ochrus/db --name ochrus_srv ochrus/ochrus_srv:demo
        
        **Requirements**
        ---------------------
        - Python 2.7
        - pytest
        - Docker (on host server only)
        
        **Installation**
        -----------------
        **Client:**
        ~~~~~~~~~~~
         .. code-block:: bash
        
          $ pip install pytest
          $ pip install pytest_ochrus
          $ pip install ochrus
        
        
        **Server:**
        ~~~~~~~~~~~~
        Followed the instructions at: https://docs.docker.com/engine/installation/ to install Docker on your host server.
        
        e.g.: for CentOS:
        
         .. code-block:: bash
        
          $ yum install -y yum-utils device-mapper-persistent-data lvm2
          $ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
          $ yum install docker-ce
          $ systemctl start docker      #run the service
          $ systemctl enable docker     #make it start on boot
        
        
        To install 'ochrus_srv' run the following command:
        
         .. code-block:: bash
        
          $ docker run -d -p 80:8000 -v db:/ochrus/db --name ochrus_srv ochrus/ochrus_srv:demo
        
        
         The above Docker command will do the following:
        
         1. Download the **'ochrus_srv:demo'** image from the Docker public Hub.
         2. Run it at the background and give it the name **'ochrus_srv'**.
         3. Expose its 8000 port to port 80 on the running host.
         4. Create a persistent data-base at default Docker volume location at: 
            **'/var/lib/docker/volumes/db/'**
        
        **NOTE**:
         
        1. The above docker command should be run only once, after that run:
        
         .. code-block:: bash
        
          docker stop ochrus_srv   to stop the server
          docker start ochrus_srv  to run the server
        
        
        2. Make sure port **80** is free at the host server.
        
        **Execute:**
        ------------
        
        **At the Client**:
        
        1. To run your tests: just run pytest according to pytest execution instructions.
        2. You can give a name to the running session as followed:
        
         .. code-block:: bash
        
          $ pytest --session_name="mySessionName"
        
         The name will be displayed at the HTML report at the **ochres server**
        
         **NOTE**:
         You can give any name that will describe the running session
         
           Recommended:  ***product_name-version_number.build_number***
        
        
        **Using Elipse IDE**
        -----------------------
        
        1. Install Eclipse IDE (following instructions good for Eclipse Oxygen.1a Release (4.7.1a))
        2. Run Eclipse and install '***pydev***' plugin. Go to: ***Help | Eclipse Markeplace...***, write '***pydev***' at the Search box and press the 'Go' button, when it found click the 'Install' button
        3. Create a new pydev project (***File | New | Other...*** | PyDev | PyDev Project)
        4. Go to: ***Windows | Preferences | PyDev | PyUnit | Test Runner*** | choose: **Py.test runner**, click Apply
        5. Create a pytest script and run it by right-click and choose Run As | Python unit-test
        6. To run all tests in a special directory, just right-click the directory and choose Run As | Python unit-test
        
        
        
        
Keywords: pytest results data-base and HTML reporter
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 2.7
Classifier: Intended Audience :: Developers
Classifier: Framework :: Pytest
