Wednesday, 31 July 2013

QTP :- Link to download Microsoft Script Debugger

QTP :- What is Objects Collection object, How do we refer to an item in objects collection, How do we send keyboard input?

Object Collection - It is a generic term and not a keyword. This is something like an array that holds a collection of objects.. So its an array of objects..
How do you refer to an item in it - Since this is an array, it will be accessed the same way you do for an array, i.e. bu using its index.

Example: Assume you have a page with 20 links where the link text and URL are dynamically loaded. Suppose you want always have to click the 7th link.. Code is as follows -
Set oDesc = Description.Create
oDesc("micclass").Value = "Link"
Set oAllLinks = Browser("").Page("").ChildObjects(oDesc)  'Here oAllLinks is the collection of Objects
'Click on 7th link
oAllLinks(6).Click     'Array index starts from 0. So index 6 is used

Sending Keyboard Input - This can be done using SendKeys command. Code is as follows -

Set WshShell = CreateObject(“WScript.Shell”)
WshShell.SendKeys "hp quicktest professional"

Wednesday, 24 July 2013

How to Do Performance Testing Estimation (Load Runner)

LR Script Creation: For a full script creation (which includes recording and customization), script creation may take from 3hr to a day or two. Time requirement mainly depends on:
  • complexity of the flow
  • values to be parameterized
  • frequency of dynaminc values that are to be customized.
I would recommend before start on script recording, test person should spend atleast 1-2 days in understanding the application and flow(s) that is/are to be recorded and executed, identifying test data requirements and workflow dependencies (any). (You may include this as part of test efforts estimation)

LR Script Execution: Execution efforts should include time to:
  • Create and setup of Test load scenarios (Average, peak load scenario, etc) as per requirements.
  • Set up test data (this test data is similar. However, quantity is different depending on testing time range)
  • Execute individual script on controller (directed to actual performance test environment) for small cycles to remove/fix run-time issues.
  • Execute average test load scenario / individual script for small cycles to remove/fix run-time issues before executing full range tests. This is very important to prevent unwanted issues during full range tests.
  • Test result analysis and reporting.
  • If scripts are using ‘destructive data’, include time for creation of test data between test cycles.

Also, few things to keep in mind:
  • Average or Normal Load Test execution cycle should be atleast 3 with 2-3 full range test executions within each cycle. Normally, Normal Load Test execution is 1 hr per test run.
  • Any performance issues / application issues observed should be fixed before start of next cycle.
  • Peak Load and other test load scenarios should be executed once Normal (Average) load test(s) gives positive results.
  • Scenario Run-time for Normal (Average) and Peak loads should be similar
  • Make sure, you have enough Vuser license to simulate load conditions, as per NFRs.

An Introduction of Mobile Testing Strategy

Product Vision: First of all it is very important to gauge and understand the vision related to the product/application under consideration. Some points to look at:

Who are the users/future users?
What platforms/OS’s are we targeting? Are we looking at only iOS users (What versions?), Android (What versions?)
QA Budget: Is it fixed or flexible?
Simulators Vs. RDA’s: Based on the above factors I would look at options of using Actual Device/Simulators/RDA’s.

If the horizon of platforms/OS’s is limited then I would look at my budget and most likely would opt for actual devices for testing.
Simulators always play big role when there are no mobile devices available for testing. Though Device testing is always preferred as it represents more likely end user scenarios, the importance of simulators cannot be ignored. In order to have effective testing over Simulator, It is recommended to explore all the capabilities of Simulator. Eg. Ipadian is a simulator for Ipad.
If you feel the breadth of mobile devices is large then you may opt for Remote Device Access Services; Due to a large number of devices available in the market, it is not feasible to buy a new device every time. At the same time Simulators are not completely reliable enough to launch a mobile app based on testing conducted only on simulators. RDA (Remote device services) can be a good solution to deal with these challenges. The remote device access services enable access to a live device over the Internet.

Some Available RDA Services are:
  • Device Anywhere (Paid)
  • Perfecto Mobile (Paid)
  • Nokia RDA (Free, For Symbian Phones)

Advantages of RDA:
  • You don’t need to purchase actual device.
  • User can select different Carriers e.g. Verizon, T-Mobile, AT & T.
  • RDAs are more reliable than simulators as they are real devices.
  • Some RDA Service like Device Anywhere also has automation capabilities.

Disadvantages of RDA:
  • Since you access devices remotely it takes time for any action or key event.
  • Sometimes the needed device is not available due to prior reservations.
  • Higher Service Cost

