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 DomRetryLibrary

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           DomRetryLibrary

Define your locators and AI fallback descriptions:

*** Variables ***
${USERNAME_FIELD}      css=#username_id
${AI_USERNAME_FIELD}   the username input field

Use the AI fallback in your tests (either with variable name or resolved variable):

*** Test Cases ***
Login Test
    Open Browser    https://example.com    chrome
    # Both syntaxes work in version 3.1.0+
    AI Fallback Locator    Input Text    USERNAME_FIELD    myusername
    # OR directly use the resolved variable
    AI Fallback Locator    Input Text    ${USERNAME_FIELD}    myusername
    Close Browser

You can also use custom keywords with fallback:

*** Keywords ***
Wait And Input Text
    [Arguments]    ${locator}    ${text}    ${timeout}=10
    [Documentation]    Input text with AI fallback if the primary locator fails
    ${status}    ${error}=    Run Keyword And Ignore Error    Input Text    ${locator}    ${text}
    Run Keyword If    '${status}' == 'FAIL'    AI Fallback Locator    Input Text    ${locator}    ${text}

API Key Setup

Store your OpenAI API key in a .env file or provide it when initializing the library:

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

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-3.3.0.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

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

robotframework_domretrylibrary-3.3.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_domretrylibrary-3.3.0.tar.gz.

File metadata

File hashes

Hashes for robotframework_domretrylibrary-3.3.0.tar.gz
Algorithm Hash digest
SHA256 1ea8d2ad2296e7d609e71301174a2673e68030a73b26cd5a49ea143e6da32f6a
MD5 409a8a59114cdacff1b287fbd2522dcc
BLAKE2b-256 7b20ccd564d66f5f4cd9463af7b12f4690759e04813d31333931b1e67b1f6dc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_domretrylibrary-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6bd2a807edcc1fb1cc5bcf597f02d88f40ea51a7fe309b7d39d4dd174e411540
MD5 0cea81c21ba95784bcd4984ad1d0ed8b
BLAKE2b-256 41590b26417783c8572bcccdf7f2f1a712ae45e4338c660852749c4e7a0ead55

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