Wednesday, April 7, 2010

Interview Questions Part 5


Q. What are test objects?
Test objects are objects created and maintained by QTP in its object repository. Each test objecthas a name and a set of properties to uniquely identify the actual object in the application.
 
Q. how does QTP identifies the objects during the script run?
During script run QuickTest searches for a run-time object that has the similar description of thetest object in the object repository.
 
Q. How can i check the properties of an object in an application without using checkpoints? For Example how will you check whether a button is enabled?
Answer: GetROProperty method is used to retrieve the properties of the object in an application.It is very useful method and can be used to retrieve almost any of the property that can be seenwhile spying the object with object spy. For Example‘To get whether button is enabled or not.
Val = Browser("QA Friends").Page("QA Friends"). WebButton("Login"). GetROProperty("disabled")
‘To get whether a checkbox is on or off.
Val =Browser("QA Friends").Page("QA Friends").WebCheckBox("Test").GetROProperty("Value")
 
Q. How can I modify the properties values of test objects in Object Repository during runtime?
A. You can use SetTOProperty method of test object.Object(description).SetTOProperty Property, ValueThe values of test object properties are used to identify the objects. Sometimes the properties ofthe object in the application change dynamically. For example text of a link in a webpage is theusername used to login to that page.Text property is used by test object to identify the link. So in order to identify the actual object wecan manipulate the value of “text” property of link using SetTOProperty.
 
Q. How do you synchronize your scripts in QTP?
A. For waiting until navigation of web page completes we can use Sync method. For waiting until an object appears we can use Exist method. For waiting until a property of object changes we can use WaitProperty method. You can set browser navigation timeout in: Click Test > Settings menuSelect web tab in Test Settings window. Enter the timeout in Browser Navigation Timeout text box. You can set global object sychrozization timeout in: Click Test > Settings menu Select Run tab in Test Settings window. Enter the timeout in Object Synchronization Timeout text box.
 
Q Where can you write user defined functions that are accessible by all scripts?
A. We can write user defined function in .vbs file. This file can be loaded by adding the file asfollows: Click Test > Settings menuSelect Resources tab in Test Settings window and add the file. Alternatively you can also load the file through script usingExecuteFile “absolute or relative path of file” For Example: ExecuteFile “C:\Test.vbs”

Q What are regular expressions?
A. Regular expressions used for identifying objects and text strings with varying values. You can use regular expressions for defining the property values of an object, creating checkpoints with varying values etc. Example: For example if the caption on the button in an application changes dynamically and can be anything which starts with “Hello” (It can be Hello XYZ, Hello AB13 and so on) You can go object repository and change the value of name property of the button object to” Hello.*”Here “.” means any single character and “*” means 0 or more occurrences of preceding character. So.* means 0 or more occurrences of any character. There are many other regular expression characters: For Example: Regular expression test[0-9] matches test0, test1, test2…… to test9.Regular expression abc[789] matches abc7, abc8, abc9Q. Different ways to parameterize tests? A. Test, action or component parameters – for using values from other action in your test. Data Table parameters – for creating data driven test based on values in data table. Environment variable parameters – For using values of environment variable. Random number parameters – For using random numbers as values in our test or component.
Q. What can you do if values of object properties in an application are changing constantly?
A. We can try using alternatives like regular expressions, Changing description of test objects in object repository during run time, using descriptive programming and so on.
Q. What can you do if objects are not identified by QTP?
A. 1) For standard windows environment you can try object mapping user defined classes to standard classes.2)You can find whether any addins are available for given environment.3) check if any other reliable alternatives are available like using keyboard shortcuts, using automation object model of application if available and so on.
Q. What is descriptive programming?
A. Descriptive programming allows you to work with objects that are not stored in objectrepository. two types of programmatic descriptions.1) listing the set of properties and values that describe the object directly in a teststatement.2) Add collection of properties and values to a Description object, and then enter the Description object name in the statement.
 
Q. How will you access database from QTP?
A. You can use ActiveX Data Object for accessing the content of database. You cancreate connection object, recordset object and then execute query. And access the valuesof query in recordset.
Example Set objConn= CreateObject("ADODB.connection")
   Set objRecSet = CreateObject("ADODB.recordset")objConn.open strConString
'strConString is database connection string.objRecSet.open strQuery,objConn 'strQuery is SQL query to execute.


If you have any quarries/feed back send me on - knowthetesting@gmail.com

Thank you
Ram
 

1 comment:

  1. Good info!!
    http://qualitypointtech.net/ebook/index.php

    ReplyDelete