11Python Remote Server for Robot Framework
22========================================
33
4- Introduction
5- ------------
6-
74`Robot Framework `_ remote servers allow hosting test libraries on different
8- processes or machines than Robot Framework itself is running on. This version
9- is implemented in Python _ and supports also Jython _ (JVM) and
10- IronPython _ (.NET). See `remote library interface documentation `_ for more
11- information about the remote interface in general as well as for a list of
12- remote server implementations in other programming languages.
5+ processes or machines than Robot Framework itself is running on. See the
6+ general `remote library interface documentation `_ for more information about
7+ the remote interface as well as for a list of remote server implementations
8+ in other programming languages.
139
1410This project is hosted in GitHub _ and downloads are available in PyPI _.
1511
1612.. _Robot Framework : http://robotframework.org
17- .. _Python : http://python.org
18- .. _Jython : http://jython.org
19- .. _IronPython : http://ironpython.codeplex.com
2013.. _remote library interface documentation : https://github.com/robotframework/RemoteInterface
2114.. _GitHub : https://github.com/robotframework/PythonRemoteServer
2215.. _PyPI : http://pypi.python.org/pypi/robotremoteserver
2316
17+ .. contents ::
18+ :local:
19+
2420Supported Python versions
2521-------------------------
2622
27- As already mentioned, this remote server officially supports Python _, Jython _,
28- and IronPython _, but it should work also with PyPY _. The server has been tested
29- on Linux, OSX, and Windows, but should work also on other operating systems.
30-
31- Remote server 1.0 series ought to support all Python, Jython, and IronPython
32- versions between 2.2 and 2.7, but not all combinations have been thoroughly
33- tested. Support for versions prior and possibly including 2.5 will likely
34- be dropped in the future when we target Python 3 compatibility.
23+ This remote server is implemented with Python _ and supports also Jython _ (JVM),
24+ IronPython _ (.NET) and PyPy _. Remote server 1.1 and newer support Python 2.6,
25+ 2.7, 3.3, and newer. Remote server 1.0 series supports Python versions 2.2-2.7.
3526
27+ .. _Python : http://python.org
28+ .. _Jython : http://jython.org
29+ .. _IronPython : http://ironpython.net
3630.. _PyPy : http://pypy.org/
3731
38- Installation
39- ------------
32+ Supported library APIs
33+ ----------------------
4034
41- The easiest installation approach is using `pip `_:
35+ Starting from Remote server 1.1, Robot Frameworks normal static, hybrid and
36+ dynamic library APIs are all supported. Earlier versions support only the
37+ static and hybrid APIs.
4238
43- .. sourcecode :: bash
39+ For most parts these APIs work exactly like when using with Robot Framework
40+ normally. There are, however, some features that are not currently supported:
4441
45- $ pip install robotremoteserver
42+ - Logging using ``robot.api.logger `` or Python's ``logging `` module is not
43+ supported.
44+ - It is not possible to give a custom name to static or hybrid keywords using
45+ the ``@keyword `` decorator.
4646
47- Alternatively you can download the `source distribution `_, extract it, and
48- install it using:
47+ Installation
48+ ------------
49+
50+ The easiest installation approach is using `pip `_::
4951
50- .. sourcecode :: bash
52+ pip install robotremoteserver
5153
52- $ python setup.py install
54+ Alternatively you can download the source distribution from PyPI _, extract it
55+ and install the server using::
5356
54- Change ``python `` above to ``jython `` or ``ipy `` to install using Jython
55- or IronPython, respectively, instead of Python.
57+ python setup.py install
5658
5759.. _`pip` : http://www.pip-installer.org
58- .. _`source distribution` : PyPI _
5960
60- Starting
61- --------
61+ Starting remote server
62+ ----------------------
6263
6364The remote server can be started by simply creating an instance of the server
6465and passing a test library instance or module to it:
@@ -73,8 +74,8 @@ and passing a test library instance or module to it:
7374By default the server listens to address 127.0.0.1 and port 8270. See the next
7475section for information about configuring the server.
7576
76- Configuration
77- -------------
77+ Remote server configuration
78+ ---------------------------
7879
7980The remote server accepts following configuration parameters:
8081
@@ -110,27 +111,24 @@ Testing is server running
110111
111112Starting from version 1.0.1 , ``robotremoteserver `` module supports testing is
112113a remote server running. This can be accomplished by running the module as
113- a script with ``test `` argument and an optional URI:
114-
115- .. sourcecode :: bash
114+ a script with ``test `` argument and an optional URI::
116115
117116 $ python -m robotremoteserver test
118117 Remote server running at http://127.0.0.1:8270.
119118 $ python -m robotremoteserver test http://10.0.0.42:57347
120119 No remote server running at http://10.0.0.42:57347.
121120
122121.. tip :: As discussed below, using ``stop`` instead of ``test`` allows stopping
123- the server. Both testing and stopping works also against other Robot
124- Framework remote server implementations.
122+ the server. Both testing and stopping should work also against other
123+ Robot Framework remote server implementations.
125124
126- Stopping
127- --------
125+ Stopping remote server
126+ ----------------------
128127
129- The remote server can be gracefully stopped using three different methods:
128+ The remote server can be gracefully stopped using several different methods:
130129
131- - Hitting ``Ctrl-C `` on the console where the server is running. Starting from
132- version 1.0.1 this ought to work regardless the operating system and Python
133- interpreter. Python 2.5 and Jython 2.5 on Windows are known exceptions, though.
130+ - Hitting ``Ctrl-C `` on the console where the server is running. Does not work
131+ reliably with version 1.0 or earlier or if using Python 2.5 or older.
134132
135133- Sending the process ``SIGINT ``, ``SIGTERM ``, or ``SIGHUP `` signal. Does not
136134 work on Windows. Notice that with Jython you need to send the signal to the
@@ -146,8 +144,9 @@ The remote server can be gracefully stopped using three different methods:
146144Example
147145-------
148146
149- The remote server project contains an `example `_ that can be studied and also
150- executed once the library is installed. The example is also included in the
151- `source distribution `_.
147+ The remote server project contains an example _ that can be studied and also
148+ executed once the library is installed. You can get the example by cloning
149+ the project on GitHub _, and it is also included in the source distribution
150+ available on PyPI _.
152151
153152.. _example : https://github.com/robotframework/PythonRemoteServer/tree/master/example
0 commit comments