Robot Framework

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Robot Framework
DevelopersPekka Klärck, Janne Härkönen, Juha Rantanen et al.
Initial release2.0 June 24, 2008 (2008-06-24)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inPython
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    TypeSoftware testing framework / test tool
    LicenseApache License 2.0
    Websiterobotframework.org

    Robot Framework is a generic software test automation framework for acceptance testing and acceptance test-driven development (ATDD). It is a keyword-driven testing framework that uses tabular test data syntax.[1]

    History

    [edit | edit source]

    The basic ideas for Robot Framework were shaped in Pekka Klärck's masters thesis[2] in 2005. The first version was developed at Nokia Networks the same year. Version 2.0 was released as open source software June 24, 2008 and version 3.0.2 was released February 7, 2017.[3]

    The framework is written using the Python programming language and has an active community of contributors. It is released under Apache License 2.0 and can be downloaded from robotframework.org.

    In 2020 survey it scored 8 among 12 test automation frameworks, with 3 % of respondents using it.[4] In 2021 it had fallen to 18 among 22 with 2 % usage.[5]

    Description

    [edit | edit source]

    Test cases are written using a keyword-testing methodology written in a tabular format. These tables can be written in plain text, tab-separated values (TSV), or reStructuredText (reST) formats files[6] in any text editor or using the Robot Integrated Development Environment (RIDE).[7] RIDE simplifies writing test cases by providing framework-specific code completion, syntax highlighting, etc.

    Examples

    [edit | edit source]

    The following test case implements a Hello, World! example:

    *** Test Cases ***
    Demo
        Log  Hello world
    

    Log is a built-in keyword that logs the given parameter to the test report generated by Robot Framework.

    With SeleniumLibrary,[8] writing tests for web applications is very easy too:

    *** Test Cases ***
    Demo
        Open Browser  https://www.google.com  ie
        Input Text  id=lst-ib  Hollywood Celebrities
        Click Button  Google Search
    

    This test opens a new Internet Explorer browser window with Google and performs an Internet search for "Hollywood Celebrities" by pressing the button "Google Search".

    With Robot Framework Browser,[9] automation can be done with Chromium, WebKit and Firefox.

    *** Settings ***
    Library   Browser
    
    *** Test Cases ***
    Example Test
        New Page    https://playwright.dev
        Get Text    h1    ==    🎭 Playwright
    

    Add-ons

    [edit | edit source]

    These libraries are best implemented in Python, but using Java or .NET is also possible.

    Other languages such as Perl, JavaScript, and PHP can be used for libraries as well, using the documented remote library interface.

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]