Skip to main content

AI-powered smart locator with retry functionality for Robot Framework using OpenAI

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Robot Framework AIRetrySmartLocator

A Robot Framework library with AI-powered fallback for locator variables, enhancing test reliability by using OpenAI to dynamically generate element locators when primary locators fail.

Installation

Install the library using pip:

pip install robotframework-domretrylibrary

Usage

Import the library in your Robot Framework test file:

*** Settings ***
Library           SeleniumLibrary
Library           AIRetrySmartLocator    # Preferred class name

Or, for backward compatibility:

*** Settings ***
Library           SeleniumLibrary
Library           DomRetryLibrary        # Legacy class name

Define your locators and AI fallback descriptions:

*** Variables ***
${USERNAME_FIELD}      css=#non_existent_username_id
${AI_USERNAME_FIELD}   the username input field with placeholder 'Username'

Use the AI fallback in your tests:

*** Test Cases ***
Login Test
    Open Browser    https://example.com    chrome
    AI Fallback Locator    Input Text    USERNAME_FIELD    myusername
    Close Browser

API Key Setup

Store your OpenAI API key in a .env file in your project directory:

OPENAI_API_KEY=your_api_key_here

Or provide it when initializing the library:

*** Settings ***
Library    AIRetrySmartLocator    api_key=${OPENAI_API_KEY}

How It Works

  1. The library first attempts to use your primary locator
  2. If the primary locator fails, it uses OpenAI to generate a new locator based on your description
  3. The AI-generated locator is used as a fallback
  4. Successful fallbacks are logged for future reference

Library Parameters

When importing the library, you can set several parameters:

Library    AIRetrySmartLocator    
...    api_key=${OPENAI_API_KEY}    
...    model=gpt-4o    
...    locator_storage_file=my_locators.json
Parameter Default Description
api_key None OpenAI API key (falls back to environment variable)
model gpt-4o OpenAI model to use
locator_storage_file locator_comparison.json File to store successful AI locators

Keywords

The library provides the following keywords:

  • AI Fallback Locator - Add AI fallback to any locator-based keyword

License

MIT

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

robotframework-domretrylibrary-0.1.6.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file robotframework-domretrylibrary-0.1.6.tar.gz.

File metadata

File hashes

Hashes for robotframework-domretrylibrary-0.1.6.tar.gz
Algorithm Hash digest
SHA256 01285cde68504579172c72df4af0a9df0b7b209515aca3facd970678eed88ffe
MD5 e3a327114e007f0950564cf7fe8f9e62
BLAKE2b-256 92e55894fdefd7f5e3bc401baa66759fa3529d4e0beef25769158fc47316b885

See more details on using hashes here.

File details

Details for the file robotframework_domretrylibrary-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_domretrylibrary-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5361045fba7faf60eadbede3b70cde8b42f3489123c8c2ea4f451bac737ff018
MD5 31c6bc94e400f640ee64f82d8bde9f2b
BLAKE2b-256 55d6e5869f82439312c42444e7f957f783bb28d8534b4e5279a35df9791ad595

See more details on using hashes here.

Supported by

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