Open source automation framework
Project description
ExtensiveAutomation
Introduction
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
-
Run the following command
pip install extensiveautomation_server
-
Execute the following command to start the server
./extensiveautomation --start
-
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
-
Downloading the image
docker pull extensiveautomation/extensiveautomation-server:20.0.0
-
Start the container without persistance for tests data
docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name=extensive extensiveautomation
-
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
-
Clone this repository on your linux server
git clone https://github.com/ExtensiveAutomation/extensiveautomation-server.git
-
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 installedpip install wrapt scandir pycnic lxml jsonpath_ng
-
-
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
. -
Checking if the server is running fine.
cd src python extensiveautomation.py --status Extensive Automation is running
-
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.
-
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).
-
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
-
For english users - http://extensiveautomation.readthedocs.io/en/latest/
-
Pour les utilisateurs français - http://extensiveautomation.readthedocs.io/fr/latest/
Author
It was created by Denis MACHARD
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for extensiveautomation_server-21.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 349458b3821c8d6c7e6666fa199f569a90ced9a8febec15c6ae179b667186379 |
|
MD5 | 427eb869abb2f105b3d0c8a7aa571f94 |
|
BLAKE2b-256 | 0ad8a111877ca013bb811a92bf15d4262fc3c78cf459a20d1a2668d029140a3c |