Skip to main content

Automated smart testing strategies for web services.

Project description

Agilkia: AGILe (K)Coverage with Intelligence Artificial

Automated smart testing tools for web services.

This 'agilkia' library is part of the Philae research project:

http://projects.femto-st.fr/philae/en

It is open source software under the MIT license. See LICENSE.txt

Key Features:

  • Automated testing of SOAP web services with WSDL descriptions.
  • Manage sets of traces (load/save to JSON, etc.).
  • Convert traces to Pandas DataFrame for data analysis / machine learning.
  • Generate random tests, or 'smart' tests from an ML model.

About the Name

Apart from the clumsy acronym, the name Agilkia was chosen because it is closely associated with the name 'Philae', and this tool came out of the Philae research project.

Agilkia is an island in the reservoir of the Aswan Low Dam, downstream of the Aswan Dam and Lake Nasser, Egypt.
It is the current location of the ancient temple of Isis, which was moved there from the islands of Philae after dam water levels rose.

Agilkia was also the name given to the first landing place of the Philae landing craft on the comet 67P/Churyumov–Gerasimenko, during the Rosetta space mission.

Example Usage

Here is a simple example of initial random testing of a web service running on the URL http://localhost/cash:

import agilkia

# sample input values for named parameters
input_values = {
    "username"  : ["TestUser"],
    "password"  : ["<GOOD_PASSWORD>"] * 9 + ["bad-pass"],  # wrong 10% of time
    "version"   : ["2.7"] * 9 + ["2.6"],      # old version 10% of time
    "account"   : ["acc100", "acc103"],       # test these two accounts equally
    "deposit"   : [i*100 for i in range(8)],  # a range of deposit amounts
}

def first_test():
    tester = agilkia.RandomTester("http://localhost/cash",
        parameters=input_values)
    tester.set_username("TestUser")   # will prompt for password
    for i in range(10):
        tr = tester.generate_trace(length=30)
        print(f"========== trace {i}:\n  {tr}")

For Developers

To type the source code (from in this directory) run:

  • mypy agilkia
  • or mypy --html-report . -p agilkia # to generate index.html coverage report.

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

agilkia-0.3.0.tar.gz (38.2 kB view details)

Uploaded Source

Built Distribution

agilkia-0.3.0-py3-none-any.whl (57.3 kB view details)

Uploaded Python 3

File details

Details for the file agilkia-0.3.0.tar.gz.

File metadata

  • Download URL: agilkia-0.3.0.tar.gz
  • Upload date:
  • Size: 38.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for agilkia-0.3.0.tar.gz
Algorithm Hash digest
SHA256 eb7b5dceb8d52eab5b8d59f13b10480b4e0dc7fedb4ac6b1d555c09a71793f5c
MD5 10b356f31fe859dd2b296932dd7144df
BLAKE2b-256 13b890d394403cefcc0a5703e157d1f1da4dcc635af40b8c0329e54cfde642e9

See more details on using hashes here.

File details

Details for the file agilkia-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: agilkia-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 57.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.22.0

File hashes

Hashes for agilkia-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a80cff75bbaa21a3b82e6ec487167f458cc80c38ce2d8be3eb3adaf3174b9a2
MD5 7072d4ef116ce215b23eae391b11b0a5
BLAKE2b-256 84e1869a1426ebb55f6eb32522293b84942e82d64218f13de85280c63533b96d

See more details on using hashes here.

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