{"id":13776472,"url":"https://github.com/imbus/robotframework-debuglibrary","last_synced_at":"2026-01-09T23:08:04.034Z","repository":{"id":1860490,"uuid":"2785430","full_name":"xyb/robotframework-debuglibrary","owner":"xyb","description":"A debug library for RobotFramework, which can be used as an interactive shell(REPL) also.","archived":false,"fork":false,"pushed_at":"2024-01-15T06:41:47.000Z","size":128,"stargazers_count":105,"open_issues_count":9,"forks_count":55,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-28T18:12:14.543Z","etag":null,"topics":["debug","debugger","repl","robotframework","shell"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"TooTallNate/node-lame","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xyb.png","metadata":{"files":{"readme":"README.rst","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-11-16T03:53:18.000Z","updated_at":"2024-10-31T08:47:04.000Z","dependencies_parsed_at":"2024-06-18T16:48:14.316Z","dependency_job_id":"8dfa0fc4-b889-42de-822d-7d7fbf0343bd","html_url":"https://github.com/xyb/robotframework-debuglibrary","commit_stats":{"total_commits":144,"total_committers":18,"mean_commits":8.0,"dds":0.1597222222222222,"last_synced_commit":"7471a1488e547da45fe656db337f5956021b4bf7"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyb%2Frobotframework-debuglibrary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyb%2Frobotframework-debuglibrary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyb%2Frobotframework-debuglibrary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyb%2Frobotframework-debuglibrary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xyb","download_url":"https://codeload.github.com/xyb/robotframework-debuglibrary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234921,"owners_count":20905854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debug","debugger","repl","robotframework","shell"],"created_at":"2024-08-03T18:00:26.838Z","updated_at":"2026-01-09T23:08:03.945Z","avatar_url":"https://github.com/xyb.png","language":"Python","funding_links":[],"categories":["Libraries"],"sub_categories":["Testing And Debugging"],"readme":"Debug Library for Robot Framework\n=================================\n\n.. contents::\n   :local:\n\nIntroduction\n------------\n\nRobotframework-DebugLibrary is a debug library for `RobotFramework`_,\nwhich can be used as an interactive shell(REPL) also.\n\n.. _`RobotFramework`: http://robotframework.org/\n\n.. image:: https://api.codeclimate.com/v1/badges/5201026ff11b63530cf5/maintainability\n   :target: https://codeclimate.com/github/xyb/robotframework-debuglibrary/maintainability\n   :alt: Maintainability\n\n.. image:: https://api.codeclimate.com/v1/badges/5201026ff11b63530cf5/test_coverage\n   :target: https://codeclimate.com/github/xyb/robotframework-debuglibrary/test_coverage\n   :alt: Test Coverage\n\n.. image:: https://github.com/xyb/robotframework-debuglibrary/actions/workflows/test.yml/badge.svg\n   :target: https://github.com/xyb/robotframework-debuglibrary/actions/workflows/test.yml\n   :alt: test\n\n.. image:: https://img.shields.io/pypi/v/robotframework-debuglibrary.svg\n   :target: https://pypi.org/project/robotframework-debuglibrary/\n   :alt: Latest version\n\n.. image:: https://img.shields.io/badge/robotframework-4%20%7C%205%20%7C%206%20%7C%207-blue\n   :target: https://github.com/xyb/robotframework-debuglibrary\n   :alt: Support robotframework versions\n\n.. image:: https://img.shields.io/pypi/pyversions/robotframework-debuglibrary\n   :target: https://github.com/xyb/robotframework-debuglibrary\n   :alt: Support python versions\n\n.. image:: https://img.shields.io/pypi/dm/robotframework-debuglibrary\n   :target: https://pypi.org/project/robotframework-debuglibrary/\n   :alt: PyPI Downloads\n\n.. image:: https://img.shields.io/pypi/l/robotframework-debuglibrary.svg\n   :target: https://github.com/xyb/robotframework-debuglibrary/blob/master/LICENSE\n   :alt: License\n\n\nInstallation\n------------\n\nTo install using ``pip``::\n\n    pip install robotframework-debuglibrary\n\nNOTICE: 2.0 is not compatible with python 2\n*******************************************\n\n``DebugLibrary`` \u003e= 2.0.0 supports Python versions 3.x only.\nIf you still using python 2.7, please use ``DebugLibrary`` \u003c 2.0.0 ::\n\n    pip install 'robotframework-debuglibrary\u003c2'\n\nUsage\n-----\n\nYou can use this as a library, import ``DebugLibrary`` and call ``Debug``\nor ``Debug If`` keywords in your test files like this::\n\n    *** Settings ***\n    Library         DebugLibrary\n\n    ** test case **\n    SOME TEST\n        # some keywords...\n        Debug\n        # some else...\n        ${count} =  Get Element Count  name:div_name\n        Debug If  ${count} \u003c 1\n\nOr you can run it standalone as a ``RobotFramework`` shell::\n\n    $ rfdebug\n    [...snap...]\n    \u003e\u003e\u003e\u003e\u003e Enter interactive shell\n    \u003e help\n    Input Robotframework keywords, or commands listed below.\n    Use \"libs\" or \"l\" to see available libraries,\n    use \"keywords\" or \"k\" to see the list of library keywords,\n    use the TAB keyboard key to autocomplete keywords.\n\n    Documented commands (type help \u003ctopic\u003e):\n    ========================================\n    EOF  continue  docs  help  keywords  libs  ll        n     pdb  selenium\n    c    d         exit  k     l         list  longlist  next  s    step\n    \u003e log  hello\n    \u003e get time\n    \u003c '2011-10-13 18:50:31'\n    \u003e # use TAB to auto complete commands\n    \u003e BuiltIn.Get Time\n    \u003c '2011-10-13 18:50:39'\n    \u003e import library  String\n    \u003e get substring  helloworld  5  8\n    \u003c 'wor'\n    \u003e # define variables as you wish\n    \u003e ${secs} =  Get Time  epoch\n    # ${secs} = 1474814470\n    \u003e Log to console  ${secs}\n    1474814470\n    \u003e @{list} =  Create List    hello    world\n    # @{list} = ['hello', 'world']\n    \u003e Log to console  ${list}\n    ['hello', 'world']\n    \u003e \u0026{dict} =  Create Dictionary    name=admin    email=admin@test.local\n    # \u0026{dict} = {'name': 'admin', 'email': 'admin@test.local'}\n    \u003e Log  ${dict.name}\n    \u003e # print value if you input variable name only\n    \u003e ${list}\n    [u'hello', u'world']\n    \u003e ${dict.name}\n    admin\n    \u003e # start a selenium server quickly\n    \u003e help selenium\n    Start a selenium webdriver and open url in browser you expect.\n\n            s(elenium)  [\u003curl\u003e]  [\u003cbrowser\u003e]\n\n            default url is google.com, default browser is firefox.\n    \u003e selenium  google.com  chrome\n    # import library  SeleniumLibrary\n    # open browser  http://google.com  chrome\n    \u003c 1\n    \u003e close all browsers\n    \u003e Ctrl-D\n    \u003e\u003e\u003e\u003e\u003e Exit shell.\n\nThe interactive shell support auto-completion for robotframework keywords and\ncommands. Try input ``BuiltIn.`` then type ``\u003cTAB\u003e`` key to feeling it.\nThe history will save at ``~/.rfdebug_history`` default or any file\ndefined in environment variable ``RFDEBUG_HISTORY``.\n\nIn case you don't remember the name of keyword during using ``rfdebug``,\nthere are commands ``libs`` or ``ls`` to list the imported libraries and\nbuilt-in libraries, and ``keywords \u003clib name\u003e`` or ``k`` to list\nkeywords of a library.\n\n``rfdebug`` accept any ``pybot`` arguments, but by default, ``rfdebug``\ndisabled all logs with ``-l None -x None -o None -L None -r None``.\n\nStep debugging\n**************\n\n``DebugLibrary`` support step debugging since version ``2.1.0``.\nYou can use ``step``/``s``, ``next``/``n``, ``continue``/``c``,\n``list``/``l`` and ``longlist``/``ll`` to trace and view the code\nstep by step like in ``pdb``::\n\n    $ robot some.robot\n    [...snap...]\n    \u003e\u003e\u003e\u003e\u003e Enter interactive shell\n    \u003e l\n    Please run `step` or `next` command first.\n    \u003e s\n    .\u003e /Users/xyb/some.robot(7)\n    -\u003e log to console  hello\n    =\u003e BuiltIn.Log To Console  hello\n    \u003e l\n      2   \tLibrary  DebugLibrary\n      3\n      4   \t** test case **\n      5   \ttest\n      6   \t    debug\n      7 -\u003e\t    log to console  hello\n      8   \t    log to console  world\n    \u003e n\n    hello\n    .\u003e /Users/xyb/some.robot(8)\n    -\u003e log to console  world\n    =\u003e BuiltIn.Log To Console  world\n    \u003e c\n    \u003e\u003e\u003e\u003e\u003e Exit shell.\n    world\n\nNote: Single-step debugging does not support ``FOR`` loops currently.\n\nSubmitting issues\n-----------------\n\nBugs and enhancements are tracked in the `issue tracker\n\u003chttps://github.com/xyb/robotframework-debuglibrary/issues\u003e`_.\n\nBefore submitting a new issue, it is always a good idea to check is the\nsame bug or enhancement already reported. If it is, please add your comments\nto the existing issue instead of creating a new one.\n\nDevelopment\n-----------\n\nIf you want to develop and run DebugLibrary locally, you can use ::\n\n    $ python DebugLibrary/shell.py tests/step.robot\n\n`shell.py` is calling `robot` through a child process, so it will interrupt\npython debugging capabilities. If you want to debug in tools like vscode,\npdb, you should run ::\n\n    $ python -m robot tests/step.robot\n\nIf you want to run the test, please install the dependency packages first\nand then execute the test ::\n\n    $ python -m pip install setuptools\n    $ python setup.py develop\n    $ python setup.py test\n\nSince RF takes over stdout, debugging information can be output with ::\n\n    import sys\n    print('some information', file=sys.stdout)\n\nLicense\n-------\n\nThis software is licensed under the ``New BSD License``. See the ``LICENSE``\nfile in the top distribution directory for the full license text.\n\n.. # vim: syntax=rst expandtab tabstop=4 shiftwidth=4 shiftround\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimbus%2Frobotframework-debuglibrary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimbus%2Frobotframework-debuglibrary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimbus%2Frobotframework-debuglibrary/lists"}