robot-retrier


Namerobot-retrier JSON
Version 1.5.0 PyPI version JSON
download
home_pagehttps://github.com/suri-53/robotretirer
SummaryGUI Retry Debugger for Robot Framework
upload_time2025-07-23 09:15:02
maintainerNone
docs_urlNone
authorSuriya
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 🚀 Robot Framework Retry Debugger

[![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/)
[![Robot Framework](https://img.shields.io/badge/Robot%20Framework-6.1.1+-green.svg)](https://robotframework.org/)

A modern **GUI-based debugging tool** for **Robot Framework**, designed to **pause test execution** when a keyword fails, allowing you to **retry, skip, or run custom keywords interactively**.

Supports both **SeleniumLibrary** and **AppiumLibrary**, making it ideal for **UI testing**.

---

## ✨ Key Features

### **🔍 Failure Debugging GUI**
- **Automatic GUI Launch:** Appears when a keyword fails.
- **Failure Info Panel:**
  - Displays **failed keyword name** and **arguments**.
  - Shows the **failure message** and **call stack** (color-coded and neatly formatted).
  - Lets you **edit arguments** for a retry.

---

### **🔄 Retry & Skip Options**
- **Retry and Continue:** Retry the failed keyword with modified arguments.
  - Disables buttons during retry to prevent accidental multiple clicks.
- **Skip and Continue:** Skip the failed keyword and resume the test.
- **Skip Test:** Skip the rest of the test case.
- **Abort Suite:** Stop the entire test suite execution.

---

### **⚡ Custom Keyword Executor**
- **Run Any Keyword:** Execute any keyword from available libraries (`BuiltIn`, `SeleniumLibrary`, etc.).
- **Library & Keyword Dropdowns:** Dynamically loaded libraries with documentation and signatures.
- **Arguments Editor:** Add, edit, or remove arguments before execution.
- **Inline Documentation:** See keyword parameters and docstrings instantly.
- **Isolated Logs:** Results appear in the log window **without modifying the Retry tab**.

---

### **📦 Variable Inspector**
- **Live Variable Browser:** View all Robot Framework variables (`${}`, `@{}`, `&{}`).
- **Search and Filter:** Quickly find variables.
- **Set Variable:** Create or modify variables during test execution.

---

### **🎨 Color-Coded Logs**
- **Failures:** Red  
- **Success:** Green  
- **Call Stack:** Orange with proper indentation and wrapping for long text.

---

### **🛡 Thread-Safe GUI**
- Background threads keep the GUI **responsive**.
- **Safe updates** using `after_idle()` to avoid threading issues.

---

## 📋 Requirements
- **Python 3.10+**
- **Robot Framework 7.1.1+**
- **Tkinter** (included in most Python installations)
- **SeleniumLibrary** / **AppiumLibrary** (optional but recommended)

---

## ⚙️ Installation & Usage

### **Option 1: Add Listener in Settings**
Add `RobotRetrier` as a listener in your Robot Framework test suite:
```robotframework
*** Settings ***
Library    SeleniumLibrary
Listener   RobotRetrier.py
```

Then run your tests:
```bash
robot tests/
```

### **Option 2: Use --listener Command-Line Option**
You can also specify the listener directly when running tests:
```bash
robot --listener RobotRetrier.py tests/
```
This will automatically start the GUI debugger on failures.

---

## 📈 Future Improvements
- Advanced **call stack tree visualization**.
- **Dark/Light themes**.
- **Retry history persistence**.





            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/suri-53/robotretirer",
    "name": "robot-retrier",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Suriya",
    "author_email": "suriya@nada.com",
    "download_url": "https://files.pythonhosted.org/packages/1d/18/3ec87f45d74ff72a9357f1e986137e1cdef55c1e1a386c1224dc0981748a/robot_retrier-1.5.0.tar.gz",
    "platform": null,
    "description": "\r\n# \ud83d\ude80 Robot Framework Retry Debugger\r\n\r\n[![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/)\r\n[![Robot Framework](https://img.shields.io/badge/Robot%20Framework-6.1.1+-green.svg)](https://robotframework.org/)\r\n\r\nA modern **GUI-based debugging tool** for **Robot Framework**, designed to **pause test execution** when a keyword fails, allowing you to **retry, skip, or run custom keywords interactively**.\r\n\r\nSupports both **SeleniumLibrary** and **AppiumLibrary**, making it ideal for **UI testing**.\r\n\r\n---\r\n\r\n## \u2728 Key Features\r\n\r\n### **\ud83d\udd0d Failure Debugging GUI**\r\n- **Automatic GUI Launch:** Appears when a keyword fails.\r\n- **Failure Info Panel:**\r\n  - Displays **failed keyword name** and **arguments**.\r\n  - Shows the **failure message** and **call stack** (color-coded and neatly formatted).\r\n  - Lets you **edit arguments** for a retry.\r\n\r\n---\r\n\r\n### **\ud83d\udd04 Retry & Skip Options**\r\n- **Retry and Continue:** Retry the failed keyword with modified arguments.\r\n  - Disables buttons during retry to prevent accidental multiple clicks.\r\n- **Skip and Continue:** Skip the failed keyword and resume the test.\r\n- **Skip Test:** Skip the rest of the test case.\r\n- **Abort Suite:** Stop the entire test suite execution.\r\n\r\n---\r\n\r\n### **\u26a1 Custom Keyword Executor**\r\n- **Run Any Keyword:** Execute any keyword from available libraries (`BuiltIn`, `SeleniumLibrary`, etc.).\r\n- **Library & Keyword Dropdowns:** Dynamically loaded libraries with documentation and signatures.\r\n- **Arguments Editor:** Add, edit, or remove arguments before execution.\r\n- **Inline Documentation:** See keyword parameters and docstrings instantly.\r\n- **Isolated Logs:** Results appear in the log window **without modifying the Retry tab**.\r\n\r\n---\r\n\r\n### **\ud83d\udce6 Variable Inspector**\r\n- **Live Variable Browser:** View all Robot Framework variables (`${}`, `@{}`, `&{}`).\r\n- **Search and Filter:** Quickly find variables.\r\n- **Set Variable:** Create or modify variables during test execution.\r\n\r\n---\r\n\r\n### **\ud83c\udfa8 Color-Coded Logs**\r\n- **Failures:** Red  \r\n- **Success:** Green  \r\n- **Call Stack:** Orange with proper indentation and wrapping for long text.\r\n\r\n---\r\n\r\n### **\ud83d\udee1 Thread-Safe GUI**\r\n- Background threads keep the GUI **responsive**.\r\n- **Safe updates** using `after_idle()` to avoid threading issues.\r\n\r\n---\r\n\r\n## \ud83d\udccb Requirements\r\n- **Python 3.10+**\r\n- **Robot Framework 7.1.1+**\r\n- **Tkinter** (included in most Python installations)\r\n- **SeleniumLibrary** / **AppiumLibrary** (optional but recommended)\r\n\r\n---\r\n\r\n## \u2699\ufe0f Installation & Usage\r\n\r\n### **Option 1: Add Listener in Settings**\r\nAdd `RobotRetrier` as a listener in your Robot Framework test suite:\r\n```robotframework\r\n*** Settings ***\r\nLibrary    SeleniumLibrary\r\nListener   RobotRetrier.py\r\n```\r\n\r\nThen run your tests:\r\n```bash\r\nrobot tests/\r\n```\r\n\r\n### **Option 2: Use --listener Command-Line Option**\r\nYou can also specify the listener directly when running tests:\r\n```bash\r\nrobot --listener RobotRetrier.py tests/\r\n```\r\nThis will automatically start the GUI debugger on failures.\r\n\r\n---\r\n\r\n## \ud83d\udcc8 Future Improvements\r\n- Advanced **call stack tree visualization**.\r\n- **Dark/Light themes**.\r\n- **Retry history persistence**.\r\n\r\n\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "GUI Retry Debugger for Robot Framework",
    "version": "1.5.0",
    "project_urls": {
        "Homepage": "https://github.com/suri-53/robotretirer"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "47f1c3cc7bc08937f1bd704597f0d2b66d23c9a9067779a1e690ee66ece55582",
                "md5": "e3bd6de4e1ee3e9b335a1eccc148d62d",
                "sha256": "0edb055ba568ec14cad15976adf7b203e816fffecba9984a4c65fde9448ae772"
            },
            "downloads": -1,
            "filename": "robot_retrier-1.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e3bd6de4e1ee3e9b335a1eccc148d62d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 20304,
            "upload_time": "2025-07-23T09:15:01",
            "upload_time_iso_8601": "2025-07-23T09:15:01.149499Z",
            "url": "https://files.pythonhosted.org/packages/47/f1/c3cc7bc08937f1bd704597f0d2b66d23c9a9067779a1e690ee66ece55582/robot_retrier-1.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1d183ec87f45d74ff72a9357f1e986137e1cdef55c1e1a386c1224dc0981748a",
                "md5": "8193e2fc29b6db40b42736bdd24ae38d",
                "sha256": "50451373eddd4e7d7f97f0886d718d095539213e8beae476b39ca2e1ed383798"
            },
            "downloads": -1,
            "filename": "robot_retrier-1.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8193e2fc29b6db40b42736bdd24ae38d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 17472,
            "upload_time": "2025-07-23T09:15:02",
            "upload_time_iso_8601": "2025-07-23T09:15:02.235929Z",
            "url": "https://files.pythonhosted.org/packages/1d/18/3ec87f45d74ff72a9357f1e986137e1cdef55c1e1a386c1224dc0981748a/robot_retrier-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-23 09:15:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "suri-53",
    "github_project": "robotretirer",
    "github_not_found": true,
    "lcname": "robot-retrier"
}
        
Elapsed time: 2.26596s