The month of September 2014 was a long awaited month for loads of people across the world. Be it the organizers, presenters, attendees or all the fans of Selenium web-driver community. It was an interesting one for me in two ways:
- Got the chance to interact with Simon Stewart, Jim Evans and loads of other people from the community.
- Got the wonderful opportunity to present a talk at the conference 🙂 My talk was focused on “Designing selenium webdriver scripts in an effective manner to reduce script rework and Reporting Dashboard“.
Now for the rest of the fans from around the world who couldn’t make it to this talk, may find all the details here:
Mission of the workshop was to cover following three aspects:
1. Designing Test Automation Architecture:
Discuss the challenges of Test Automation & share my version of automation architecture which assists in designing selenium webdriver scripts in an effective manner, less maintenance effort and greater code reusability.
Note: Similar design architecture can also be followed for mobile automation via Appium.
2. Selenium Webdriver projects :: Available as Open source
I have made 3 java projects which could assist people in different ways to kick start their own selenium webdriver project based on the design architecture explained in section 1 above. All these 3 projects are open source & licensed as MIT.
Github link: SeleniumLearnExploreContribute
License Type: MIT
Invitee for the community: We would like to invite everyone from the community to share towards these 3 projects and give back to the community. We also love to share appropriate credits to the people when they contribute for greater good.
This github repository contains following 3 projects:
Project 1: seleniumWebdriverProjectTemplate + General Utilities
This project contains a simple design architecture for kick starting selenium webdriver automation for any products. It also contains a set of general utilities which can be very helpful under different circumstances.
Here is an overview on those general utilities:
- DbCommonMethods: One general method which can be utilized to connect to a DB and perform specific queries like Create,Update, Delete and so on…
- HttpClientUtil: Utils to assist for API Automation. To extract Json API content using java. Which could assist in comparing the same with GUI data
- SelectBrowser: Single file which controls the browser in which hundreds of test scripts will be executed by taking browser input from config.properties file
- ReportParseGoogleUpdate: Update multiple test suites results on google doc automatically as real-time process. We can see a pie-chart for the collaborated results of entire product instead of single test suites
- EmailNotification: Invoke this file if we wish to send an email once each test suites are executed
- WebCommonMethods: Various general utilities for aiding in our web automation like reading specific row from excel, et cetra…
For more details on Utilities refer: Readme.md file on Github
Project 2: orangeHRM (A localhost website for practise purpose for a newbie)
Based on the architecture design + general utilities from Project1, I have written few sample test scripts in webdriver. This may help you if you are new to selenium webdriver and wish to learn the same.
OrangeHRM is an opensource and can be downloaded from sourceforge.net
Project 3: seleniumWebdriverLearningSnippets (Sample learning snippets for various topics)
This project is aimed to provide as many sample snippets as possible in order to assist people in learning & implementing any specific topics in selenium webdriver.
- Extract data from Json API: How exactly by using get/post request can we extract the data from JSON Api and then compare if the same data is being reflected on GUI side as well.
- Uploading a file using webdriver
- Downloading a file using webdriver
- Selecting a value from bootstrap dropdown
- and so on…
3. Automation Reporting
Automation reporting can be categorized into following two chapters:
Chapter1 :: Build.xml for Selenium Webdriver + Ant + TestNg + XSLT
All the details with respect to chapter 1 can be found at one of my previous article “Build.xml for Selenium Webdriver + Ant + TestNg + XSLT (Automation Reporting Chapter 1)”
Chapter 2 ::’Test Automation Dashboard’ tool from ‘Moolya Inc‘ :: Available as open source
We @Moolya have made a tool which addresses 2 basic problems of test automation results:
- Track history of test suites executed & their results which can be accessed anytime based on date filters
- Real-time test execution status for ‘N’ number of test suites
Moolya Inc, has made version 1.0 of this tool as open source under the license category: MIT
Necessary reference links for this project are:
For detailed description refer Moolya’s blog section :: Test Automation Dashboard – An Open Source Tool
Readme file + How to configure and run the tool: Readme.md
License type: MIT
Now, This is where I take a coffee break…
But, this is not where the journey ends…There is a lot more to come in future 🙂