Code Monkey home page Code Monkey logo

robotframework's Introduction

Robot Framework

Introduction

Robot Framework ® is a generic open source automation framework for acceptance testing, acceptance test driven development (ATDD), and robotic process automation (RPA). It has simple plain text syntax and it can be extended easily with generic and custom libraries.

Robot Framework is operating system and application independent. It is implemented using Python which is also the primary language to extend it. The framework has a rich ecosystem around it consisting of various generic libraries and tools that are developed as separate projects. For more information about Robot Framework and the ecosystem, see http://robotframework.org.

Robot Framework project is hosted on GitHub where you can find source code, an issue tracker, and some further documentation. Downloads are hosted on PyPI.

Robot Framework development is sponsored by non-profit Robot Framework Foundation. If you are using the framework and benefiting from it, consider joining the foundation to help maintaining the framework and developing it further.

Latest version

License

Installation

If you already have Python with pip installed, you can simply run:

pip install robotframework

For more detailed installation instructions, including installing Python, see INSTALL.rst.

Robot Framework requires Python 3.8 or newer and runs also on PyPy. The latest version that supports Python 3.6 and 3.7 is Robot Framework 6.1.1. If you need to use Python 2, Jython or IronPython, you can use Robot Framework 4.1.3.

Example

Below is a simple example test case for testing login to some system. You can find more examples with links to related demo projects from http://robotframework.org.

*** Settings ***
Documentation     A test suite with a single test for valid login.
...
...               This test has a workflow that is created using keywords in
...               the imported resource file.
Resource          login.resource

*** Test Cases ***
Valid Login
    Open Browser To Login Page
    Input Username    demo
    Input Password    mode
    Submit Credentials
    Welcome Page Should Be Open
    [Teardown]    Close Browser

Usage

Tests (or tasks) are executed from the command line using the robot command or by executing the robot module directly like python -m robot .

The basic usage is giving a path to a test (or task) file or directory as an argument with possible command line options before the path:

robot tests.robot
robot --variable BROWSER:Firefox --outputdir results path/to/tests/

Additionally, there is the rebot tool for combining results and otherwise post-processing outputs:

rebot --name Example output1.xml output2.xml

Run robot --help and rebot --help for more information about the command line usage. For a complete reference manual see Robot Framework User Guide.

Documentation

Support and Contact

Contributing

Interested to contribute to Robot Framework? Great! In that case it is a good start by looking at the CONTRIBUTING.rst. If you do not already have an issue you would like to work on, you can check issues with good new issue and help wanted labels.

Remember also that there are many other tools and libraries in the wider Robot Framework ecosystem that you can contribute to!

License and Trademark

Robot Framework is open source software provided under the Apache License 2.0. Robot Framework documentation and other similar content use the Creative Commons Attribution 3.0 Unported license. Most libraries and tools in the ecosystem are also open source, but they may use different licenses.

Robot Framework trademark is owned by Robot Framework Foundation.

robotframework's People

Contributors

aaltat avatar asaout avatar asyrjasalo avatar chriscallan avatar d-biehl avatar dependabot[bot] avatar edbrannin avatar helioguilherme66 avatar hhulkko avatar hi-fi avatar japiiron avatar jrantanen avatar jussimalinen avatar khusa avatar kontulai avatar laurentbristiel avatar leeuwe avatar marcinet avatar mikahanninen avatar miktuy avatar mkorpela avatar pekkaklarck avatar serhiy1 avatar snooz82 avatar spooning avatar tattoo avatar tommi avatar tysonite avatar userzimmermann avatar yanne avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

robotframework's Issues

README for templates

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

  • explain different templates briefly
  • few more words why attd-templates are different
    • only two columns in test case tabe
    • has only test case and setting tables (check that no other tables)
    • can use Test/Suite Precondition/Postcondition
  • mention that templates can be customized freely
    • contents of the first cell used for recognizing the table
    • refer to user guide about other syntax

