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)
- Get the API key from OpenAI.
- Give Alumnium access to the API.
export OPENAI_API_KEY="sk-proj-..."
Anthropic (Claude 3 Haiku)
- Get the API key from Anthropic.
- Tell Alumnium to use Claude and provide access.
export ALUMNIUM_MODEL="anthropic"
export ANTHROPIC_API_KEY="sk-ant-..."
Google (Gemini 1.5 Flash)
- Get the API key from Google AI Studio.
- 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:
anthropicazure_openaiaws_anthropicgoogleopenai
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alumnium-0.4.0.tar.gz.
File metadata
- Download URL: alumnium-0.4.0.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d47f32169f6766f2822880784e1df051bca6b9cb20065cc9a17f743468b6559
|
|
| MD5 |
61470201b8aed1088489fbc3c394c6b0
|
|
| BLAKE2b-256 |
423fce8708df492c0b32c06580479086ee777f248e86de31247675675dfe36f4
|
Provenance
The following attestation bundles were made for alumnium-0.4.0.tar.gz:
Publisher:
ci.yml on alumnium-hq/alumnium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alumnium-0.4.0.tar.gz -
Subject digest:
2d47f32169f6766f2822880784e1df051bca6b9cb20065cc9a17f743468b6559 - Sigstore transparency entry: 157302817
- Sigstore integration time:
-
Permalink:
alumnium-hq/alumnium@235e9e2a6c48f9b0cbd6ef29d639526e6d9f564e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/alumnium-hq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@235e9e2a6c48f9b0cbd6ef29d639526e6d9f564e -
Trigger Event:
push
-
Statement type:
File details
Details for the file alumnium-0.4.0-py3-none-any.whl.
File metadata
- Download URL: alumnium-0.4.0-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
210d51ccb8f515f795b47e81fbdaeba8be263be165b5bba6ffc79f1949838433
|
|
| MD5 |
1dc30b0400e2775a86a317b1231f4755
|
|
| BLAKE2b-256 |
389f2d7a098dda2322e425c1407773d9f62cc12be9510102bc5e2f889d4db60d
|
Provenance
The following attestation bundles were made for alumnium-0.4.0-py3-none-any.whl:
Publisher:
ci.yml on alumnium-hq/alumnium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
alumnium-0.4.0-py3-none-any.whl -
Subject digest:
210d51ccb8f515f795b47e81fbdaeba8be263be165b5bba6ffc79f1949838433 - Sigstore transparency entry: 157302818
- Sigstore integration time:
-
Permalink:
alumnium-hq/alumnium@235e9e2a6c48f9b0cbd6ef29d639526e6d9f564e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/alumnium-hq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@235e9e2a6c48f9b0cbd6ef29d639526e6d9f564e -
Trigger Event:
push
-
Statement type: