Pergunta

I've inherited a robot framework rig that uses jython and defines all its keywords in Java.

It runs at a pace which I might describe as, well, 'stately'.

Attaching yourkit to the show, I see -- what a surprise -- the python interpreter from jython.

Is there any profiling for jython or the robot technology that would allow me to see just what it is that is keeping the framework so busy?

Foi útil?

Solução

One thing you could check is whether your suites/tests define unnecessary timeouts. We've recently noticed that using timeouts causes quite a bit overhead (Mainly because timeouts are implemented quite hackishly in RF itself.)

Other that that, I think that some further profiling is needed. A couple of suggestions:

  • Robot Framework's own time reporter [1]. Using that, you can see which suites/tests/keywords take the most time, and perhaps also which library keywords are unreasonably slow.

  • You could also try profiling with the Python profiler [2], which is also implement in Jython. In theory, you should be able to see at least whether the majority of the time is spent in framework code or library code.

[1] http://robotframework.googlecode.com/hg/tools/times2csv/doc/times2csv.html?r=2.6.3

[2] http://docs.python.org/library/profile.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top