Skip to main content

Alumnium

Pave the way towards AI-powered test automation.

Aluminum is an experimental project that builds upon the existing test automation ecosystem, offering a higher-level abstraction for testing. It aims to simplify interactions with web pages and provide more robust mechanisms for verifying assertions.

Currently in the very early stages of development and not recommended for production use.

Installation

pip install alumnium

Configure AI Provider

Alumnium uses OpenAI by default, but you can change it by following the steps below.

At the moment of writing, Google AI Studio provides free access to its models, so you can use it for playing around with Alumnium.

OpenAI (GPT-4o-mini)

  1. Get the API key from OpenAI.
  2. Give Alumnium access to the API.
export OPENAI_API_KEY="sk-proj-..."

Anthropic (Claude 3 Haiku)

  1. Get the API key from Anthropic.
  2. Tell Alumnium to use Claude and provide access.
export ALUMNIUM_MODEL="anthropic"
export ANTHROPIC_API_KEY="sk-ant-..."

Google (Gemini 1.5 Flash)

  1. Get the API key from Google AI Studio.
  2. Tell Alumnium to use Gemini and provide access.
export ALUMNIUM_MODEL="google"
export GOOGLE_API_KEY="..."

Run Script

Start Alumnium using your Selenium driver and begin interacting with the webpage and check assertions.

from alumnium import Alumni
from selenium.webdriver import Chrome

driver = Chrome()
driver.get("https://google.com")

al = Alumni(driver)
al.do("search for selenium")
al.check("selenium in page title")
al.check("selenium.dev is present in the search results")

Check out more examples!

To Do

  • Cross-browser support (currently only Chrome and Edge are working).
  • Mobile applications support via Appium.
  • Playwright support.
  • Open LLMs support (currently only Anthropic, Google and OpenAI are proven to work).
  • Automatic handling of flakiness.
  • Improved caching for faster performance.
  • High-level multi-step instructions and verifications (currently the instructions must be very concrete).
  • Other languages support (C#, Java, JavaScript, Ruby, etc.)

Environment Variables

ALUMNIUM_DEBUG

Set to 1 to enable debug logs and print them to stdout.

ALUMNIUM_MODEL

Select AI provider to use. Supported values are:

  • anthropic
  • azure_openai
  • aws_anthropic
  • google
  • openai

Development

Setup the project:

pipx install poetry
poetry install

Configure access to AI providers:

export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-proj-..."
export GOOGLE_API_KEY="..."

To run REPL for demo, use the following command:

poetry run python -i demo.py

To run Cucumber examples, use the following command:

poetry run behave

To run the Pytest test use the following command:

poetry run pytest

Download files

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

Source Distribution

alumnium-0.3.0.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alumnium-0.3.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: alumnium-0.3.0.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for alumnium-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6311813406ddd19c5b995ddd91384c5da0b9a1f65fec1223da5ad9338f09004a
MD5 c65eb31ac0399faa13cee18001beaeb9
BLAKE2b-256 31f6e1b34e50b2f2ea83ce6aabe7a41cc9d4e36faee4e3f4e7f40f9f054301e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for alumnium-0.3.0.tar.gz:

Publisher: ci.yml on alumnium-hq/alumnium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: alumnium-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for alumnium-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 313e5defa38a6b12d3e74e98190ecf8c9ebf4f8c77578722bba9e1c55e4923d1
MD5 61973a5b1431e5d731ecda93a6aff680
BLAKE2b-256 b120f3c66b1f8b41cf1028b954453e76a3c96ac15216ce59b6bc7b0405f334e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for alumnium-0.3.0-py3-none-any.whl:

Publisher: ci.yml on alumnium-hq/alumnium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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