What is Retesting

  1. It is testing the fixed bug ONLY. This happens while closing resolved bug.
  2. Retesting is done to validate for the particular fix in a build means just execute “STEPS TO REPRODUCED” and find that bug is fix or not.
  3. Conducting testing on same application with same kind of inputs again and again is called re-testing.

What Types of License is Available for QTP

There are two type of licenses available for QTP
Seat License: It is a machine locked license. This license can be used only for a machine it was generated.
Floating License: It can be used on any machine which has network access to the floating license server. At any point in time the machines using the QTP license cannot exceed maximum license count on the server.

What is HP QuickTest Professional or QTP

HP QuickTest Professional is a solution for functional test and regression test automation. This next-generation automated testing solution deploys the concept of keyword-driven testing to enhance test creation and maintenance. Keyword-driven testing is a technique that separates much of the programming work from the actual test steps so that the test steps can be developed earlier and can often be maintained with only minor updates, even when there are significant changes in your application or your testing needs.


Using the keyword-driven approach, test automation experts have full access to the underlying test and object properties, via an integrated scripting and debugging environment that is round-trip synchronized with the Keyword View.

QuickTest Professional meets the needs of both technical and non-technical users. It works hand-in-hand with HP Business Process Testing to bring non-technical subject matter experts into the quality process in a meaningful way. Plus, it empowers the entire testing team to create sophisticated test suites.

Tuesday, 23 July 2013

PowerDebug 2.10 – Now a FREE Add-on Debugger for QTP


PowerDebug is a add-on debugger for QuickTest Professional. PowerDebug takes over the QTP debugging IDE and provides a new enhanced with many new features that QTP IDE doesn’t have. Below is the list of features
  1. Debug code loaded using statements ExecuteFile, Execute and ExecuteGlobal
  2. Enhanced error messages with complete stack trace of the error
  3. Pause execution using Assertion points
  4. Enhanced command window with option to execute multiple line command
  5. Enhanced output window with option to save the log to file
  6. Implement Goto statements in code
  7. Jump to any code statement during debugging
  8. Accessing current scope information like FunctionName, Caller function and stack trace

Difference Between Close() and Quit() in Selenium WebDriver

Close() closes the current active browser window.
Quit() closes all browser windows open on desktop.
If only one browser window is open, close() & quit() function works in same way.

How to Do Mouse Right Click Action Through Code

Browser(”Browser”).Page(”Page”).WebTable(”table”).FireEvent “onclick”,,,micRightBtn ‘Right clicking on the object

How to Select Option from Popup After Mouse Rightclick

Code is as follows -

Browser(”Browser”).Page(”Page”).WebTable(”table”).FireEvent “onclick”,,,micRightBtn ‘Right click on the webtable

Set myShell = CreateObject(”WScript.Shell”) ‘create instance of Shell Object

myMenu = 5 ‘Option number from floating menu

For i = 1 To myMenu

        WshShell.sendkeys “{DOWN}” ‘Navigate to the menu item
Next

WshShell.sendkeys “{ENTER}”


Set myShell = nothing

Monday, 22 July 2013

Selenium :- What is the difference between get() and navigate() methods


get("http://www.google.com") -  navigate to a Web page. WebDriver will wait until the page has fully loaded (that is, the onload event has fired) before returning control to your test or script. It’s worth noting that if your page uses a lot of AJAX on load then WebDriver may not know when it has completely loaded. 

Navigation().to("http://www.google.com") : It also navigate to a web page.

Conclusion :- navigate().to() and get() do exactly the same thing. One's just a lot easier to type than the other. The navigate interface also provides the ability to move backwards and forwards in your browser’s history:

  1.     driver.navigate().forward();
  2.     driver.navigate().back();


QTP - Click on Menu Operation

For example menu is File -> New -> Blank if it is a VB application then
VbWindow(”WindowName”).WinMenu(”MenuName”).Select “File;New;Blank”

If it is a web application then
browser(”brows1”).page(“page1”).webmenu(“menu1”).Select “File;New;Blank”

Code to Find Email on Basis of Subject & then Open Email

rows = Browser(”name:=Gmail – Inbox”).page(”title:=Gmail – Inbox”).webtable(”html tag:=TABLE”,”name:=t”).GetROProperty(”rows”)

  For i=0 to rows
 set op=Browser(”name:=Gmail – Inbox”).Page(”title:=Gmail – Inbox”).webtable(”html tag:=TABLE”,”name:=t”).childobjects(objects)
 
   op(i).Click
 
   Exit For

 End if
  Next

  
    a = Browser(”name:=Gmail – Inbox”).page(”title:=Gmail – Inbox”).webtable(”html tag:=TABLE”,”name:=t”).GetCellData(i,2)
  
    print(a)
  If a =”xyz” Then

      Set objects=Description.Create
 objects(”html tag”).value=”A”
      
 objects(”name”).value=”t”





