Selenium CSharp Project

Currently at my day to day I have been required to perform some testing on the UI which as you might guess is really repetitive and tame consuming. In my career I have worked with manual testers but never had the change to work with automation testers, usually because of lack of project resources or expertise, but in more than once I heard the name Selenium for testing automation.

Been honest at the beginning I didn’t put much attention to it (I didn’t even google it), but now that I was required to perform manual testing, I started to look into it. Someone mentioned that it had was a really expensive technology and that was a big concern to start using it, but to my surprise Selenium is open source which called my attention even more.

First I started using the IDE which only works at Firefox, and was impressed by the functionality it provides, allowing you to record your actions of the page and assert/validate specific values, but soon I realized that the testing I required to perform could not be totally automated due to the test scripts can’t be dynamically generated. (Please let me know as it would be really interesting to be able to dynamically modify a test script)

Later I moved to the standalone server using C# to write the tests cases, (mainly copied the code from the IDE at the beginning). The integration of selenium to the Visual studio Testing framework is amazing and in most of the cases with the proper packages it works outside the box. I was able to automate test cases and run them locally really quickly. Later I discovered what is Selenium Grid and configured my project to run on a remote host which is really awesome. Finally I decided to simplify some of the repetitive tasks and create some kind of small framework to allow the test cases to be reused between scenarios. I wrote a library called Testing.Common and uploaded it to my GitHub https://github.com/riul88/selenium-csharp-project with an example project which performs some basic tests on a web application I built a while back, the library is GPL v3 so it can be used by anyone, but if you modify the code you are required to share your changes to help us all test better.

I hope you find the library useful or at least can help you start using Selenium quickly and if you have any comment about it please send me an email.