Please post your Web Driver questions in official Web Driver forum

Saturday, December 15, 2012

Selenium Training video for 12th December Session


7h Selenium Training session was conducted on 12th December. There were more than 100 registration and about 40 selenium enthusiasts participated in live training. Following topics were covered in training -
  • Soft assertion in Selenium Test (continuing test execution of method even if one assert fails)
  • Data driven testing using csv files and analyzing test data in TestNG Report
  • Using Selenium Grid to scale your selenium tests
Training video is available on YouTube.
Selenium Project is available for download as well.
Please post session related questions in forum

Saturday, December 8, 2012

Selenium Training Meet on 12th Dec

Guys, I have set up next Selenium Training Meet on 12th December.
Following topics would be covered in Selenium Training Meet -

  • Soft assertion in Test (continuing test execution of method even if one assert fails)
  • Using csv file for test data
  • Using Selenium Grid to scale selenium tests
I have deferred android automation for next meet.
Registration Form is open for sign ups

Wednesday, December 5, 2012

Selenium Training Video for Dec 2nd Session


We conducted 6th Selenium Training meet on December 2nd. There were about 400 registration and about 45 selenium enthusiasts participated in live training. Following topics were covered in training -
  • Page Factory Pattern
  • Data externalization using properties files
  • Capture application screen shot only during test failure (TestNG + Selenium)
  • Introduction to Maven and mavenizing your Selenium project
Training video can be accessed from Selenium Training page.
Selenium Maven Project used during training is also available for download.
A big thanks to anymeeting.com for providing great resources in conducting this meet.

Tuesday, October 30, 2012

Capture network traffic using WebDriver

We often come across testing requirements when we need to analyze the network traffic to find -
    • HTTP status of page
    • Analyze header information to find if right information is passed
    • Validating parameters related to ajax requests etc
Selenium 1 has had a way to capture n/w traffic but the feature does not always work as expected. At times Selenium 1 does not capture all n/w traffic, And given that Selenium 1 APIs are almost dead it is

Tuesday, September 11, 2012

Upcoming Selenium Training Meet on Dec 2nd 2012

Hello All,
Next Selenium training meet for Dec 2nd 2012. The agenda of meeting would be -
    • Data externalization using csv files
    • Capture application screen shot only during test failure (TestNG + Selenium)
    • Introduction to Maven and mavenizing your Selenium project
Registration form is open. Since there is more than one month time I hope it gives suffice time to see past video meeting for newbies. 

Sunday, September 9, 2012

Selenium Training Meet Video for 9th September


5th session of Selenium Training was conducted today. There were about 100 registrations and 38 participants in session. Topics covered in training -
    • Page Object Revisited
    • Optimizing Page Object methods
    • Using TestNG data provider method to do data driven testing
    • Executing java script from WebDriver 
Meeting recording of Selenium Training Video is available for online viewing and Selenium project can be downloaded for practice.

Monday, July 23, 2012

Selenium Training Meet Video for 22nd July


We conducted fourth Selenium training meet on 22nd July. There were 176 registrations and 50 participants were available for meeting. Agenda of meeting was to cover following topics -
    • Java Collection framework - List and Set
    • Map class
    • Page object pattern for writing Selenium tests
Selenium Training Video recording is available for on line viewing.  
As again big thanks to anymeeting for providing us resources to conduct this meeting.

Sunday, July 15, 2012

Security Testing - Session III - 29th July



Hello all,
In the next session, we shall discuss in detail about Cross Site Scripting threat. Meeting agenda would be :

1. Cross Site Scripting - History & Introduction
2. Implications
3. Different types of Cross Site Scripting

Please do attend the session.

Meeting Registration Link

Thanks!

Security Testing - Session II - 15th July, 2012

Hello Everyone,
In the second session on 'Security Testing', we covered the following concepts:

1. TamperData - Hidden form fields explointation, Javascript validation overrun, Privilege escalation
2. WebSpidering.

You can find the video recording of the session here.

These threats are kind of preliminary and require less technical expertise to understand. In the upcoming sessions, we will concentrate on more complex technical threats. So, please do stay tuned for next session.

Thanks!

Sunday, July 1, 2012

Selenium Training Meet - 1st July 2012

We conducted 3rd Selenium training meet today. There were 128 registrations and 44 participants.
We digressed from the agenda in this meeting and discussed on Java and how it is used in writing Selenium tests. Following topics were covered during meeting -

  • OOPS - Encapsulation, Abstraction, Inheritance, Polymorphism. 
  • Introduction to Class, instance variable, instance methods, class variable, class method, Object
  • Constructor, Abstract Class, Interface, method overloading, method overriding, Package

Sunday, June 17, 2012

Security Testing Sessions Meet - 17th June - Video Recordings

Hello Everyone,

In the first session on 'Security Testing', we had a discussion about following topics:

1. Web Security Testing
2. HTTP Protocol
3. Session ID & Cookies
4. OWASP
5. Live HTTP Header (Firefox Addon)