devscript cleanup

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

  1. README is needed
  2. At least install.sh should be converted to Python. That way same script
    could be used also in Windows and there would be no need for separate
    win_uninstall.sh (which only work on Cygwin)

User guide version ought to be got automatically

Originally submitted to Google Code by @pekkaklarck on 28 Jun 2008

Currently the version in the text right below the title is hard-coded, and
when a ug distribution is created version is given from command line. It
would be better to:

  1. Get version number automatically from version.py similarly as setup.py
    gets it. This is easy.

  2. Set version dynamically also to the generated HTML. This may be easy if
    reStructuredText allows given substitutions from the command line, but
    editing the source file before HTML is generated is not much harder either.

All this makes it easier to have consistent version numbers everywhere.

Better system for building and distributing the user guide

Originally submitted to Google Code by @pekkaklarck on 15 Jun 2008

The current system doesn't really work.

  • Not good to have same files multiple times in the version control
  • Source distribution grows big
  • doc/userguide/rfug has .svn directory which is included if rfug zipped

I think something like this could work much better:

  1. Create RobotFrameworkUserGuide.html directly to doc/userguide.
  • This file would be in version control
  • Other docs, images, etc. linked so that they are not moved anywhere
    • no duplication
    • relative links ought to work both online and in source distro
  • Created with "python ug2html.py"
  1. Have a separate commend for creating a stand-alone distribution
  • For example "python ug2html.py dist"
  • Needed actions:
    • first create the normal doc
    • create new rfug directory (delete possible existing one)
    • copy doc/libraries to rfug/libraries (without .svn dir)
    • create rfug/tools and copy tool docs there
    • create rfug/images
    • copy RobotFrameworkUserGuide.html to rfug
    • adjust lib and tool links so that they point to docs under rfug
    • copy used images to rfug/images and adjust paths accordingly
  • rfug would not be in version control (no .svn dirs)
  • could have "python ug2html.py zip" to also zip rfug automatically
  • also "python ug2html.py help" or similar needed

Enhancements to README in root

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

The README.txt file in the root is not that good. It has way too technical
introduction (don't now should it mention e.g. 'pybot' and 'jybot' at all)
and doesn't really explain that the framework actually does.

A good introduction is needed also in the user guide and here in Google
Code. Most likely the same text can be used at least to some extend on all
places. We need to sit down (preferably with few beers) and come up with
some good "marketing text".

Another problem is that license and copyright are not mentioned at all in
the README.

Copyrights and license to user guide

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

This issue has two separate but strongly related "sub issues":

A. User guide should mention the copyright/license used with the framework.

B. User guide itself should use the same copyright/license.

I propose that we do following:

  1. Add "Copyright and license" section to "Getting started". The section
    doesn't need much more than the normal copyright statement in the beginning
    of every source code file.

  2. Add a short copyright notice in the beginning of the UG. Perhaps just
    have "(C) Nokia Siemens Networks 2008", mention Apache 2 license, and link
    to "Copyright and license" section.

  3. Add full license text as an appendix. Apache 2 license is only 202 lines
    so it doesn't increase the size that much. Appendix can be linked from the
    "Copyright and license" section.

  4. Perhaps add normal copyright notice to every reST source file. I'm not
    sure is that necessary, but other source files have them and it's not that
    big a task.

Provide simple examples explaining basic (and advanced) concepts

Originally submitted to Google Code by heiko.selber on 22 Jul 2008

Currently the documentation of the Robot Framework doesn't make it very
easy for new users to create test cases.

Therefore, it would be desirable to have a collection of very basic test
case examples, each of which shows the principle of one of Robot's features.

Here is a quick list of candidates:

helloworld.html: run one very small test case
numbers.html: simple number comparisons, e.g. 2*3=6 or sin(pi)=0 etc.
regexp.html: regexp matching
conditions.html: 'if' statements and 'for' loops
variable.html: show the usage of various variables
run.html: run a binary with command line arguments and evaluate its return
codes
multitasking.html: run processes or threads in the background; examine
their status; connect to them; interrupt them
GUI.html: execute actions on a SWING GUI

Move issues from internal Jira here

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

Better to go through all the issues together and

  1. resolve those that are fixed
  2. just close possible invalid ones
  3. move generic issues here, and add a link to the original issue
    4
    ) keep domain specific or otherwise internal issues where they are

