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 details)

Uploaded Source

File details

Details for the file extensiveautomation_server-21.0.0.tar.gz.

File metadata

  • Download URL: extensiveautomation_server-21.0.0.tar.gz
  • Upload date:
  • Size: 389.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

File hashes

Hashes for extensiveautomation_server-21.0.0.tar.gz
Algorithm Hash digest
SHA256 349458b3821c8d6c7e6666fa199f569a90ced9a8febec15c6ae179b667186379
MD5 427eb869abb2f105b3d0c8a7aa571f94
BLAKE2b-256 0ad8a111877ca013bb811a92bf15d4262fc3c78cf459a20d1a2668d029140a3c

See more details on using hashes here.

Supported by

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