We covered the basics of Web technology and discussed about how the web technology works as such. In the subsequent session, we shall concentrate on specific threats.

Thursday, June 7, 2012

Security Testing Session on 17th June

Hello everyone,

This is Vasanth, one of the participants of Selenium Meet. Since the idea behind these meets is to share knowledge, I have scheduled next session on Security Testing.

As most of you are aware of, Security testing has become one of the hot and emerging field in IT industry . Organizations give lot of emphasis to data security and take several measures to prevent various kinds of data breach. There are several tools available in the market that help us in identifying the security vulnerabilities. But these tools would provide us just with the result and will not be of much helpful in understanding the concept of underlying threats. Also, it is believed that the automated tools help us in identifying only the low hanging threats and only a seasoned professional could identify the threats that are hidden in the system.

So, in the upcoming sessions, I would like to explain the concept behind the leading threats and would point you the various resources that we can use to uncover the threats.

I have set up first session on 17th June, 2012 between 9.00PM and 10.00 PM IST. Please refer agenda of the session. I would request you all to participate in this session. Please accept Meeting Request.

Thanks,
V.Vasanth

Sunday, June 3, 2012

Selenium Training Meet 3rd June - Video Recording

Yesterday was the second session of Selenium Training meet. There were 109 registrations for meeting and 54 users participated in it. We discussed on -
    • nth locator in CSS 
    • Selenium IDE
    • Firefox and Chrome Driver
    • Using TestNG with Selenium
You can access Selenium Training Video Recording here. I hope none of you encounters any issue with video recording this time. I have uploaded Selenium Java Project here, which we used during session.

Don't hesitate to ask me any question about session or if you face any other issue with Selenium.
Stay tuned for next session. As again a big thanks to AnyMetting for their wonderful resources.

Saturday, May 19, 2012

Selenium Training Meet 19th May - Video Recording

Just finished first on line Selenium meeting. There were about 120 registration received and more than 60 users participated in meeting which does not seem bad for a meeting held on weekend. Meeting recordings can be watched here. Feel free to share in your contacts.

A few of you complained about audio unavailability. If you are not able to hear audio then please reload/refresh the video URL.

The meeting was largely focused on xPath and CSS locators. If you participated in meeting and have an opinion/suggestion then please post it here

A few of you asked me to post questions I asked towards end of session. They are -

Thursday, April 26, 2012

Headless tests with Firefox WebDriver

There are times when you don't want a browser popping each time you execute the test. Or you just don't have privilege of having a browser display like in UNIX based system running your CI and not having any display. These are the times when you would find it right to execute your tests in headless browser mode.

What we need -
  • Xvfb: X virtual frame buffer is X11 server which does graphical operation in memory, hence no output is displayed. Wikipedia has more on it.
  • Firefox: World famous open source browser
  • A simple selenium test: As simple as launching Google in Firefox
First we need to install Xvfb and FF on Ubantu as -

sudo apt-get install Xvfb firefox

Not you can start Xvfb as -

Xvfb :1 -screen 0 1024x768x24 &

From manual of Xvfb -

-screen screennum WxHxD
           This option creates screen screennum and sets  its  width,  height,
           and  depth  to W, H, and D respectively.  By default, only screen 0
           exists and has the dimensions 1280x1024x8.
Now comes the selenium test. You need to guide Firefox so that it executes test in Xvfb started in previous steps.

Thursday, April 5, 2012

Finally some good news for Software Testers

Here are some of the latest Testing and IT news from our technical reporters -
  • IT managers consortium has agreed that software testers would no longer be blamed for a production defects. Though they are yet to find some one who they could put blame on (Johny the developer is said to be already suffering from ProductionDefectoPhobia)
  • Consortium has also agreed on having salary of software testers on par with software developer at least by 2020. There was an unanimous decision on increasing management salary by 23% from immediate effect
  • Consortium has barred developed from using phrase "It works locally". Violation of this rule would attract 1 night out in office. Continuous violation would attract exponential salary deductions
  • Speak and Automate - New era in automated testing. Voice Automation tool for web and windows application was released yesterday. This tool is capable of generating automation suites as you speak of application use cases.

Wednesday, February 8, 2012

Is it sane to compare Selenium with QTP?


I have seen many articles which compare Selenium (1 or 2) with QTP (or other commercial tools). But these articles miss very basic point that Selenium is a library available in variety of language while QTP has entire gamut of tools with it. So if you were to really compare QTP with Selenium then comparison should be based on the library of languages which is offered either of these tools, which in my opinion Selenium wins outright over QTP.
My only intention of writing this post is not claim Selenium victory of QTP but to demonstrate how badly Selenium is compared with QTP at times. There might be things QTP would be good at doing (I left QTP long ago hence can not name any) but to disregard Selenium on the factors I listed herein is highly biased.
  • Object spying - Sure, you have QTP recorder which does it for you but don't forget that you can test object locator using Selenium IDE and it is not limited to using only Selenium IDE. Firebug with Firefox can be used for same while Chrome has built in development tool bar to test element locator. In case you don't know you can use $$("cssLocator") to test css locator and $x("xpathLocator") to test xPath in both FF and chrome to test application objects. Can you use QTP to test object locators in FF and Chrome?
  • Debugging code - So QTP comes in with built-in editor and Selenium is defeated in this aspect. Is it? Given the variety of languages Selenium can be used with, you have far greater language editor options with Selenium than with QTP.

