Many of the automation testing tools are available and being used in the market. Among all two of them are Selenium and FitNesse. These two are the testing tools that allow us to develop results by automating the tests for the software which is need to be executed on the application.
The difference lies as to "how these test cases are represented" and "who is going to exercise these tests on the application".
Here's is a brief comparison between FitNesse and Selenium.
•FitNesse is an acceptance testing framework.
•FitNesse is used to document acceptance test cases in the form of testable code, not only document but to run and get results also.
•FitNesse is capable of comparing customers' requirements in a software to how the software actually works.
•It can also be easily used by a non-technical professionals.
•Selenium is a web automation framework.
•Selenium is used to drive a web browser using a script code.
•Selenium can record the inputs and apply them to actions performed on a web browser.
•Selenium is widely used by technical professionals to test web based applications by automating them.
Both FitNesse and selenium can work with multiple scripting languages like java, .NET, Python, Ruby, etc.
Also Read: Fitnesse Automation Tool
Use of Selenium for automating the testing process is recommended:
1)Before the involvement of the customers in testing the developed application or in other words.
2)When the tests need to be directly coded which can be understood only by the developer writing/coding the test cases.
Use of FitNesse for automating the testing process is recommended when:
1)End users or less technical user are involved for automation testing of the application.
2)We have to focus on creating well defined and understandable test cases;
3)There is a need to specify or design the test cases in a user friendly manner such as in tabular form.
4)We are looking for immediate and direct end user feedback.
Example:-Entering an email address during login in a web application
In Selenium: An API which could be used:
In FitNesse: We could design and specify it as follows:
Input value: abc_12344,gmail.com
Message displayed for invalid input: Invalid login name
I would suggest Selenium to automate a Web-based user interface, such as Google Chrome, and FitNesse to define business logic tests in a table so that customers can understand them. Sometimes it is better to combine the two, expressing the tests in a table, then having FitNesse connect to the Selenium over a piece of ‘bridge’ technology called Selenesse.
You can think of Selenium as an essential code library, or application programming interface, to run the browser. That code library plugs into many languages, from Ruby to Python to Java, and even .Net. That means the programmers can possibly write Selenium tests in whichever language they write production code in, which can be incredibly powerful.
If you require to test a Web-based application by and for technical people, I'd suggest Selenium. If the purpose is to create executable specifications, especially at the business logic level, start with FitNesse. If the team codes a Web-based application in Java or .Net, you might just want both!
So, on a final note: Selenium is used to directly automate the web user interface and Fitness tool allows us to focus on defining business logic tests in a table so that customers can understand them.
Also Read: Selenium testing tool