Telnet documentation is unclear

Originally submitted to Google Code by @yanne on 10 Jul 2008

This is from Telnet Library documentation of 'Set Timeout':

"""
Sets the timeout used in read operations to the given value.

'timeout' is given in Robot Framework's time format
(e.g. 1 minute 20 seconds).

The read operations wait for this time before starting to read
from the output. To run operations that take a long time to generate
their complete output, this timeout must be set accordingly.
"""

The third chapter is clearly wrong, since the read operations start
immediately after command is written and last until either the expected
output is gotten or timeout occurs.

Probably this should also list the operation the timout affects, since not
all read operations use the timeout.

Possible to import libraries using physical path missing from user guide

Originally submitted to Google Code by @jrantanen on 27 Jun 2008

Possible to import libraries using physical path

It is possible to import libraries using a physical path to them. This path
is considered relative to the directory where current test data file is
situated similarly as paths to resource and variable files.

If the library is a file, the path to it must contain extension. For Python
libraries the extension is naturally ".py" and for Java libraries it can
either be ".class" or ".java" but the class file must of course be
available. Importing Java libraries in jar files is not possible using this
mechanism. If Python library is implemented as a directory, the path to it
must have a trailing "/" separate the usage from normal importing.
Following examples demonstrate these different usages.

| Library | PythonLib.py |
| Library | /absolute/path/JavaLib.java |
| Libarry | relative/path/PythonDirLib/ |

Several Collections library keywords do not work with non-string items

Originally submitted to Google Code by DeonWu on 2 Jul 2008

What steps will reproduce the problem?

  1. Append To List|${list}|${list_item}
  2. raise a Error if the ${list_item} is not a string object.
    "TypeError: cannot concatenate 'str' and 'list' objects"

What version of the product are you using? On what operating system?
Robot 1.8.8 (Python 2.5.2 on win32)

Please provide any additional information below.

def append_to_list(self, L, *values):
    """Adds 'values' to the end of L.

    Example:
    | Append To List | ${L1} | xxx |   |   |
    | Append To List | ${L2} | x | y | z |
    =>
    ${L1} == ['a', 'xxx']
    ${L2} == ['a', 'b', 'x', 'y', 'z']
    """
    for value in values:
        print 'Appending value ' + value
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
        L.append(value

`Log List` and `Log Dictionary` keywords into CollectionsLibrary

Originally submitted to Google Code by @pekkaklarck on 23 Jul 2008

None of the keywords in Collections library log what they are doing *). It
might be valuable information sometimes, but then again lists and dicts can
be really big and logging them would increase the log size. One possibility
is logging only changes, and other is logging everything on DEBUG level. I
think the latter approach is better, especially if there is a mechanism to
alter the logging level (like keyword 'Set Collections Log Level' or/and
argument to constructor).

Juha, you have more experience about this library. How important logging is
in your opinion and how should it be handled?

*) 'Append To List' used log in 2.0, but there was a bug (see issue 45 ) and
logging was removed in 2.0.1.

Documenting tools

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

How should different tools be documented? They all should at least have
--help, but that is not enough with tools needing more detailed
instructions, screenshots, etc.

My current feeling is that every tool should have it's own documentation
written using reST. These docs can then be distributed with the tool, and
also attached to the user guide similarly as library docs. For simple tools
it might be enough, and even recommended, to have the --help text already
in reST.

One open question is that where to keep those docs. I think it's better to
keep them under tools/ in the same directory where the tool itself is, but
creating a new doc/tools/ is an option too.

Project front page