Which testing role are you playing and why

Which category of software tester do you fall in?
  • Manual tester: who gets the requirements (or some times not), works along with development team when they are using non verbal languages (read - java, c#, php etc) and you are using most sophisticated language (read english) to jot down the same thing - client expectations.
  • Work delegation Engineer:  You assign work to fellow testers, question them when they miss deadline or defects, make sure they have enough work for entire week and probably more after heading home. Now you know which category you fall in.
  • Tool analysis and recommendation engineer: You job is to recommend tools for various situations. Tool could be as simple as xenu link checker or those zillions of automated UI testing and performance tools.
  • UI Automation test engineer: You automate most pressing use case scenarios so that you and you team could spend time in rational manual testing find valuable defects.
  • Time pass tester (aka Facebook tester)

Friday, January 20, 2012

An open billet doux to beloved manager

Dear manager,

I never imagined that I would ever write an open love letter to you but having worked with you for so long I am drowning in the sea of love and can not help but let the world know of my feelings for you. Since you like the bullet points I am following the same. (Sorry, could not do Microsoft excel for this. Please bear with me for not letting you create pivot table this time). Here I go -
  • Some time quick and dirty is good. We should have followed it in stand up meetings at least! Those meeting which soon became Sitting Meetings and later Sleeping Meeting.
  • Forcing me to find significant improvement areas in project every fortnight (sigh). Dear, if there were possibilities to do it so frequently then there must have been some thing badly wrong with project.
  • You wanted me to test 24/7. Your Keep Testing arguments are always roaming on my mind. And if that was not enough you asked me to write that stupid certificate. I wish I had done that as there are enough foolish companies which consider testing certificate no less than bible. And I would have broken the shackles of this relation.
  • You asked me for test status every half an hour. I understand your feelings for me but some times we need to be more patient with things.

Friday, January 6, 2012

Selenium 2 methods are no more Weird!!!

tl;dr A long post about using Selenium 1 sort syntax with Selenium 2/WebDriver.

I have seen automation teams suffering from verbosity of web driver way of writing code. One automation guy told me once that he does not want to use Selenium 2 on a brand new project because he finds its syntax utterly weird. But before discussing "Weirdness" of Selenium 2 syntax, let us agree on fact that teams migrating from pure manual testing to automation code find it more weird than ever. While selenium.type("elementLocator", "testData") looks simple to them. Using driver.findElement(By.xPath).sendKeys("testData") looks excessive coding to be able to perform same operation.
Herein I am illustrating the way to wrap Selenium 1 and Selenium 2/WebDriver methods. Don't consider this as the only way of wrapping, I am sure there are better solutions than this.

This is how Selenium1 code (Google again) goes. In the following example there are 5 basic entities -

  • SelTestCase class - which sets up test bed for Selenium
  • ActionDriver class - which carries out operations on page
  • Page element classes - which store element locators
  • Page object classes - which represents services offered by page and

Thursday, January 5, 2012

What ??? - "com.thoughtworks.selenium.SeleniumException: syntax error"

At times during development of Selenium tests you come across errors which don't give you any clue what so ever. One such error is -

com.thoughtworks.selenium.SeleniumException: syntax error
or -
missing ) after argument list

One such occurnce of this error is when you use waitForCondition method.
This is one awesome selenium method which saved you from using ugly sleep statements in your scripts. Having read it's API you might consider using it as -

waitForCondition("selenium.isElementPresent(//a[text()='Dashboard'])", "60000");

where first argument - selenium.isElementPresent(//a[text()='Dashboard']), is the condition you expect to be true. And second argument - 60000, is the max wait period till selenium would wait for condition to be true (You don't hard code time in your scripts, do you?).

Tuesday, January 3, 2012

Updating Sauce Labs dashboard with Selenium 2 test results


If you have not yet known of Sauce Labs, Sauce Labs specialises in executing Selenium tests on cloud. If you don't want to manage those umpteen configurations for executing your Selenium tests, then Sauce Labs is the answer. I am not going to explain executing your Selenium tests on Sauce Labs as there is enough documentation on Sauce Labs which already explains this. What I was stuck with is updating test results on Sauce Labs dashboard. Status "finished" does not indicate about success/failure of tests and you may probably not have time to see log/video of each and every finished tests.



I posted query to Sauce Labs and got to know about the Sauce Labs REST api. But things were still not very clear as I was not sure of on what basis I could update test results in Sauce Labs dashboard.
Fork me on GitHub