Overview of Selenium IDE Plug-in

Selenium IDE Plug-in which I have recently seen and used it.
Screenshot on Fail Plug-In: This plug-in for Selenium-IDE automatically takes a screen-shot when a command fails while running the test suite. So you have the screenshot of the page where your test script is getting failed.
Page Coverage Plug-In: This plug-in for Selenium-IDE generates page coverage reports highlighting areas of a web page touched by the Selenese test cases / test suites.
Test Results Plug-In: This plug-in for Selenium-IDE saves the results of the test execution for the test suite and included test cases with a single click. It also allows you to export the test results for individual test cases
Highlight Elements Plug-In: This plug-in for Selenium-IDE highlights elements specified in the Selenese commands on the web page as the test case is executed. Once this plug-in is installed, a Highlight elements button will be available on the Selenium-IDE main window and Sidebar

Selenium : How to Check That Button is Enabled

Use the WebElement#getAttribute() method to query the “disabled” attribute on the element, like this in Java:
                             element.getAttribute(”disabled”)
Since getAttribute() returns a String object, you can encapsulate that using Boolean.parseBoolean() to get a boolean value: Another solution is using isEnabled() method
                             WebElement.isEnabled() – Returns True if button is enabled else False.

Performance Testing Tool Comparison

LoadRunner/JMeter can be good options.

LoadRunner:
Advantages:
  • Industry standard performance testing tool, provides quick performance feedback
  • You can reliably scale up to thousands of users and get accurate results
  • Specifically for web services, the response XML can be analysed and a good level of functional validation of response XMLs can be performed
Disadvantage:
  • Licensing is costly.
JMeter:
      Advantages:
  • Open Source
Disadvantages:
  • Results, reports from JMeter are not comparable with the same obtained from LoadRunner.

QTP : Search & Click on a Image Using Descriptive Programming

Code is as follows -

Set IMGCollection = Browser().Browser().Object.getElementsByTagName(”IMG”)
TotalIMGCount = ImageCollection.length
     For i = 0 to (TotalIMGCount -1)
         If IMGCollection(i).src = “https://www…abc.png” Then
                  IMGCollection(i).click
                  Exit For
          End If
      Next

HP QTP :- Read the Text from Picture Pasted in Powerpoint

Code to read text from picture from power point slide – 
msgbox Window(”***”).Window(”***”).WinObject(”***”).GetVisibleText
Note - Make sure Single Text Block mode is enabled, Go to [Tools > Options > Text Recognition > Multiple Text Block Mode] & select [Single Text Block Mode]

What is the Step to Export Defects from JIRA to QC

  1. Extract of all the JIRA defects you want to move.
  2. Modify the fields according to that in QC (For example : In JIRA, the defect severity is bifurcated by digits-1,2,3,4. However, In QC you need to have it like 1-Critical, 2-High, 3- Medium, 4-Low .) Thereafter, you just need use the QCMSExcelAddin to do one-to-one mapping of each excel spreadsheet column to the desired field in QC (For example if Column A of the spreadsheet has the defect summary then it needs to be mapped to the defect description field of the QC ).   Or

     there is also a low-cost Plug-in tool (JaM Plug-in) that can be implemented to replicate defects between QC
     and Jira. You have to install and can configure on what conditions Jira defects should be replicated to QC to 
     make it as an automated process. You don’t need to manually export/import defects.

How to Qualify Quality Center Certification

HP Quality Center latest version of certification is 10. A certification cost is 3300 INR. Regarding test center, go to any Pro-metric Center from, register yourself & appear in Online exam.

Apple IOS Simulator As Firefox Add in (No Need of Installer)

  • Install Firefox extension User Agent Switcher 0.7.3
  • Save the attached XML on your Desktop.
  • Click on Tools -> Default User Agent -> Edit User Agent
  • Click Import and open the attached XML from your Desktop.
  • Click OK
  • Open a new tab and go to path [Help -> Mobile Devices -> OS] & Select iOS and Select a version or Select a Device for the specific issue
