Monday, September 7, 2015

Selenium IDE Sample Script With Most Commonly Used Commands

In this post, I've tried to cover the most common actions that a QA performed so often while Web testing. General actions are: type, click on links, select dropdown option, multi-select, checking radio buttons and check boxes, uploading files and clicking on buttons, moving backward and scrolling. Above mentioned actions cover 90% of our testing. And it's fortunate to have Selenium IDE supports all these actions.

Here is a description of the most commonly used commands for Selenium IDE:

openTo open URL
setTimeoutSetting Timeout Limit
windowMaximizeFor Window Maximizing
storeStoring value in variable
echoTo print/log custom messages in console
clickAndWaitClicking on link
goBackAndWaitTo navigate backwards
typeTo enter values in a text field
storeEvalExecuting Javascript / Scroll
clickChecking Radio Button / Check box
selectTo Select dropdown option
addSelectionFor multiple selection boxes
assertTitleTo verify title

Below is the script in tabular form which is covering all the above listed actions with logging (have tried to implement low level logging):

Complete Practise Form:
storeSelenium Tutorials | Demo Form for practicing Selenium AutomationEXPECTED_PAGE_TITLE
echo"####### Clicking Link ########"
clickAndWaitlink=Link Test
echo"###### Using goBack command to navigate to previous page ######"
echo"###### Typing First Name and Last Name ######"
echo####### Performing Scroll Action #########
echo"###### Check Radio Buttons & Check boxes #######"
echo"####### Performing File Upload Action #######
echo####### Performing Scroll Action #########
echo"####### Performing Select & Multi-Select Actions ########"
addSelectionid=selenium_commandslabel=Navigation Commands
addSelectionid=selenium_commandslabel=Switch Commands
echo"###### PASSED - Test Completed Successfully #######"

See you soon with some new posts on automation.

Till then keep Rocking Folks ..!!

Happy Learning :)

Vaneesh Behl

Tuesday, April 14, 2015

Keep A Good Sense of Humor at Your Workplace

Today I'm not going to post any technical blog rather going to share some of the light moments of IT professionals. We all know the importance of humor in our life. And sometimes it comes our way when it's most unexpected and sometimes during stressful work hours and you just can't restrict yourself from sharing these funny moments with others.

 This is what I'm going to share with you today. I come along one webpage where some of the QA Engineers have shared there funniest experiences with developers. I'm not editing the real content and posting as it is, to retain the natural flavor of humor.We, IT professionals aware of the epic cold war between Developers and QA's. Developers never accept bug in their code and very often they give some illogical and funny excuses to back their buggy code.

When some of the QA Engineers have been asked to share there funniest experiences /conversations with developers, see their responses:

Suresh: In my recent project, every time I found a bug, Developer used to say, No user will use that feature so we don't care about that bug :)

Next one is lol :D :D :D

Ralph: After I reported a “very bad” bug, the developer came to find me and gave me a very helpful tutorial about why the scenario I described could never be allowed to happen because it would be “very bad” if it did. Then after he replied on that bug with something like this "Tester educated, problem solved. Please close the bug."

Nuno: Dev: "What did you do to put the system in this condition??:"
QA " "Nothing...I was not working with it."
Dev: "ok...what did you do before you did nothing??" :D

Schneider: In one of my first testing projects I was testing a full-text search feature in a windows app. One of the capabilities was the ability to search for X near Y, where near could be up to 50K words apart. My test case for this was to repeat the same two words 25K times to get the correct distance. This caused the compression algorithm to implode.

The developer referred to this as "an extraordinarily pathological test case." :P :D

And here comes the funniest of all, I bet you can't stop laughing after reading this.....