Originally submitted to Google Code by @pekkaklarck on 16 Jun 2008

  • Need some "marketing material" and screenshots - can use same as in the
    user guide
  • Links to the user guide, standard libraries, tools, ...
  • Users and code mailing lists

Getting started guide

Originally submitted to Google Code by @pekkaklarck on 16 Jun 2008

Elisabeth has been working with Getting started guide. Demos on it are
based on her old examples, and they need to be ported from Ruby to Python
so that having only Python installed is enough to run them.

New mechanism for creating source distributions

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

  • Includes a better system for setting version
  • Version should also include alpha/beta/rc information
  • Needed scripts should be written in Python to support all platforms
  • Need to write instructions how to make releases at the same time (how to
    use branches, tags, ...)

Telnet tests

Originally submitted to Google Code by @yanne on 26 Jun 2008

Telnet tests need to refactored so that they can be easily executed using
arbitrary server and credentials.

Public API tests need to be fixed not to leave output directory under atest/testdata/public_api

Originally submitted to Google Code by @pekkaklarck on 15 Jun 2008

After running tests I got this:

peke@⁠omppu:~/workspace/robotframework$ svn stat
? atest/testdata/public_api/output

Two possibilities:

  1. Remove the directory in a suitable teardown
  2. Create it into atest/results/<timestamp> in the first place. If I
    remember correctly, this directory is in ${OUTDIR} variable on running side.

Adding the directory to svn:ignore is not a good solution.

README for templates

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

  • explain different templates briefly
  • few more words why attd-templates are different
    • only two columns in test case tabe
    • has only test case and setting tables (check that no other tables)
    • can use Test/Suite Precondition/Postcondition
  • mention that templates can be customized freely
    • contents of the first cell used for recognizing the table
    • refer to user guide about other syntax

UG: Appendices

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

Most of the appendices still need a review/rewrite. They can be excluded
from the first release if we run out of time, but it would be much better
to get them to a good shape too.

Acceptance tests fail on OS X Leopard

Originally submitted to Google Code by miso.korkiakoski on 2 Jun 2008

What steps will reproduce the problem?

  1. Checkout sources
  2. install using 'python setup.py install"
  3. run acceptance tests with 'atest/run_atests.py python --splitoutputs 2 atest/robot'

What is the expected output? What do you see instead?
PASS on all critical tests, instead I see 3 failed critical tests. Possibly a OS issue?

What version of the product are you using? On what operating system?
svn checkout taken on the 2nd of June. Running on OS X Leopard (10.5.3 update)

Please provide any additional information below.
Test reports attached.

  • Miso

RPM creation how-to

Originally submitted to Google Code by @yanne on 4 Jun 2008

The PACKACKING.txt should contain information about
how to create RPM packages of Robot Framework.

Packaging enhancements

Originally submitted to Google Code by @yanne on 26 Jun 2008

  • Add a zip source distribution (no need to be featured)
  • Test Windows installers created on Linux
    • if there are problems, package.py should prevent creating final Windows
      releases on non-Windows systems
  • package.py --> packaging.py?
  • Script for creating tag, updating version number and running wiki update
    script
  • package.py should be modified so that it is possible to not update
    version when creating packages
  • ug2html need to have 'archive' option
    • zip vs tar.gz?
  • automatically upload packages to download page

User guide download package ought to be zip

Originally submitted to Google Code by @pekkaklarck on 2 Jul 2008

Separate user guide download package is mainly targeted for Windows users,
since user guide is included in the normal source distribution used on
other platforms. Native Windows can't even open tar.gz packages (e.g.
WinZip can but it is not installed by default), so it's probably better
that we package the user guide as zip in the future.

Better report and log screenshots for UG

Originally submitted to Google Code by @pekkaklarck on 11 Jun 2008

