# 🚀 Robot Framework Retry Debugger
[](https://www.python.org/)
[](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[](https://www.python.org/)\r\n[](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"
}