I'm using Robot with Hudson (http://hudson-ci.org/) and we have faced
similar problems as noticed in the Hudson issue tracker:
http://issues.hudson-ci.org/browse/HUDSON-5073
This issue seems to happen with our longer test runs, and I think only
when there's no prints from the Robot to the console for a long time.
Someone suggested some kind of wrapper which would start the Robot
test run, and at the same time prints "something" periodically to the
console during the test run.
Anybody facing similar issues and/or is there some method of getting
"something" printed to the Robot's console during the test execution?
For Hudson, it sometime seems to cause timeouts to print only the test
result (PASS / FAIL) to the Robot's console.
Cheers,
-Pasi
Using Robot Framework with Hudson seems to be quite popular nowadays.
Have you already tried the prototype plugin that Kari released a
little time ago [1]? We are planning to develop the plugin further
during spring and any feedback is appreciated.
This sounds pretty strange and definitely more like a Hudson problem
than a bug in RF. There's no option to print anything more to the
console but you can easily edit the framework itself if you want to
test does producing output constantly help. The simple patch below
will cause all executed keyword names to be printed - let me know if
you need help applying it. If this does solve the problem then you
should report your findings to Hudson tracker. Although I don't like
implementing workarounds for other tools bugs, some kind of a verbose
mode for RF would be useful otherwise too. There's already an issue
about less verbose and quiet modes [2].
[2] http://code.google.com/p/robotframework/issues/detail?id=317
Cheers,
.peke
Index: src/robot/running/keywords.py
===================================================================
--- src/robot/running/keywords.py (revision 2412)
+++ src/robot/running/keywords.py (working copy)
@@ -41,6 +41,7 @@
self.handler_name = name
def run(self, output, namespace):
+ print self.name
handler = namespace.get_handler(self.handler_name)
if handler.type == 'user':
handler.init_user_keyword(namespace.variables)