Current screenshots in Output files section are not too good.

  • They have totally dummy data. Better screenshot could be taken for
    example from SeleniumLibrary demos - they could even be linked from
    Demonstration section.
  • They are created using an old version of the framework (seems to be 1.7).
    Both report and log look a bit different (=better) now and have some some
    new functionality that should be shown.
  • There should be both green and red reports (only latter currently).
  • Better screenshots can also be shown in wiki, possible getting started
    guide, etc.

A Tool for debug robot testcase step by step

Originally submitted to Google Code by DeonWu on 6 Jul 2008

What is the expected output? What do you see instead?

  1. A Debugger window can track the testcase step by step.
  2. add "--debug gui" on pybot command line, the pybot runinto a debug mode.
    And a Debuger window will pop-up.

Please provide any additional information below.
The patch for robot coding.

C:\USERS_work\robotframework-read-only\src\robot>svn di

Index: conf/settings.py

--- conf/settings.py (revision 369)
+++ conf/settings.py (working copy)
@⁠@⁠ -55,7 +55,8 @⁠@⁠
'TagStatLink' : ('tagstatlink', []),
'LogLevel' : ('loglevel', 'INFO'),
'MonitorWidth' : ('monitorwidth', 78),

  •              'MonitorColors'    : ('monitorcolors', 'ON') }
    
  •              'MonitorColors'    : ('monitorcolors', 'ON'),
    
  •              'DebugMode'        : ('debug', None) }
    

    _deprecated = { 'colormonitor' : 'monitorcolors' }

Index: init.py

--- init.py (revision 369)
+++ init.py (working copy)
@⁠@⁠ -28,6 +28,7 @⁠@⁠
from serializing import RobotTestOutput, RebotTestOutput, SplitIndexTestOutput
from errors import DataError, INFO_PRINTED, DATA_ERROR, FRAMEWORK_ERROR
from variables import init_global_variables
+from debuger import TestSuiteDebuger
import utils

