Which one is the better option for web application testing - JBehave or Robot Framework?
Comparison between JBehave and Robot Framewrok.
The answer can not be defined as use one or other. It depends of persons who will work on a specific framework.
If you want to do not very complex thing with your automation framework and the persons who will work with it don't have programming experience, then I would suggest RobotFramework. It's pretty intuitive and easy to learn.
For Jbehave can't say much but I have some experience with Cucumber and I can say that the learning curve is higher compared to RobotFramework if the the persons who will work with it don't have programming experience. But if they come from java world and don't know nothing about python internal evaluations and expressions the learning curve for java based framework will be less compared to RobotFramework.
Comparing directly Jbehave or Cucumber with RobotFramework is not a good idea because java based frameworks and RobotFramework works in totally different way.
Currently my job includes extensive work with RobotFramewok and I can say following problem for me:
1.No nested loop allowed using build in keywords. But you can always create library in python that bypass that problem. For my sorrow I don't have enough knowledge to write anything in python.
Currently had a problem by wanting to pass null value to some service that I had to test. I've found a work around but if the framework was java based I wouldn't have a problem. For that thing I still don't know if this was a problem of a RobotFramework itself or the library that I've used (but I'll find out soon).
Working in RobotFramework with SOAP services is not so elegant as you would do in java or C# base framework (mainly in the time spend to build the request).
I've had a desperate need sometimes to write remote library on java or C# and load it into robot as I can't write libraries in python. But this would be a desperate measure and so far I always find a work around.
The detailed information and example on the internet how does some RobotFramework keywords work is much much less than the information that you can find on java or C# base framework.
The libraries that you can find for java are way more compared to libraries for RobotFramework and also the java community is bigger than the RobotFramework community.
Finally I would suggest to spend some time with playing with both frameworks that you want to use and see which of them fits most to your company needs.
PS: One thing that I can say for sure is that the RobotFramework has a really nice and detailed report and it's BuiltIn. I've never seen so detailed report on the other framework that comes as BuiltIn functionality. If you have to implement such reporting feature in your java framework you have to put a lot effort of doing this.
The major advantage of Robot Framework is, it comes with built-in keywords helping in kick-starting the automation whereas in JBehave it has to be built.
But both frameworks core objective is to help in automating Acceptance Testing.
If you can share test automation strategy or automation goal then it would help to give the in-depth comparison analysis and suggestion.