1
1
Python Remote Server for Robot Framework
2
2
========================================
3
3
4
- Introduction
5
- ------------
6
-
7
4
`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.
13
9
14
10
This project is hosted in GitHub _ and downloads are available in PyPI _.
15
11
16
12
.. _Robot Framework : http://robotframework.org
17
- .. _Python : http://python.org
18
- .. _Jython : http://jython.org
19
- .. _IronPython : http://ironpython.codeplex.com
20
13
.. _remote library interface documentation : https://github.com/robotframework/RemoteInterface
21
14
.. _GitHub : https://github.com/robotframework/PythonRemoteServer
22
15
.. _PyPI : http://pypi.python.org/pypi/robotremoteserver
23
16
17
+ .. contents ::
18
+ :local:
19
+
24
20
Supported Python versions
25
21
-------------------------
26
22
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.
35
26
27
+ .. _Python : http://python.org
28
+ .. _Jython : http://jython.org
29
+ .. _IronPython : http://ironpython.net
36
30
.. _PyPy : http://pypy.org/
37
31
38
- Installation
39
- ------------
32
+ Supported library APIs
33
+ ----------------------
40
34
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.
42
38
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:
44
41
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.
46
46
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 `_::
49
51
50
- .. sourcecode :: bash
52
+ pip install robotremoteserver
51
53
52
- $ python setup.py install
54
+ Alternatively you can download the source distribution from PyPI _, extract it
55
+ and install the server using::
53
56
54
- Change ``python `` above to ``jython `` or ``ipy `` to install using Jython
55
- or IronPython, respectively, instead of Python.
57
+ python setup.py install
56
58
57
59
.. _`pip` : http://www.pip-installer.org
58
- .. _`source distribution` : PyPI _
59
60
60
- Starting
61
- --------
61
+ Starting remote server
62
+ ----------------------
62
63
63
64
The remote server can be started by simply creating an instance of the server
64
65
and passing a test library instance or module to it:
@@ -73,8 +74,8 @@ and passing a test library instance or module to it:
73
74
By default the server listens to address 127.0.0.1 and port 8270. See the next
74
75
section for information about configuring the server.
75
76
76
- Configuration
77
- -------------
77
+ Remote server configuration
78
+ ---------------------------
78
79
79
80
The remote server accepts following configuration parameters:
80
81
@@ -110,27 +111,24 @@ Testing is server running
110
111
111
112
Starting from version 1.0.1 , ``robotremoteserver `` module supports testing is
112
113
a 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::
116
115
117
116
$ python -m robotremoteserver test
118
117
Remote server running at http://127.0.0.1:8270.
119
118
$ python -m robotremoteserver test http://10.0.0.42:57347
120
119
No remote server running at http://10.0.0.42:57347.
121
120
122
121
.. 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.
125
124
126
- Stopping
127
- --------
125
+ Stopping remote server
126
+ ----------------------
128
127
129
- The remote server can be gracefully stopped using three different methods:
128
+ The remote server can be gracefully stopped using several different methods:
130
129
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.
134
132
135
133
- Sending the process ``SIGINT ``, ``SIGTERM ``, or ``SIGHUP `` signal. Does not
136
134
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:
146
144
Example
147
145
-------
148
146
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 _.
152
151
153
152
.. _example : https://github.com/robotframework/PythonRemoteServer/tree/master/example
0 commit comments