Pages

Men

rh

7/16/2012

Interview Questions on QTP Part-2

How to export data present in Datatable to an ".xls" file?
DataTable.Export  "....xls file name..."

Syntact for how to call one script from another? and Syntax to call one "Action" in another?
RunAction ActionName, [IterationMode , IterationRange , Parameters]

Here the actions becomes reusable on making this call to any Action.

IterationRange  String  Not always required. Indicates the rows for which action iterations will be performed. Valid only when the IterationMode is rngIterations. Enter the row range 
(i.e. "1-7"), or enter rngAll to run iterations on all rows. 

If the action called by the RunAction statement includes an ExitAction statement, the RunAction statement can return the value of the ExitAction's RetVal argument.

How to export QTP results to an ".xls" file?
By default it creates an "XML" file and displays the results

3 differences between QTP & Winrunner?

            (a) QTP is object bases Scripting ( VBS) where Winrunner is TSL (C based)
                  Scripting. 
            (b) QTP supports ".NET" application Automation not available in Winrunner
            (c) QTP has "Active Screen" support which captures the application, not available in
                  WR.
            (d) QTP has "Data Table" to store script values , variables which WR does not
                   have.
            (e) Using a  “point and click” capability you can easily interface with objects, their
                 definitions and create checkpoints after having recorded a script – without having
                 to navigate back to that location in your application like you have to with
                WinRunner. This greatly speeds up script development.           
How to add a runtime parameter to a datasheet?

DataTable.LocalSheet
The following example uses the LocalSheet property to return the local sheet of  the run-time Data Table in order to add a parameter (column) to it.

 MyParam=DataTable.LocalSheet.AddParameter("Time", "5:45")

What scripting language is QTP of?
Vbs

Analyzing the Checpoint results
Standard Checpoint :By adding standard checkpoints to your tests or components, you can compare the expected values of object properties to the object's current values during a run session. If the results do not match, the checkpoint fails.

Table and DB Checkpoints:
By adding table checkpoints to your tests or components, you can check that a specified value is displayed in a cell in a table on your application. By adding database checkpoints to your tests or components, you can check the contents of databases accessed by your application.

The results displayed for table and database checkpoints are similar. When you run your test or component, QuickTest compares the expected results of the checkpoint to the actual results of the run session. If the results do not match, the checkpoint fails.
You can check that a specified value is displayed in a cell in a table by adding a table  checkpoint to your test or component. For ActiveX tables, you can also check the properties of the table object. To add a table checkpoint, you use the Checkpoint Properties dialog box.

Table checkpoints are supported for Web and ActiveX applications, as well as for a variety of external add-in environments

You can use database checkpoints in your test or component to check databases accessed by your Web site or application and to detect defects. You define a query on your database, and then you create a database checkpoint that checks the results of the query.
          
  Database checkpoints are supported for all environments supported by QuickTest, by default, as well as for a variety of external add-in environments.

There are two ways to define a database query:
(a) Use Microsoft Query. You can install Microsoft Query from the custom installation of Microsoft
      Office.
(b) Manually define an SQL statement.
    The Checkpoint timeout option is available only when creating a table checkpoint. It is not available when creating a database checkpoint

Checking Bitmaps:
You can check an area of a Web page or application as a bitmap. While creating a test or component, you specify the area you want to check by selecting an object. You can check an entire object or any area within an object. QuickTest captures the specified object as a bitmap, and inserts a checkpoint in the test or component. You can also choose to save only the selected area of the object with your test or component in order to save disk space.

            When you run the test or component, QuickTest compares the object or selected area of the object currently displayed on the Web page or application with the bitmap stored when the test or component was recorded. If there are differences, QuickTest captures a bitmap of the actual object and displays it with the expected bitmap in the details portion of the Test Results window. By comparing the two bitmaps (expected and actual), you can identify the nature of the discrepancy. For more information on test results of a checkpoint, see Viewing Checkpoint Results.

            For example, suppose you have a Web site that can display a map of a city the user specifies. The map has control keys for zooming. You can record the new map that is displayed after one click on the control key that zooms in the map. Using the bitmap checkpoint, you can check that the map zooms in correctly.
            You can create bitmap checkpoints for all supported testing environments (as long as the appropriate add-ins are loaded).
            Note: The results of bitmap checkpoints may be affected by factors such as operating system, screen resolution, and color settings.

Text/Text Area Checkpoint :
In the Text/Text Area Checkpoint Properties dialog box, you can specify the text to be checked as well as which text is displayed before and after the checked text. These configuration options are particularly helpful when the text string you want to check appears several times or when it could change in a predictable way during run sessions. 

In Windows-based environments, if there is more than one line of text selected, the Checkpoint Summary pane displays [complex value] instead of the selected text string. You can then click Configure to view and manipulate the actual selected text for the checkpoint. 

QuickTest automatically displays the Checked Text in red and the text before and after the Checked Text in blue. For text area checkpoints, only the text string captured from the defined area is displayed (Text Before and Text After are not displayed). 

To designate parts of the captured string as Checked Text and other parts as Text Before and Text After, click the Configure button. The Configure Text Selection dialog box opens

Checking XML :
XML (Extensible Markup Language) is a meta-markup language for text documents that is endorsed as a standard by the W3C. XML makes the complex data structures portable between different computer environments/operating systems and programming languages, facilitating the sharing of data. 