Sean: Long ago when I worked for the MI Support Desk (don't chastise me) I had an interesting response to a patch. I sent the customer the latest patch to "resolve their problem" and told them to unzip it at the <YOURDRIVE>\Program Files\ etc etc I said it that way as I had people go on about not having Program Files installed on their C drive Yep you guessed it, I got a response stating that they couldn't find the YOURDRIVE folder, but in their defence I did get a second email 10 mins later saying "I'm being stupid aren't I?"

Praghya: I had a developer that always used to say, with a twinkle in his eye, no that's a feature, which he later on agreed to as bug.

Carlos: I've had, "No one is going to do that, that's a tester bug." After release, the
bug is occurring for consumers. ^.^

Anil: Often heard from developers. All users are smart , no one is going to input these type
of values...
Last but not the least, hilarious one :D :D

Usman: One of developer in my company write this error messages throughout the application "Operation has been failed successfully" :D :D :D

Feel free to share your experiences as well in comments. Till my next post, stay happy. Have fun!

References: Google, web

Vaneesh Behl

Web Automation Simplified By Virtual Ninja (Robot Framework)

Talk of the town! Automation is the latest trend. Many Managers are chasing good-quality automation guys to set up an automation suite for their project. But to pick the right match of language and automation tool is the biggest defiance for them. Have undergone circs when projects failed by choosing wrong tools and technology. Question arising, what factors should be pondered while making the choice for the automation tool?
                                                                               Some managers look towards clients for the answer, but to me this is not a handy approach at all. How can a person, who is not a techie can counsel you on this puzzle? Manager should be aware of his team's skillset and capabilities well. If team members are more into manual and they don't have a smashing command over technical language then Robot Framework can be a best-fit for his team.
                                                                                                                            Being an Automation freak, I used to look-around for the several automation tools available in the tech-space. I am fond of learning new technologies and the new stuff. And it was a freezing winter weekend, I decided to explore Python and Robot Framework. Reason providing it as a resolution for automating manual processes, so far as it's fair-dealing and easy to use nature is concerned.
                                                                                                                   Let's go through the radical technical aspects of Robot Framework. Few points popping up in my mind that will justify my choice, writing them down:
  • Robot Framework is freeware: Not many things are free in our ecosystem these days.
  • It utilizes keyword-driven testing approach: It means half of the work is already done (HOMOSAPIENS - We the breed which always want to work less and to be paid more), code is already there we just need to fit the blocks rightly.
  • ROBOT: This word fantasized me throughout my childhood. Many science fiction blockbusters like Terminator, Star Wars, RoboCop, Metropolis etc. have Robots as the main character, a virtual artificial agent that can make our life easy. We can hope the same from Robot Framework as well, give it a try mate!
  •  Its testing capabilities can be extended by test libraries implemented either with Python or Java, and users can create new higher-level keywords from existing ones using the same syntax that is used for creating test cases.
  • The first version was developed at Nokia Siemens Networks in year 2005.
  • Robot Framework is operating system and application independent.

"Robot Framework project is hosted on GitHub where you can find further documentation, source code, and issue tracker. Downloads are hosted at PyPI. The framework has a rich ecosystem around it consisting of various generic test libraries and tools that are developed as separate projects. The core framework is implemented using Python and runs also on Jython (JVM) and IronPython (.NET)."
(Reference -

 Intentionally, I keep it simple for this blog. Will try to write a technical blog on Robot Framework, all about code if time would allow.

Enjoy learning and have fun!

Vaneesh Behl

Validate Date Format Using Regular Expressions in JAVA

As such there is no API in java to validate the format of Date String (I didn't found any). I have had a requirement for the same in my code. Accomplished it using Regular Expressions. Thought of sharing my piece of code with the world residing on other side of my laptop screen, may be useful for someone.

Here is the code:

// Check the Date format to be MM/dd/yyyy
    private boolean validateDateFormat(String date){
        StringBuffer sBuffer = new StringBuffer(date);
        String mon;
        String dd;
        String year;

        // Store the Date in String Buffer and Break down the date
        mon = sBuffer.substring(0,2);
        dd = sBuffer.substring(3,5);
        year = sBuffer.substring(6,10);
        System.out.println("DD: "+ dd + " Mon: "+ mon + " Year: "+ year);

        // Validating Date Format for Tunr In Date and Live Date to be MM/dd/yyyy
        if(mon.matches("0[1-9]|1[0-2]") && dd.matches("0[1-9]|[12][0-9]|3[01]")
                && year.matches("(19|20)\\d\\d")){
            return true;
            return false;

Thanks for reading folks. Do share your thoughts and comments.

Happy Learning :)

Vaneesh Behl

Test-aliens are here on Earth, Go slow developers !!

 Why should a company have a team for Software Testing and Quality Assurance? What is the need to test a software?

Why shouldn't developers test their own work?

When I started my career around two years back I encountered above listed queries. At that time I had no reply to these queries. But after dwelling around two years in IT sector I come along with some firm replies.
                             All above listed questions are inter-belonging and the highlighted one was recently posted in a programmer's Q&A post, it inevitably raised my curious eyebrow. This can be a big debate. Diving straight to the point, the simple, unmistakable and well known answer is : “Developers are not very good testers.”
                                                                   But according to my understanding correct answer is, - “They don't want to see bugs in their code and only look for happy paths and and happy endings.” (Beleive me I was a developer in the past and then I moved to QA to avoid QA on my code, now I'm coding Automated Selenium Scripts and no one doing intesive testing on it and that's what I'm enjoyng. )

I know developers will never accept this fact, but I have a set of reasons for this to prove:

1) “Parental Feelings” towards their code
Developers are emotionally linked to the stuff they write. It may sound silly but it is hard to be objective towards the stuff you create.
For example, I know my kids are not perfect and still I am sure I would have a hard time if someone would come to me and starts criticizing them in any way (after all they are perfect, right? )

2) Optimistic developers
Yes, I wrote the code and I am confident it’s working properly. No need to test this path, no need to test that path, as I know it’s working properly. And right here developers skip the bugs.

3) Developers have Constructive attitude while Testers have Destructive
There is a big difference in developer's testing and tester's testing is that the developers usually make sure that their code is working properly whereas testers usually look for how the application is not working correctly.

My Bottom Line

Now you are good to go and set “Quality Checks” on developer's code. No doubt, code they write is their baby but it's QA's job to make the baby smarter. A small QA team has been established here and I hope we will build a good team with developers as well. Afterall, we are here to help the coders not to obstacle them. The key words – Unity, Trust, Respect for others opinion and acting without fear are ingredients for any successful team.
                          I was told in past developers tested their code themselves and there was no QA culture here. In view of above listed facotr, QA's job is even tougher.

I end up with my favorite quote – "I do QA, because Quality matters."

In the meantime, if I forgot something or if anyone disagrees feel free to let me know :)

Google, web

Vaneesh Behl