version = utils.version
@⁠@⁠ -80,6 +81,10 @⁠@⁠
pybot --log mylog.html /path/to/tests.html /path/to/tests2.html
"""
settings = RobotSettings(options)

  • debuger = None
  • if settings['DebugMode'] is not None:
  •    debuger = TestSuiteDebuger(settings)
    
  •    debuger.start()
    
    output = Output(settings)
    settings.report_errors(output.syslog)
    init_global_variables(settings, output.syslog)
    @⁠@⁠ -98,6 +103,8 @⁠@⁠
    testoutput = RebotTestOutput(datasources, settings, output.syslog)
    testoutput.serialize(settings, output.syslog)
    output.close2()
  • if debuger is not None:
  •    debuger.close()
    
    return suite

Index: runner.py

--- runner.py (revision 369)
+++ runner.py (working copy)
@⁠@⁠ -239,6 +239,7 @⁠@⁠
| # This is a comment line
| my_tests.html
| path/to/test/directory/

  • -X --debug mode Debug mode(remote, gui)
    -h -? --help Print usage instructions.
    --version Print version information.

OTHER:

  1. It's simply and ugly, because it major used to verify the feasibility of
    idea.
  2. About the debugger window:
    a. you can add some breakpoints in the testcase at the right plane of
    debuger window.
    1. the breakpoints should a keyword name, and the wildcard is
    supported. The testcase will stopped when it matched the breakpoint keyword
    name.
    b. the debuger tools:
    1. Run -- the testcase will run with no pause until a breakpoint is
    mathced.
    2. Go into -- To execute a keyword, and stoped before next keyword
    executing, track into if the next keyword is a userkeyword.
    3. Go over -- To execute a keyword, and stoped before next same
    level keyword.
    4. Go Result -- To execute a keyword, and stoped before the current
    keyword return. (Used for watch the return result of current keyword,NOT
    SUPPORTED in currently.)
    c. the Varibles window will shoud the variabe name and value of current
    keyword.
    d. The Console window will list all the executed keywords, and the last
    one is the current paused keyword.
    e. The Call stack will list the caller relationship of userkeyword.

Support variable replacement while calling keyword

Originally submitted to Google Code by metalzong on 6 Jul 2008

Following sample shows an inconvenient situation - to call different
keywords with same signatory based on some condition - and the potential
solution:

UK section:

| My UK A | Log | A |
| My UK B | Log | B |
| My UK C | Log | C |

KW invoking without variable replacement:

| ${uk} | Set Variable | A |
.
.
.
| Run Keyword If | '${uk}' == 'A' | My UK A |
| Run Keyword If | '${uk}' == 'B' | My UK B |
| Run Keyword If | '${uk}' == 'C' | My UK C |

KW invoking with variable replacement:

| ${uk} | Set Variable | A |
.
.
.
| My UK ${uk} |

$ diff -c robot-1.8.8/src/robot/running/keywords.py
robot-1.8.8.bak/src/robot/running/keywords.py
*** robot-1.8.8/src/robot/running/keywords.py Mon Jul 7 11:10:07 2008
--- robot-1.8.8.bak/src/robot/running/keywords.py Tue Jun 10 17:04:58
2008


*** 25,32 ****
self.handler_name = name

  def run(self, output, namespace):
  •     if str.handler_name.count("$"):
    
  •         self.handler_name = Keyword("Set Variable",
    
    self.handler_name).run(out, namespace)
    handler = namespace.get_handler(self.handler_name)
    if handler.type == 'user':
    handler.init_user_keyword(namespace.variables)
    --- 25,30 ----

Tests and suites don't have unique link targets in log files

Originally submitted to Google Code by @pekkaklarck on 16 Jun 2008

Link targets for test cases and suites in a log file are created so that it
has the test case name prefixed with first letters of parent suite names.
In most cases this creates unique target names, but that is not guaranteed.
For example when running same test cases multiple times with different
variables test cases names are always the same, so duplicate targets are
created if parent suites start with the same letter.

An easy solutions is using the full name of the test case or suite. This
name includes all parent suite names and it is unique (at least in all
meaningful cases). The problem is that these names are quite long, but
probably they don't make log files so much bigger that it would be a problem.

Standalone Telnet server

Originally submitted to Google Code by @yanne on 17 Jun 2008

Running Telnet tests requires a Telnet server to be available.
The best solution would be a programmatic Telnet server that could be
started from the tests.

JAR distribution package

Originally submitted to Google Code by @pekkaklarck on 23 Jun 2008

It should be possible to package Robot Framework into a JAR package. That
way installing would only include dropping the package into suitable place
and Python would not be needed for that. Alternatively also Jython could be
included in the package so having only Java would be enough.

Generated user guide to version control

Originally submitted to Google Code by @pekkaklarck on 10 Jun 2008

We need the generated UG in version control to be able to link to it from
wiki, and to get it to the source distribution. The biggest open issue
related to this is how to handle linked/included content like images and
lib/tool docs.

Better support for easy_install

Originally submitted to Google Code by @yanne on 26 Jun 2008

Currently easy_install is able to download and install Robot Framework,
but post install script is not executed and thus the runner scripts (pybot,
jybot and rebot) don't work properly. After modifying runner scripts
manually, the installation seems to work correctly

Fixing this probably requires changing the mechanism how runner scripts are
created.

Wiki pages for libraries

Originally submitted to Google Code by @pekkaklarck on 31 May 2008

Our standard libraries (BuiltIn, OperatingSystem, ...) must be documented
in wiki. Keyword docs can of course stay in separate HTML files linked from
wiki, but a page where all standard libraries are briefly described (and kw
docs linked from) is still needed. That page can have pretty much same
content as "Standard libraries" section in the user guide.

We probably don't need separate wiki pages for libraries, but that depends
slightly on how good links we get to each library docs. I want to be able
to refer to standard libraries in general and also each standard library
with a clear and relatively short url.

We also need another wiki page for external libraries. This page should
also have a short description of each library (only SeleniumLibrary in the
beginning) and link to library's project page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.