Note – UI issues can be identified however cannot be completely confirmed using this simulator, however the tool is handy in finding the related functional issues.
Can also use iPhone tester (http://www.iphonetester.com/) in safari browser, this is online simulator no need to download.

Friday, 19 July 2013

Selenium WebDriver : Implementing Hover Using Mouse

Code for hover using mouse is as follows -
public static void mouseOverOnElement(WebElement tagElement)
{
  try
     {
                System.out.println(”mouseOverOnElement Starts ->”);
                Actions builder=new Actions(driver);
                Point coordinate=tagElement.getLocation();
                Robot robot=new Robot();
                builder.moveToElement(tagElement, 5,5).build().perform();
                builder.moveByOffset(1, 1).build().perform();
                robot.mouseMove(coordinate.getX()+15,coordinate.getY()+104);
                Thread.sleep(3000);
                System.out.println(”mouseOverOnElement Ends ->”);
      }
     catch(Exception e) { }
}

QTP 10 Supports Windows 7

HP announced the support for Windows 7 and Windows Server 2008 R2 for QTP10. (Though there is no such information about the versions of QTP prior to 10.0) You would need to download this patch (requires HP support login credential)

Selenium IDE - Run script on Internet Explorer, Chrome , htmlunit, iPhone , Opera

Steps to run script on Internet Explorer browser using Selenium IDE
  1. Install Selenium IDE 2.0 or higher version add-in on your machine.
  2. Launch Firefox browser & Go to Tools -> Selenium IDE or Pres Crtl+ Alt + S on keyboard
  3. Click on Options -> Options -> WebDriver
  4. Click checkbox "Enable WebDriver Playback"
  5. Enter value "internet explorer" in Input box
  6. Click on Ok button
  7. Run command prompt
  8. Go to folder where selenium server.jar is stored
  9. Run command java -jar selenium-server-standalone-2.25.0.jar
  10. Go back to Selenium IDE & click on run button
Note - Selenium IDE supports android, chrome, firefox, htmlunit, internet explorer, iPhone, iPad, opera. There are few limitation -
  1. Test may not pause or exit on errors.
  2. Executing a single command is not yet supported.
  3. Highlighting a locator using the Find button may not work.
  4. Screenshots may not work.
  5. User extensions and plugins may not work.

History Of Selenium

In 2004, an engineer with ThoughWorks, Jason Huggins developed a JavaScript library that could drive interactions with the page, allowing him to automatically rerun tests against multiple browsers. Later on this library eventually became Selenium Core, which underlies all the functionality of Selenium Remote Control (RC) and Selenium IDE. Selenium was ground-breaking because no other product allows to control a browser from a language of your choice.
In 2006 an engineer named Simon Stewart at Google started work on a project WebDriver. Objective was to build a testing tool that spoke directly to the browser using the ‘native’ method for the browser and operating system, thus avoiding the restrictions of a sandboxed JavaScript environment.
In 20011, Selenium and WebDriver was merged, a product named – Selenium 2 or Selenium WebDriver was released. Selenium 2 has clean and object-oriented APIs from WebDriver and interacts with browsers using their native method. Selenium 2 does not use a JavaScript sandbox, and it supports a wide range of browsers and multiple language bindings.
WebDriver uses browser-native control mechanisms to execute its tests, rather than relying solely on JavaScript, as Selenium does. WebDriver manifests as an extension in Firefox and uses the Internet Explorer automation controls, resulting in a more versatile testing tool than Selenium.

How To Take A Screenshot

#SeleniumWebDriver  #TakeScreenshot #TheBuddhaTree

The Problem
When we do nightly test execution, we need historical evidence to analyze & debug script failure. Sometime, it can be challenging to track down the issue that caused a failure using failure message along with stack trace. Especially when you run the test again and it passes.

A Solution
A simple way to gain insight into your test failures is to capture screenshots of AUT at the moment of failure and add the screenshots into test execution result. 

How to Implement using Selenium
Selenium WebDriver provides the TakesScreenshot interface for capturing a screenshot of a web page. This helps in test runs, showing exactly what happened when an exception or error occurred during execution, and so on.


TakesScreenshot interface provides the getScreenshotAs() method to capture a screenshot of the page displayed in the driver instance.  Example code is as follows –


import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;

public class TakeScreenshotOfApplication {
                WebDriver driver;

    @Test
       public void compareTitle() {
              driver = new FirefoxDriver();

              driver.get("http://google.co.in");

            // compare title & take screenshot of application if it fails
       if (driver.getTitle().contains("facebook")) {
                 System.out.println("Title matched!!");
       } else {
                 System.out.println("Title did not match");
                 takeScreenshotMethod();
            }
        }

        private void takeScreenshotMethod() {
             // code to take screen shot of browser
            File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);

             // file name where image to be saved
             String screenshotpath = "C:\\google.png";
               try {
                       // save image to drive
                        FileUtils.copyFile(scrFile, new File(screenshotpath));
               } catch (IOException e) {
                       e.printStackTrace();
              }
          }

}

