Skip to main content

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

Release files for extensiveautomation-server 21.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for extensiveautomation-server 21.0.0
File Size Uploaded
extensiveautomation_server-21.0.0.tar.gz 389.7 kB Details

Release files / extensiveautomation_server-21.0.0.tar.gz

Download URL extensiveautomation_server-21.0.0.tar.gz
Size 389.7 kB
Tags Source
SHA-256 checksum
How to use checksums
349458b3821c8d6c7e6666fa199f569a90ced9a8febec15c6ae179b667186379
BLAKE2b-256 checksum
How to use checksums
0ad8a111877ca013bb811a92bf15d4262fc3c78cf459a20d1a2668d029140a3c
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

22.3.0

1 release file

22.2.4

1 release file

22.2.2

1 release file

22.2.1

1 release file

22.2.0

1 release file

22.1.0

1 release file

22.0.2

1 release file

22.0.1

1 release file

22.0.0

1 release file

21.4.0

1 release file

21.3.0

1 release file

21.2.1

1 release file

21.2.0

1 release file

21.1.1

1 release file

21.1.0

1 release file

21.0.1

1 release file

This release

21.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page