{"id":13776627,"url":"https://github.com/robotframework/RemoteInterface","last_synced_at":"2025-05-11T10:31:09.463Z","repository":{"id":56054238,"uuid":"50544442","full_name":"robotframework/RemoteInterface","owner":"robotframework","description":"Introduction to the remote interface with a list of available remote servers","archived":false,"fork":false,"pushed_at":"2020-11-28T11:13:08.000Z","size":13,"stargazers_count":32,"open_issues_count":5,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-05T17:11:16.925Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robotframework.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-27T23:05:18.000Z","updated_at":"2024-11-06T19:57:37.000Z","dependencies_parsed_at":"2022-08-15T12:20:15.658Z","dependency_job_id":null,"html_url":"https://github.com/robotframework/RemoteInterface","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotframework%2FRemoteInterface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotframework%2FRemoteInterface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotframework%2FRemoteInterface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotframework%2FRemoteInterface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robotframework","download_url":"https://codeload.github.com/robotframework/RemoteInterface/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253551628,"owners_count":21926325,"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":[],"created_at":"2024-08-03T18:00:30.630Z","updated_at":"2025-05-11T10:31:09.195Z","avatar_url":"https://github.com/robotframework.png","language":null,"readme":"========================\nRemote library interface\n========================\n\nThis project exists to give a high level introduction to `Robot Framework\n\u003chttp://robotframework.org\u003e`_ remote library interface and to list the\n`available remote servers`_.\n\n.. contents:: Table of contents:\n   :local:\n   :depth: 2\n\nIntroduction\n============\n\nThe remote library interface allows `Robot Framework`_ test libraries to\nbe run as external processes. An important use case for this support is\nrunning test libraries on different machines than where Robot Framework itself\nis executed. This allows interesting possibilities for distributed testing.\n\nAnother big use case is implementing test libraries using other languages that\nRobot Framework supports natively. In practice test libraries can be\nimplemented using any language that supports the `XML-RPC protocol\n\u003chttp://www.xmlrpc.com\u003e`_ that the remote interface uses for communication.\nMany `languages and platforms`__ are supported already, and implementing\nsupport for new languages or for new usages is pretty straightforward.\n\n__ `Available remote servers`_\n\nArchitecture\n============\n\nThe remote interface consists of the Remote library, remote servers and\nactual test libraries running behind these servers. The high level architecture\nis illustrated in the picture below.\n\n.. image:: remote.png\n\nThe Remote library is one of Robot Framework's standard libraries and thus\nautomatically installed with the framework. It does not have any keywords of\nits own, but instead works as a proxy between Robot Framework and remote\nservers.\n\nRemote servers expose the keywords provided by the actual test libraries\nto the Remote library. The Remote library and remote servers communicate\nusing a simple remote protocol on top of an `XML-RPC \u003chttp://www.xmlrpc.com\u003e`_\nchannel. The remote protocol and the whole remote library interface are\ndescribed in detail in the `Robot Framework User Guide\n\u003chttp://robotframework.org/robotframework/#user-guide\u003e`_ in section `Remote\nLibrary Interface\n\u003chttp://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#remote-library-interface\u003e`_.\nThe default port used by the remote protocol is 8270 and it has been\n`registered by IANA`__ for this purpose.\n\nHow remote servers interact with the actual test libraries depends on the\nlanguage and the remote server design. See the implementation of the\n`available remote servers`_ below for concrete examples.\n\nIt is also possible to create solutions that combine a remote server and\none or more libraries together into a single distribution. For example,\n`RemoteSwingLibrary \u003chttps://github.com/robotframework/remoteswinglibrary\u003e`_\nbundles `SwingLibrary \u003chttps://github.com/robotframework/swinglibrary\u003e`_,\njrobotremoteserver_ and also the Remote library itself, and its users do\nnot even need to know that they use the remote interface.\n\n__ http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=8270\n\nAvailable remote servers\n========================\n\nFollowing generic remote servers are available as separate projects. See\nthe project pages for installation and usage instructions.\n\n===================  =============================\nLanguage / Platform          Remote Server\n===================  =============================\nPython               `PythonRemoteServer \u003chttps://github.com/robotframework/PythonRemoteServer\u003e`_\nJava                 `jrobotremoteserver \u003chttps://github.com/ombre42/jrobotremoteserver\u003e`_\nRuby                 `robot-remote-server-rb \u003chttps://github.com/semperos/robot-remote-server-rb\u003e`_\n.NET                 `nrobot-server \u003chttps://github.com/claytonneal/nrobot-server\u003e`_\nClojure              `robot-remote-server-clj \u003chttps://github.com/semperos/robot-remote-server-clj\u003e`_\nPerl                 `plrobotremoteserver \u003chttps://github.com/daluu/plrobotremoteserver\u003e`_\nnode.js              `node-robotremoteserver \u003chttps://github.com/comick/node-robotremoteserver\u003e`_\nPHP                  `phrrs \u003chttps://github.com/daluu/phrrs\u003e`_\n===================  =============================\n\nPlease submit an issue and/or pull request to this project if you have\ncreated a new remote server or existing information needs to be updated.\n","funding_links":[],"categories":["Tools"],"sub_categories":["Built-in Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotframework%2FRemoteInterface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobotframework%2FRemoteInterface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotframework%2FRemoteInterface/lists"}