XML files contain text with simple tags that describe the data within an XML document. These tags describe the data content, but not the presentation of the data. Applications that display an XML document or file use either Cascading Style Sheets (CSS) or XSL Formatting Objects (XSL-FO) to present the data. 

You can verify the data content of XML files by inserting XML checkpoints. A few common uses of XML checkpoints are described below: 

An XML file can be a static data file that is accessed in order to retrieve commonly used data for which a quick response time is needed—for example, country names, zip codes, or area codes. Although this data can change over time, it is normally quite static. You can use an XML file checkpoint to validate that the data has not changed from one application release to another.

An XML file can consist of elements with attributes and values (character data). There is a parent and child relationship between the elements, and elements can have attributes associated with them. If any part of this structure (including data) changes, your application's ability to process the XML file may be affected. Using an XML checkpoint, you can check the content of an element to make sure that its tags, attributes, and values have not changed. 

XML files are often an intermediary that retrieves dynamically changing data from one system. The data is then accessed by another system using Document Type Definitions (DTD), enabling the accessing system to read and display the information in the file. You can use an XML checkpoint and parameterize the captured data values in order to check an XML document or file whose data changes in a predictable way.

XML documents and files often need a well-defined structure in order to be portable across platforms and development systems. One way to accomplish this is by developing an XML schema, which describes the structure of the XML elements and data types. You can use schema validation to check that each item of content in an XML file adheres to the schema description of the element in which the content is to be placed.

Object Repositories types, Which & when to use?
 Deciding Which Object Repository Mode to Choose
To choose the default object repository mode and the appropriate object repository mode for each test, you need to understand the differences between the two modes.

In general, the object repository per-action mode is easiest to use when you are creating simple record and run tests, especially under the following conditions:
  
You have only one, or very few, tests that correspond to a given application, interface, or set of objects.
 You do not expect to frequently modify test object properties.
 You generally create single-action tests.

Conversely, the shared object repository mode is generally the preferred mode when:
You have several tests that test elements of the same application, interface, or set of objects.
You expect the object properties in your application to change from time to time and/or you regularly need to update or modify test object properties.
You often work with multi-action tests and regularly use the Insert Copy of Action and Insert Call to Action options.

Can we Script any test case with out having Object repository? or Using Object Repository is a must?
No. U can script with out Object repository by knowing the Window Handlers, spying and recognizing the objects logical names and properties available.

How to execute a WinRunner Script in QTP?
 TSLTest.RunTest TestPath, TestSet [, Parameters ] --> Used in QTP 6.0 used for
backward compatibility

Parameters : The test set within Quality Center, in which test runs are stored. Note
that this argument is relevant only when working with a test in a Quality Center
project. When the test is not saved in Quality Center, this parameter is ignored.

               e.g : TSLTest.RunTest "D:\test1", ""

            (b)       
            TSLTest.RunTestEx TestPath, RunMinimized, CloseApp [, Parameters ]
           
            TSLTest.RunTestEx "C:\WinRunner\Tests\basic_flight", TRUE, FALSE, "MyValue"

            CloseApp : Indicates whether to close the WinRunner application when the WinRunner test run ends.
            Parameters : Up to 15 WinRunner function argument
           

How to handle Run-time errors?
 On Error Resume Next : causes execution to continue with the statement immediately following the statement that caused the run-time error, or with the statement immediately following the most recent call out of the procedure containing the On Error Resume Next statement. This allows execution to continue despite a run-time error. You can then build the error-handling routine inline within the procedure.
            Using "Err" object msgbox  "Error no: " & "  " & Err.Number & "      " & Err.description & "  " & Err.Source & Err.HelpContext

How to change the run-time value of a property for an object?
SetTOProperty changes the property values used to identify an object during the test run. Only properties that are included in the test object description can be set

How to retrieve the property of an object?
 using "GetRoProperty".

How to open any application during Scripting?
SystemUtil , object used to open and close applications and processes during a run session.
 (a) A SystemUtil.Run statement is automatically added to your test when you run an application from the Start menu or the Run dialog box while recording a test
           
Ex :  SystemUtil.Run "Notepad.exe"
         SystemUtil.CloseDescendentProcesses ( Closes all the processes opened by QTP )

Types of properties that Quick Test learns while recording?
(a) Mandatory (b) Assistive . 
 In addition to recording the mandatory and assistive properties specified in the Object Identification dialog box, QuickTest can also record a backup ordinal identifier for each test object. The ordinal identifier assigns the object a numerical value that indicates its order relative to other objects with an otherwise identical description (objects that have the same values for all properties specified in the mandatory and assistive property lists). This ordered value enables QuickTest to create a unique description when the mandatory and assistive properties are not sufficient to do so.

What is the extension of script and object repository files?
 Object Repository : .tsr   ,  Script :  .mts, Excel : Default.xls

How to supress warnings from the "Test results page"?
 From the Test results Viewer "Tools > Filters > Warnings"...must be "Unchecked".

When we try to use test run option "Run from Step", the browser is not launching automatically why?
This is default behaviour.

Does QTP is "Unicode" compatible?
 QTP 6.5 is not but QTP 8.0 is expected to be Unicode compatabile by end of December 2004.

How to "Turn Off" QTP results after running a Script?
Goto "Tools > Options > Run Tab" and Deselect "View results when run session ends". But this supresses only the result window, but a og will be created and can viewed manulaly which cannot be restricted from getting created.

How to verify the Cursor focus of a certain field?
 Use "focus" property of "GetRoProperty" method.

No comments :

Post a Comment