Skip to main content

Open source automation framework

Project description

ExtensiveAutomation

Introduction

ExtensiveAutomation logo

ExtensiveAutomation is a generic automation framework for integration, regression and end-to-end usages. The framework provided a rich and collaborative workspace environment.

ExtensiveAutomation can run on both Python 2 and Python 3, and also run on Linux and Windows.

Installing from pypi

  1. Run the following command

     pip install extensiveautomation_server
    
  2. Execute the following command to start the server

     ./extensiveautomation --start
    
  3. Now you can use the qt/web client or REST api to interact with the server

    • tcp/8081 enable to use the REST api of the server
    • tcp/8082 is used by the qt client to have a bidirectionnal link
    • tcp/8083 is used by agents to have a bidirectionnal link

Installing from dockerhub

  1. Downloading the image

     docker pull extensiveautomation/extensiveautomation-server:20.0.0
    
  2. Start the container without persistance for tests data

     docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name=extensive extensiveautomation
    
  3. Now you can use the qt/web client or REST api to interact with the server

    • tcp/8081 enable to use the REST api of the server
    • tcp/8082 is used by the qt client to have a bidirectionnal link
    • tcp/8083 is used by agents to have a bidirectionnal link

Installing from source

  1. Clone this repository on your linux server

     git clone https://github.com/ExtensiveAutomation/extensiveautomation-server.git
    
  2. As precondition, install the additional python libraries with pip command:

    • Python3 environment

        pip install wrapt pycnic lxml jsonpath_ng
      
    • Python2 environment, the libxslt library must be installed

        pip install wrapt scandir pycnic lxml jsonpath_ng
      
  3. Finally start the server. On linux the server is running as daemon.

     cd src/
     python extensiveautomation.py --start
    

    REST API is running on port tcp/8081.

    The following users are available by default:

    • admin
    • tester
    • monitor

    The default password is password.

  4. Checking if the server is running fine.

     cd src
     python extensiveautomation.py --status
     Extensive Automation is running
    
  5. Checking if the REST api working fine with curl command.

     curl -X POST http://127.0.0.1:8081/session/login -H "Content-Type: application/json" -d '{"login": "admin", "password": "password"}'
    

    The swagger of the api is available in the folder Build/swagger:

    • common_restapi.yaml
    • admin_restapi.yaml
    • tester_restapi.yaml

Installing reverse proxy

If you want to use the qt application client or qt agents toolbox. You need to install a reverse proxy in front of the extensive server.

  1. Install the example provided Build\reverseproxy\extensiveautomation_api.conf in your apache instance. If you install the reverse proxy on a new server, don't forget to replace the 127.0.0.1 address by the ip of your extensive server.

     Listen 8080
    
     <VirtualHost *:8080>
       SSLEngine on
    
       SSLCertificateFile /etc/pki/tls/certs/localhost.crt
       SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    
       LogLevel warn
       ErrorLog  /var/log/extensiveautomation_api_error_ssl_rp.log
       CustomLog /var/log/extensiveautomation_api_access_ssl_rp.log combined
    
       Redirect 307 / /rest/session/login
    
       ProxyPass /rest/ http://127.0.0.1:8081/
       ProxyPassReverse /rest/ http://127.0.0.1:8081/
       
       ProxyPass /wss/client/ ws://127.0.0.1:8082 disablereuse=on
       ProxyPassReverse /wss/client/ ws://127.0.0.1:8082 disablereuse=on
    
       ProxyPass /wss/agent/ ws://127.0.0.1:8083 disablereuse=on
       ProxyPassReverse /wss/agent/ ws://127.0.0.1:8083 disablereuse=on
     </VirtualHost>
    

    With this configuration in apache, the REST API is now running on the port tcp/8080 (tls).

  2. Checking if the REST api working fine with curl command.

     curl -X POST https://127.0.0.1:8080/session/login --insecure -H "Content-Type: application/json" -d '{"login": "admin", "password": "password"}'
    

Documentations

If you want a complete documentation on usages, go to the specific documentations

Author

It was created by Denis MACHARD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

extensiveautomation_server-21.0.0.tar.gz (389.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page