This blog comprises of learning to get started with Open source automation tools. Mentions best practices of Agile,Xtreme Programming Selenium In nutshell.
Favourite Quote
Friday, October 22, 2010
Get All link Names ... using xpath
package com.est.org;
import org.openqa.selenium.server.*;
import com.thoughtworks.selenium.*;
import com.thoughtworks.selenium.DefaultSelenium;
public class epcClient extends SeleneseTestCase
{
public static SeleniumServer selServer;
public static DefaultSelenium selenium = null;
final String browser = "*firefox";
final int MAX_TIME_TO_WAIT = 3000;
final int PORT = 4444;
final String URL = "http://abc.com/";
public void setUp() throws Exception
{
if(selServer == null)
{
try
{
RemoteControlConfiguration rc = new RemoteControlConfiguration();
rc.trustAllSSLCertificates();
selServer = new SeleniumServer(rc);
selServer.start();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
public void testWebservices()
{
selenium = new DefaultSelenium("localhost",PORT,browser,URL);
selenium.start();
selenium.open("/open");
pause(MAX_TIME_TO_WAIT);
selenium.windowFocus();
selenium.windowMaximize();
pause(MAX_TIME_TO_WAIT);
int count = selenium.getXpathCount("//a").intValue();
for(int i=1;i<=count;i++)
{
//Iterate the received links through getText
String getlink = selenium.getText("xpath=(//a)["+i+"]");
System.out.println("\n Here's the link that you have got !!! "+getlink);
selenium.click("link="+getlink);
pause(MAX_TIME_TO_WAIT);
selenium.click("//input[@type='radio'][5]");
pause(MAX_TIME_TO_WAIT);
selenium.click("//input[@name='Submit' and @value='submit']");
selenium.waitForPageToLoad("30000");
assertEquals(selenium.getTitle(),true);
selenium.open("/open");
pause(MAX_TIME_TO_WAIT);
selenium.windowFocus();
selenium.windowMaximize();
}
}
public void tearDown()
{
selenium.stop();
selServer.stop();
}
}
Friday, October 15, 2010
Continue ... Scrum
Starting Scrum
The first step in Scrum is for the Product Owner to articulate the product vision. Eventually,this evolves into a refined and prioritized list of features called the Product Backlog.
The subset of the Product Backlog that is intended for the current release is known as the Release Backlog, and in general, this portion is the primary focus of the Product Owner.
Scrum does not define techniques for expressing or prioritizing items in the Product Backlog and it does not define an estimation technique. A common technique is to estimate in terms of relative size (factoring in effort, complexity, and uncertainty) using a unit of “story points”
or simply “points”.
The Product Backlog items for the upcoming next several Sprints should be small and fine-grained enough that they are understood by the Team, enabling commitments made in the Sprint Planning meeting to be meaningful; this is called an “actionable” size.
Popular Agile Method - Scrum
Scrum is an iterative, incremental framework for projects and product or application
development. It structures development in cycles of work called Sprints. These iterations are no more than one month each, and take place one after the other without pause. The Sprints are timeboxed – they end on a specific date whether the work has been completed or not, and
are never extended.
Scrum Roles
In Scrum, there are three roles:
- The Product Owner
- The Team
- The ScrumMaster.
Together these are known as The Scrum Team.
The Product Owner is responsible :
For maximizing return on investment (ROI) by identifying product features, translating these into a prioritized list.
Deciding which should be at the top of the list for the next Sprint, and continually re-prioritizing and refining the list.
The Product Owner has profit and loss responsibility for the product, assuming it is a commercial product.
In case of an internal application, the Product Owner is not responsible for ROI in the sense of a commercial product (that will generate revenue), but they are still responsible for maximizing ROI in the sense of choosing – each Sprint – the highest-business-value lowest-cost items.
The Team builds the product that the Product Owner indicates
The Team in Scrum is “cross-functional” – it includes all the expertise necessary
to deliver the potentially shippable product each Sprint – and it is “self-organizing” (selfmanaging).
With a very high degree of autonomy and accountability. The Team decides what to
commit to, and how best to accomplish that commitment
The Team in Scrum is seven plus or minus two people, and for a software product the Team might include people with skills in analysis, development, testing, interface design, database design, architecture, documentation, and so on
The ScrumMaster helps the product group learn and apply Scrum to achieve business value.
The ScrumMaster does whatever is in their power to help the Team and Product Owner be
successful.
The ScrumMaster is not the manager of the Team or a project manager; instead, the
ScrumMaster serves the Team, protects them from outside interference, and educates and guides the Product Owner and the Team in the skillful use of Scrum.
In addition to these three roles, there are other contributors to the success of the product, including functional managers (for example, an engineering manager).
While their role changes in Scrum, they remain valuable. For example:
• they support the Team by respecting the rules and spirit of Scrum
• they help remove impediments that the Team and Product Owner identify
• they make their expertise and experience available