Expected Behavior
  1. Load the URL
  2. Take Screenshot
  3. Save Screenshot Image to local drive
Happy Learning

Selenium : Input and Output Values From/to Excel

1. Input and output values from/to excel.
Use the apache POI API to connect and manipulate excel : – http://poi.apache.org/apidocs/index.html

Selenium Tool Suite - A Brief Introduction

Selenium suite is comprised of multiple software components, they are as follows -
Selenium 2 or Selenium WebDriver – It is a product of merger between Selenium & WebDriver. It supports the WebDriver API, along with the Selenium 1 technology. WebDriver is a tool for writing automated tests of web based applications. It aims to emulate the behavior of a real user, and as such interacts with the HTML of the application. It provides object oriented support & WebDriver API. This is latest/ newest addition in Selenium family.
Selenium 1 or Selenium RC or Remote Control – It allows to write automated web application UI tests in any programming language (Java, JavaScript, Ruby, PHP, Python, Perl and C#) against any HTTP website using any mainstream JavaScript-enabled browser. It comes in two parts.
  1. A server which automatically launches and kills browsers, and acts as a HTTP proxy for web requests from them.
  2. Client libraries for your favorite computer language.

It is suitable for testing complex AJAX-based web user. It is also an ideal solution for users of Selenium IDE who want to write tests in a more expressive programming language than the Selenese HTML table format.
Selenium IDE – Selenium IDE (Integrated Development Environment) is a rapid prototyping tool for building test scripts. It is a Firefox plugin and provides an easy-to-use interface for developing automated tests. Selenium IDE has a recording feature, which records user actions as they are performed and then exports them as a reusable script in one of many programming languages that can be later executed.
It is not designed to run your test passes nor is it designed to build all the automated tests you will need. It doesn’t provide iteration or conditional statements. It is recommended that for scalable & robust test automation use Selenium 2 or Selenium RC.
Selenium-Grid – Selenium-Grid facilitates to run test suites in multiple environments simultaneously. It allows executing tests in parallel, that is, same or different tests can be run at the same time on different remote machines. It benefits in following ways –
  1. Suppose there is a large test suite, or a slow-running test suite, you can boost its performance substantially by using Selenium Grid to divide your test suite to run different tests at the same time using different machines.
  2. Suppose requirement is to run test suite on multiple environments, you can have different remote machines supporting and running your tests in them at the same time.

In both situations, Selenium Grid reduces execution time.

QTP 11 Support for Google Chrome Browser

Download and install the patch QTPWEB_00088.EXE available at HP’s support site.
Some important points to note:
  1. This patch only provides replay support and not record support on Google Chrome.
  2. It won’t support multiple tabs or multiple browsers in Google Chrome as available on Firefox/IE
  3. These web environment are not supported yet. SAP Web, Siebel, Java,.NET WebForms. Web Extensibility based test objects won’t work either.
  4. These methods are not supported on Google Chrome

                  a) Browser.Home
                  b) Browser.FullScreen
                  c) Browser.ClearCache
                  d) Browser.Object

QTP 9.2 Support for on IE – 8 and IE-9

The only way to get QTP 9.2 to work with IE8 is to turn off “Active X” plugin. (taken that your script does not need “Active X”). Otherwise QTP 10 and above supports Win 7 and IE8.
Try it out. Create a simple test like opening IE8 but without “Active X” plug in, and you will see that it opens IE8 perfectly. Now do the same but with “Active X” plug in, you will see the crash.
Set objIE = CreateObject(”InternetExplorer.Application”)
objIE.Visible = True
objIE.Navigate2 http://www.google.com/

Introduction to Selenium

Selenium is an open-source cross-browser test automation tool which support automation of web application. It is an extremely powerful tool for running end-to-end functional tests. It provides feature for locating UI elements and comparing expected test results against actual application behavior. It allows writing tests in several programming language & supports for executing test script on multiple browser platforms. It is implemented entirely with browser technology (JavaScript, DHTML, Frames). It identifies objects by looking at the DOM.

Thursday, 18 July 2013

How to Choose the Right Selenium Tool for Your Need

