For web application automation Selenium can be used with Robot framework. But both are frameworks.What is the relation between these two?
-
Even though I think the answers provided are spot on for the question, I do think the question itself is too broad for stackoverflow. In addition I believe that this question could have (easily) been answered by reading the material on robotframework.org and seleniumhq.org. There is a certain level of effort that is expected to have been spent on preventing a question which I suspect was not spent here.A. Kootstra– A. Kootstra2017-11-24 15:46:23 +00:00Commented Nov 24, 2017 at 15:46
-
I partially disagree with the given answers, selenium is an interface to the webdriver API.Verv– Verv2017-11-24 20:57:21 +00:00Commented Nov 24, 2017 at 20:57
-
Okay sure Will look into it next time Kootstra!Vedic cracker– Vedic cracker2017-11-28 06:45:15 +00:00Commented Nov 28, 2017 at 6:45
2 Answers
You have selenium to automate all the web related work e.g login,click,button and many more thing. But then you have to use it with some languages , e.g. Java ,Ruby, Python.
Suppose you get a project to automate a webbrowser by using any other languages , where your task would be
1)login to browser
2)Fill user details
3)Click on submit
Now to have a good framework , you need to break down these tasks into smaller component
1) you need to define test cases
2) You need to have a separate file to store variables
3) You need to have a good reporting tool , which will show how many test cases passed or failed and further drill down.
i am a python user,so lets talk the problem with python,selenium
1) you can write the test cases with unittest module - But then generating a good test reports would be hedache , you have to spend a lot of time to create good test reports
this is one of the major disadvantage with python
Now coming to RobotFramework
if you integrate selenium library in robotframe work, you would be able to do almost similar thing which can be done by any other languages with lot of ease and control.
Taking example of your assignment in hand
1) You can define Test cases
2) You can Create a seprate variable file and then pass it with main file during run time (check pybot -V)
3)You dont need to be worry about reporting part , all the reports would be generated and with betterdrill down options
additional advantage
1) There are lots of inbuilt libraries, which will help you to do your task easily
2) You can create your own custom library and import in Robotframework
3) You would be able to drill down till last variable where the problem is with help of RobotFramework Reports, which will save lots of time
In Nutshell i can say Robotframework provide a building block to your framework where you just need to worry about the functional aspect of your program
2 Comments
Your original assertion is incorrect. They are not both frameworks. Or at least not the same type of framework.
robot framework is a set of programs and libraries for creating test cases. With it you can create test suites built upon reusable keywords written either from other keywords or written in other programming languages. The framework provides a test runner, and generates test reports.
selenium is a library interface to a driver that controls a browser. You cannot write tests using only selenium -- you need something else such as a programming language (python, ruby, etc) or testing framework (robot, cucumber, etc). Selenium itself provides no way to run tests, and no way to generate reports.