If you are a new user or don’t have knowledge of programming/scripting language or have to do proof of concept (POC or Demo), it is suggested to start with Selenium IDE. Using the IDE you can create simple tests quickly. Selenium IDE record & playback UI, is useful in getting familiarity with selenium commands, in training new resources and creating sample automation script.
To build a functional/regression automation suite, use Selenium WebDriver in conjunction with one of the supported programming languages (like Java, Perl, C# etc).

Selenium WebDriver : How to Handle JavaScript Alerts and Prompts

Selenium 2 provides Alerts API, to work on pop & alert window –
// Get a handle to the open alert, prompt or confirmation
Alert alert = driver.switchTo().alert();
// Get the text of the alert or prompt
alert.getText();
// And acknowledge the alert (equivalent to clicking “OK”)

Wednesday, 17 July 2013

QTP - How to skip the Errors/Warning in the Test Results

User can use Reporter object in QTP to skip the Errors/Warning - Just before statement put this code

                 Reporter.Filter = Desired Mode

'Desired mode' is what you expect reporter Object to do. In your case 1 (rfEnableErrorsOnly) would do.

0 or rfEnableAll: This is the default mode. All reported events are displayed in the Test Results.

1 or rfEnableErrorsAndWarnings: Only those events with a warning or fail status are displayed in the Test Results.

2 or rfEnableErrorsOnly: Only those events with a fail status are displayed in the Test Results.

3 or rfDisableAll: All events in the Test Results are disabled.

Tuesday, 16 July 2013

QTP 11 Support for Firefox Browser

Firefox Versions QTP 11 Patches Download Link
Version 3.6 QTPWEB_00063
Version 4, 5, 6, 7, 8 QTPWEB_00090
Version 9, 10, 11 QTPWEB_00092
Version 12 QTPWEB_00100
Version 13, 14 QTPWEB_00105
Version 15 QTPWEB_00112
Once you install any of the patches above, ensure that Firefox add-in for QTP 11 is installed and enabled under Tools -> Addons.

Monday, 15 July 2013

Tool That Hits Site from Different Country IP

“pingdom.com” is an online tool which is a website monitoring tool for hitting sites from different country servers. You will also receive Performance/Response time reports at your registered e-mail ID (weekly, Daily, Monthly as selected).


Another tool is http://www.monitor.us/ which is also used for Tracking website availability and performance from different locations in major countries and traffic destinations. Just give it a try.
Above said two tools are useful in situation when you are implementing IP filtering on your site, where you are redirecting global site to local country site

Selenium WebDriver : How to Maximize a Window

Code is as follows –
driver.manage().window().maximize();
Note – driver variable contains reference of browser object

Friday, 12 July 2013

How to handle firefox download pop up in Selenium Webdriver

Go to Firefox -> Options -> Applications and in this, search for that type of application for example "Microsoft Excel" and change associated Action type to from "Ask " to "Save File"


Firefox will not ask for download prompt.

What is Quick Test Professional Step Generator

The Step Generator box enables you to add steps that perform operations, using test object methods (for tests only), Utility object methods, or function calls. 

Go to Insert -> Step Generator or Press F7 on keyboard to enable Step Generator dialog box.

Thursday, 11 July 2013

Does Selenium WebDriver Support Multiple Instances of the WebDriver Sub-classes

Each instance of an HtmlUnitDriver, ChromeDriver and FirefoxDriver is completely independent of every other instance. In the case of Firefox and chrome, each instance has its own anonymous profile it uses. There is a limitation with InternetExplorerDriver, at a time it could have only single instance at one time. You can use RemoteWebDriver and virtual machines if you want to create more than one instance of InternetExplorerDriver.

Pros and Cons of Using Selenium Web Driver

Pros
  1. Allows for the WebDriver and Selenium APIs to live side-by-side
  2. Provides a simple mechanism for a managed migration from the Selenium RC API to WebDriver’s
  3. Does not require the standalone Selenium RC server to be run
Cons
  1. Does not implement every method
  2. More advanced Selenium usage (using “browserbot” or other built-in JavaScript methods from Selenium Core) may not work
  3. Some methods may be slower due to underlying implementation differences.

Wednesday, 10 July 2013

Selenium :- How to Open Chrome Browser

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class chrome1 {
 public static void main(String[] args)
 {
  System.setProperty("webdriver.chrome.driver","D:\\Chrome\\chromedriver.exe"); //path of     
  chromeDriver.exe file

  WebDriver driver = new ChromeDriver();

  driver.get(" http://yahoo.com ");
 }
}