Working with QTP

TestEveryThing

Convert HTML text to Simple text VB Script

Posted by rajivkumarnandvani on November 6, 2009

Hi All,

Some time we required HTML text change to simple text here i created a function which will convert your HTML text to simple readable text.

‘ *************************************************************************************
‘ Function Name:    ConvertHTMLtoText
‘ Description:        This function is used to convert HTML string to Simple Text
‘ Arguments:        HTML string

‘ Return Value:        SimpleText
‘‘Syntax of calling the defined function:    Call  ConvertHTMLtoText(strHTML)
‘ *************************************************************************************

Public Function ConvertHTMLtoText(byVal strHTML)
If InStr(1,strHTML,”<”) > 0 Then
Do
startVariable = InStr(1,strHTML,”<”)

endVariable = InStr(startVariable,strHTML,”>”)
varName = Mid(strHTML,startVariable, endVariable-startVariable+1)
strHTML = replace(strHTML,varName,”")
Loop While InStr(1,strHTML,”<”) > 0
End If
strHTML = replace(strHTML,”&gt;”,”")
strHTML = replace(strHTML,”&lt;”,”")
ConvertHTMLtoText = strHTML
End Function

msgbox ConvertHTMLtoText(“<br><br><font color=”"”"#008000″”"”>TestingGUID position 26 with dashes must be one of the following: AB234567</font></body></html>”)

Posted in Miscellaneous | Leave a Comment »

Get Browser(iexplore) Count using VB script

Posted by rajivkumarnandvani on November 1, 2009

bcount = Get_ApplicationCount(“iexplore.exe”)

msgbox bcount

Public Function Get_ApplicationCount( byval sApplicationExe)

Dim strComputer

Dim objWMIService

Dim colProcesses

Dim objProcess

strComputer = “.”

Set objWMIService = GetObject(“winmgmts:\\” & strComputer & “\root\cimv2″)

Set colProcesses = objWMIService.ExecQuery (“Select * from Win32_Process Where Name = ‘”&sApplicationExe&”‘”) Get_ApplicationCount = colProcesses.count

Set objWMIService = Nothing

Set colProcesses=Nothing

End Function

If  bcount >0  Then

set objBrowser = Description.Create()

objBrowser(“micclass”).value =”Browser”

objBrowser(“CreationTime”).value=bcount-1

msgbox Browser(objBrowser).GetROProperty(“title”)

else

msgbox “No internet explorer open”

End If

Posted in QTP, WEB | Tagged: , , , , | Leave a Comment »

VB Get All Web page text ( Including All Webelement )

Posted by rajivkumarnandvani on October 1, 2009

Hi All,

Some Time we have to check that particular text is present on page or not during automation. If we get the page outer HTML in QTP we can not  get the whole text of all element like frame , webtable . div.etc…

So i created a function which will  check that the given text is present on page or not If Text present on page it will return True else False

REM  ——-   Set page object     ———-
set objpage = Browser(“BrowserName”).Page(“Pagename”)

msgbox   VerifyTextPresentOnPage(objpage ,”rajiv” )

Function VerifyTextPresentOnPage(byval objpage , byval Textvalue )
On error resume next

REM ——- Create child object description
Set childobjdes = Description.Create()
childobjdes(“micclass”).value=”WebElement”
childobjdes(“html tag”).value=”.*[A-Za-z0-9].*”
childobjdes(“outertext”).value =”.*[A-Za-z0-9].*”

REM  ———-Create ALL child object
set allobj = objpage.ChildObjects(childobjdes)
REM  get all  web element  outer text from web page and store in output variable
For i=1 to allobj.count-1
output=  output   & allobj.Item(i).GetROProperty(“outertext”)
Next
REM  now compare the value if the given value find or not
If instr(1,lcase(output),lcase(Textvalue)) > 0  Then

rem return true if found
VerifyTextPresentOnPage= True
Else

rem return true if  not found
VerifyTextPresentOnPage= False
End If
On Error GoTo
0
End Function

Posted in QTP | Tagged: , , , | 2 Comments »

Locating by XPath

Posted by rajivkumarnandvani on September 20, 2009

Locating by XPath

XPath is the language used for locating nodes in an XML document. As HTML can be an implementation of XML (XHTML), Selenium users can leverage this powerful language to target elements in their web applications. XPath extends beyond (as well as supporting) the simple methods of locating by id or name attributes, and opens up all sorts of new possibilities such as locating the third checkbox on the page.

One of the main reasons for using XPath is when you don’t have a suitable id or name attribute for the element you wish to locate. You can use XPath to either locate the element in absolute terms (not advised), or relative to an element that does have an id or name attribute. XPath locators can also be used to specify elements via attributes other than id and name.

Absolute XPaths contain the location of all elements from the root (html) and as a result are likely to fail with only the slightest adjustment to the application. By finding a nearby element with an id or name attribute (ideally a parent element) you can locate your target element based on the relationship. This is much less likely to change and can make your tests more robust.

Since only xpath locators start with “//”, it is not necessary to include the xpath= label when specifying an XPath locator.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
 <html>
  <body>
   <form id="loginForm">
    <input name="username" type="text" />
    <input name="password" type="password" />
    <input name="continue" type="submit" value="Login" />
    <input name="continue" type="button" value="Clear" />
   </form>
 </body>
 <html>
  • xpath=/html/body/form[1] (3) – Absolute path (would break if the HTML was changed only slightly)
  • //form[1] (3) – First form element in the HTML
  • xpath=//form[@id='loginForm'] (3) – The form element with @id of ‘loginForm’
  • xpath=//form[input/\@name='username'] (4) – First form element with an input child element with @name of ‘username’
  • //input[@name='username'] (4) – First input element with @name of ‘username’
  • //form[@id='loginForm']/input[1] (4) – First input child element of the form element with @id of ‘loginForm’
  • //input[@name='continue'][@type='button'] (7) – Input with @name ‘continue’ and @type of ‘button’
  • //form[@id='loginForm']/input[4] (7) – Fourth input child element of the form element with @id of ‘loginForm’
  • Expresion in square brackets can further specify an element. A number in the brackets gives the position of the element in the selected set. The function last() selects the last element in the selection.

/AAA/BBB[1]

Select the first BBB child of element AAA
<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>

/AAA/BBB[last()]

Select the last BBB child of element AAA
<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>

Attributes are specified by @ prefix.

//@id

Select all attributes @id
<AAA>
<BBB id = “b1″/>
<BBB id = “b2″/>
<BBB name = “bbb”/>
<BBB/>
</AAA>

//BBB[@id]

Select BBB elements which have attribute id
<AAA>
<BBB id = “b1″/>
<BBB id = “b2″/>
<BBB name = “bbb”/>
<BBB/>
</AAA>

//BBB[@name]

Select BBB elements which have attribute name
<AAA>
<BBB id = “b1″/>
<BBB id = “b2″/>
<BBB name = “bbb”/>
<BBB/>
</AAA>

//BBB[@*]

Select BBB elements which have any attribute
<AAA>
<BBB id = “b1″/>
<BBB id = “b2″/>
<BBB name = “bbb”/>
<BBB/>
</AAA>

//BBB[not(@*)]

Select BBB elements without an attribute
<AAA>
<BBB id = “b1″/>
<BBB id = “b2″/>
<BBB name = “bbb”/>
<BBB/>
</AAA>

Values of attributes can be used as selection criteria. Function normalize-space removes leading and trailing spaces and replaces sequences of whitespace characters by a single space.

//BBB[@id='b1']

Select BBB elements which have attribute id with value b1
<AAA>
<BBB id = “b1″/>
<BBB name = ” bbb “/>
<BBB name = “bbb”/>
</AAA>
//BBB[normalize-space(@name)='bbb']
Select BBB elements which have attribute name with value bbb, leading and trailing spaces are removed before comparison
<AAA>
<BBB id = “b1″/>
<BBB name = ” bbb “/>
<BBB name = “bbb”/>
</AAA>

Function count() counts the number of selected elements

//*[count(BBB)=2]

Select elements which have two children BBB
<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>

//*[count(*)=2]

Select elements which have 2 children
<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DDD/>
</EEE>
</AAA>

Function name() returns name of the element, the starts-with function returns true if the first argument string starts with the second argument string, and the contains function returns true if the first argument string contains the second argument string.

//*[name()='BBB']

Select all elements with name BBB, equivalent with //BBB
<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
//*[starts-with(name(),'B')]
Select all elements name of which starts with letter B
<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>

//*[contains(name(),'C')]

Select all elements name of which contain letter C
<AAA>
<BCC>
<BBB/>
< BBB />
< BBB />
</BCC>
<DDB>
< BBB />
< BBB />
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>

The string-length function returns the number of characters in the string. You must use &lt; as a substitute for < and &gt; as a substitute for > .

//*[string-length(name()) = 3]

Select elements with three-letter name
<AAA>
<Q/>
<SSSS/>
<BB/>
<CCC/>
<DDDDDDDD/>
<EEEE/>
</AAA>

Several paths can be combined with | separator.

//CCC | //BBB

Select all elements CCC and BBB
<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>

/AAA/EEE | //BBB

Select all elements BBB and elements EEE which are children of root element AAA
<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>

/AAA/EEE | //DDD/CCC | /AAA | //BBB

Number of combinations is not restricted
<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>

Note :–  All Example are taken from http://www.zvon.org/xxl/XPathTutorial/General/examples.html

Posted in QTP | Leave a Comment »

Selenium Command:

Posted by rajivkumarnandvani on September 20, 2009

1.    Identified Element by its text using Contains

Ex.   //a[contains(text(),'Documentation')]

<td>storeAttribute</td>

<td>//a[contains(text(),'Documentation')]</td>

<td>Documentation</td>

2.    Get attribute of Element using  storeAttribute function

Ex.       //a[contains(text(),'Classic Home')]@href

<td>storeAttribute</td>

<td>//a[contains(text(),'Classic Home')]@href</td>

<td>Documentation</td>

Ex.       //div[@id='guser']/nobr/a[2]@href

<td>storeAttribute</td>

<td>//div[@id='guser']/nobr/a[2]@href</td>

<td>Documentation</td>

3.    Identified Element by its Atrribute

Ex.           //a[@onclick='']

Ex.        //div[@id='guser']/nobr/a[2]

Ex.      //div/div[position()='1' and@style='font-size: 80%;']/a[position()='2' and @href='/search']

Ex.    //input[@id='q' and @type ='text']

4.    Locating by Identifier

This is probably the most common method of locating elements and is the catch-all default when no recognised locator type is used. With this strategy, the first element with the id attribute value matching the location will be used. If no element has a matching id attribute, then the first element with an name attribute matching the location will be used.

For instance, your page source could have id and name attributes as follows:

1
2
3
4
5
6
7
8
9
<html>
 <body>
  <form id="loginForm">
   <input name="username" type="text" />
   <input name="password" type="password" />
   <input name="continue" type="submit" value="Login" />
  </form>
 </body>
<html>

The following locator strategies would return the elements from the HTML snippet above indicated by line number:

  • identifier=loginForm (3)
  • identifier=username (4)
  • identifier=continue (5)
  • continue (5)

Since the identifier type of locator is the default, the identifier= in the first three examples above is not necessary.

Locating by Id

This type of locator is more limited than the identifier locator type, but also more explicit. Use this when you know an element’s id attribute.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
 <html>
  <body>
   <form id="loginForm">
    <input name="username" type="text" />
    <input name="password" type="password" />
    <input name="continue" type="submit" value="Login" />
    <input name="continue" type="button" value="Clear" />
   </form>
  </body>
 <html>
  • id=loginForm (3)

Locating by Name

The name locator type will locate the first element with a matching name attribute. If multiple elements have the same value for a name attribute, then you can use filters to further refine your location strategy. The default filter type is value (matching the value attribute).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
 <html>
  <body>
   <form id="loginForm">
    <input name="username" type="text" />
    <input name="password" type="password" />
    <input name="continue" type="submit" value="Login" />
    <input name="continue" type="button" value="Clear" />
   </form>
 </body>
 <html>
  • name=username (4)
  • name=continue value=Clear (7)
  • name=continue Clear (7)
  • name=continue type=button (7)

Note

Unlike some types of XPath and DOM locators, the three types of locators above allow Selenium to test a UI element independent of its location on the page. So if the page structure and organization is altered, the test will still pass. One may or may not want to also test whether the page structure changes. In the case where web designers frequently alter the page, but its functionality must be regression tested, testing via id and name attributes, or really via any HTML property, becomes very important.

Locating by XPath

XPath is the language used for locating nodes in an XML document. As HTML can be an implementation of XML (XHTML), Selenium users can leverage this powerful language to target elements in their web applications. XPath extends beyond (as well as supporting) the simple methods of locating by id or name attributes, and opens up all sorts of new possibilities such as locating the third checkbox on the page.

One of the main reasons for using XPath is when you don’t have a suitable id or name attribute for the element you wish to locate. You can use XPath to either locate the element in absolute terms (not advised), or relative to an element that does have an id or name attribute. XPath locators can also be used to specify elements via attributes other than id and name.

Absolute XPaths contain the location of all elements from the root (html) and as a result are likely to fail with only the slightest adjustment to the application. By finding a nearby element with an id or name attribute (ideally a parent element) you can locate your target element based on the relationship. This is much less likely to change and can make your tests more robust.

Since only xpath locators start with “//”, it is not necessary to include the xpath= label when specifying an XPath locator.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
 <html>
  <body>
   <form id="loginForm">
    <input name="username" type="text" />
    <input name="password" type="password" />
    <input name="continue" type="submit" value="Login" />
    <input name="continue" type="button" value="Clear" />
   </form>
 </body>
 <html>
  • xpath=/html/body/form[1] (3) – Absolute path (would break if the HTML was changed only slightly)
  • //form[1] (3) – First form element in the HTML
  • xpath=//form[@id='loginForm'] (3) – The form element with @id of ‘loginForm’
  • xpath=//form[input/\@name='username'] (4) – First form element with an input child element with @name of ‘username’
  • //input[@name='username'] (4) – First input element with @name of ‘username’
  • //form[@id='loginForm']/input[1] (4) – First input child element of the form element with @id of ‘loginForm’
  • //input[@name='continue'][@type='button'] (7) – Input with @name ‘continue’ and @type of ‘button’
  • //form[@id='loginForm']/input[4] (7) – Fourth input child element of the form element with @id of ‘loginForm’
  • Expresion in square brackets can further specify an element. A number in the brackets gives the position of the element in the selected set. The function last() selects the last element in the selection.

Posted in QTP | Leave a Comment »

Launch QTP by VB Script

Posted by rajivkumarnandvani on August 28, 2009

Hi All,

Some time we required to launch QTP via Script . Here i am showing how to launch QTP via VB script. We can use this for load Library file/ Object repository / Recovery  at qtp Startup. Just copy the script and save the file with .vbs extension

open the vbs file with microsoft based script host OR wsh

‘ This function closes all previous instances/processes of QTP one by one
Public Function  fn_CloseApplication( byval sApplicationExe)
Dim strComputer
Dim objWMIService
Dim colProcesses
Dim objProcess
strComputer = “.”
Set objWMIService = GetObject(“winmgmts:\\” & strComputer & “\root\cimv2″)

Set colProcesses = objWMIService.ExecQuery (“Select * from Win32_Process Where Name = ‘”&sApplicationExe&”‘”)
For Each objProcess in colProcesses
objProcess.Terminate()
Next
Set objWMIService = Nothing
Set colProcesses=Nothing
End Function

rem  call  function fn_CloseApplication  for close the instances/processes of QTP

call fn_CloseApplication( “QTPro.exe”)
call fn_CloseApplication( “QTAutomationAgent.exe”)

rem  launch QTP
Set objQtpApp = CreateObject(“QuickTest.Application”)
objQtpApp.Launch
objQtpApp.Visible = True
‘ check the QTP settings
objQtpApp.Test.Settings.Launchers(“Web”).Active = False
objQtpApp.Test.Settings.Launchers(“Web”).Browser = “IE”
objQtpApp.Test.Settings.Launchers(“Web”).Address = “http://newtours.mercury.com “
objQtpApp.Test.Settings.Launchers(“Web”).CloseOnExit = True
objQtpApp.Test.Settings.Launchers(“Windows Applications”).Active = False
objQtpApp.Test.Settings.Launchers(“Windows Applications”).Applications.RemoveAll
objQtpApp.Test.Settings.Launchers(“Windows Applications”).RecordOnQTDescendants = True
objQtpApp.Test.Settings.Launchers(“Windows Applications”).RecordOnExplorerDescendants = False
objQtpApp.Test.Settings.Launchers(“Windows Applications”).RecordOnSpecifiedApplications = True
objQtpApp.Test.Settings.Run.IterationMode = “rngAll”
objQtpApp.Test.Settings.Run.StartIteration = 1
objQtpApp.Test.Settings.Run.EndIteration = 1
objQtpApp.Test.Settings.Run.ObjectSyncTimeOut = 20000
objQtpApp.Test.Settings.Run.DisableSmartIdentification = False
objQtpApp.Test.Settings.Run.OnError = “Dialog”
objQtpApp.Test.Settings.Resources.DataTablePath = “<Default>”
objQtpApp.Test.Settings.Resources.Libraries.RemoveAll
objQtpApp.Test.Settings.Resources.Libraries.SetAsDefault
objQtpApp.Test.Settings.Web.BrowserNavigationTimeout = 60000
objQtpApp.Test.Settings.Web.ActiveScreenAccess.UserName = “”
objQtpApp.Test.Settings.Web.ActiveScreenAccess.Password = “”


Posted in QTP | Leave a Comment »

HP0-M16 Exam Questions and Answers | QTP Certification

Posted by rajivkumarnandvani on June 22, 2009

Here are some links for QTP certification:

http://h10017.www1.hp.com/certification/ — Contains details about the program

ftp://ftp.hp.com/pub/hpcp/epgs/HP0-M16_EPG.pdf — Exam Preparation Guide. This contains details about the exam, study references and sample exam questions.

HP Certified Professional
HP QuickTest Professional 9.2
Software –
HP0-M16
Exam Preparation Guide
Purpose of the exam prep guide
The intent of this guide is to set expectations about the content and the
context of the exam and to help candidates prepare for the HP QuickTest
Professional 9.2 Software exam. In this guide, you will find recommended HP
training courses, reference and study material help you achieve a successful
passing score.
Studies conducted by HP and Prometric show that a combination of course
attendance and self-study maximizes the likelihood of passing the exam on
the first attempt.
Audience
This exam is intended for functional testers who will create and develop
automated test scripts using the HP software for functional testing, QuickTest
Professional 9.2.
Certification requirements
This HP QuickTest Professional 9.2 Software exam is one of the
requirements to be certified as an Accredited Integration Specialist in HP
Quality Center v9.
Prerequisites
n no prerequisites
Exam details
n Number of items: 58
n Item types: multiple choice
n Time commitment: 2 hours
n Percentage Required to Pass Exam: 70 percent
HP QuickTest Professional 9.2 Software Exam Preparation Guide
2
n Reference Material: No on-line or hard copy reference material will be
allowed at the testing site.
Exam content
The following topics represent the specific areas of content covered in the
exam. Use this outline to guide your study and to check your readiness for
the exam. The exam measures your understanding of these areas.
1 – Setup, Record and Playback
2 – Enhance the Test
3 – Working with Objects
4 – Working in the Expert View
Recommended Training and Study References
This section lists training courses and documents that can help you acquire a
majority of the knowledge and skills needed to pass the exam. You must also
gain the practical experience outlined in this guide
You are not required to take the courses listed in this section. However, HP
strongly recommends that you attend the classes, participate in class labs,
and thoroughly review all course material and documents before taking the
exam, even if you believe you have sufficient on-the-job experience.
Instructor-Led Training
Use the information in this guide and the practical experience you have
gained to determine your need for the instructor-led training.
Title How to Enroll
Using QuickTest
Professional 9.2
Advanced QuickTest
Professional 9.2
Registration:
v http://www.merctraining.
com/main/schedule/facility_map.cfm?RegionID=All&sitepic
k=UK
v http://www.merctraining.
com/main/schedule/facility_map.cfm?RegionID=All&sitepic
k=US
v http://www.merctraining.
com/main/schedule/facility_map.cfm?RegionID=All&sitepic
k=AU
Study Summary: Using QuickTest Professional 9.2
v http://www.mercHP
QuickTest Professional 9.2 Software Exam Preparation Guide
3
training.com/main/get_file.cfm?code=4105&file=QTP92Using-
Outline-01A.pdf&sitepick=UK
v http://www.merctraining.
com/main/get_file.cfm?code=4105&file=QTP92Using-
Outline-01A.pdf&sitepick=US
v http://www.merctraining.
com/main/get_file.cfm?code=4105&file=QTP92Using-
Outline-01A.pdf&sitepick=AU
Study Summary: Advanced QuickTest Professional 9.2
v http://www.merctraining.
com/main/get_file.cfm?code=4106&file=QTP92Adv-
Outline-01A.pdf&sitepick=UK
v http://www.merctraining.
com/main/get_file.cfm?code=4106&file=QTP92Adv-
Outline-01A.pdf&sitepick=US
v http://www.merctraining.
com/main/get_file.cfm?code=4106&file=QTP92Adv-
Outline-01A.pdf&sitepick=AU
Sample Exam Items:
1. What are the phases in the QuickTest workflow?
a. Prepare, Create, Verify & Enhance, Integrate
b. Plan, Create, Verify & Enhance
c. Plan, Record, Enhance, Run
d. Prepare, Record, Verify, Run
2. What does a breakpoint do?
a. Pauses test execution at the specified step, before executing that step
b. Pauses test execution at the specified step, after executing that step
c. Stops test execution at the specified step, before executing that step
d. Stops test execution at the specified step, after executing that step
3. What are the available step commands in QuickTest?
a. Step Into, Step Over, Step Out
b. Step, Step Into, Step Out
c. Step Test, Step Action, Step Function
d. Run from Step, Debug from Step, Run from Step
HP QuickTest Professional 9.2 Software Exam Preparation Guide
4
Conclusion
HP wishes you success in the HP Certified Professional Program and in
passing the exam for which you are preparing.

Click the Below image link and See in large View You will get

the Whole Exam Questions and Answers

Enjoy

QTP Q/A

QTP Q/A

Q1. ‘Browser navigation timeout’ is in which tab of Test Settings (File->Settings) window.
A) Properties
B) Resources
C) Web
D) Web Settings

Q2. How many tabs are there in Test Settings (File->Settings) window
A) 7
B) 6
C) 5
D) 8

Q3. Identify the tabs in the Test Settings (File->Settings) window
A) Properties, Run, Resources, Parameters, Environment, Web, Recovery
B) Properties, Run, Resources, Parameters, Environment, WebSettings,Recovery
C) Properties, Run Options, Resources, Parameters, Environment, Web,Recovery
D) Properties, Run, Resources, Input Parameters, Environment, Web, Recovery

Q4. ‘Generate Script’ is in which tab of Test Settings (File->Settings)window
A) Properties
B) Web
C) Resources
D) Recovery

Q5. The following are the four main columns in the Keyword view
A) Item, Operation, Value, Comments
B) Item, Operation, Value, Documentation
C) Item, Operation, Property, Documentation
D) Number, Operation, Value, Documentation

Q6. For each object and method in an Expert View statement, acorresponding row exists in the Keyword View.
A) True
B) False
C) There is a problem with the statement.
D) None of above

Q7. You can work on one or several function libraries at the same time.
A) True
B) False

Q8. You can insert additional steps on the test objects captured in the Active screen after the recording session.
A) True
B) False

Q9. The Active Screen enables you to parameterize object values andinsert checkpoints
A) True
B) False

Q10. A QTP user can increase or decrease the active screen informationsaved with the test.
A) True
B) False

Q11. The Information pane provides a list of…………. in the test:
A) Semantic errors
B) Syntax errors
C) Common errors
D) Logic errors

Q12. When we switch from Expert view to the Keyword view, QTPautomatically checks for syntax errors in the test and shows them in theinformation pane.
A) True
B) False

Q13. If the information pane is not open, QTP automatically opens it incase a syntax error is detected.
A) True
B) False

Q14. ………………… provides a list of the resources that arespecified in your test but cannot be found.
A) Missing pane
B) Missing Resources pane
C) Resources pane
D) Missing Items pane

Q15. Whenever you open a test or a function library, QTP automaticallychecks for the availability of specified resources.
A) True
B) False

Q16. The Data Table does not assists you in parameterizing your test.
A) True
B) False

Q17. Tabs in the Debug Viewer pane are:
A) Watch, Variables, Debug
B) Watch, Data, Command
C) Watch, Variables, Command
D) View, Variables, Command

Q18. …………… tab enables you to view the current value of anyvariable or VBScript expression.
A) Watch
B) VIew
C) Locate
D) Current

Q19. The …. tab displays the current value of all variables that havebeen recognized up to the last step performed in the run session.
A) View
B)Variables
C) Locate
D) Current

Q20. The ………tab enables you to run a line of script to set ormodify the current value of a variable or VBScript object in your testor function library.
A) View
B) Variables
C) Command
D) Current

Q21. Panes in QTP can have one of the following states—docked or floating.
A) True
B) False

Q22. Which of the following statement is True:
A) QuickTest enables you to open and work on one test at a time
B) QuickTest enables you to open and work on two tests at a time
C) QuickTest enables you to open and work on predefined number of testsat a time
D) QuickTest enables you to open and work on nine test at a time

Q23. Which of the following statement is True:
A) You can open and work on two function libraries simultaneously
B) You can open and work on multiple function libraries simultaneously
C) You can open and work on nine function libraries simultaneously
D) You can open and work on one function library at a time

Q24. You can open any function library, regardless of whether it isassociated with the currently open test.
A) True
B) False

Q25. You can work with multiple documents (test, component, orapplication area, function libraries) using the…… dialog box
A) Panes
B) Display
C) Show
D) Windows

Answers:–>

Q1. The Command used to insert the transactions in test is:
A. StartTransaction(Name�), EndTransaction(Name�)B
. Services.StartTransaction “Name”, Services.EndTransaction “Name”
C. StartTransaction.services “Name�, EndTransaction.services “Name”

Q2. A step in which one or more values are captured at a specific point in your test and stored for the duration of the run session is:
A. Output Value
B. Checkpoints
C. Active Screen

Q3. QTP can detects an application crash and activate a defined recovery scenario to continue the run session.
A. True
B. false

Q4. In Batch Test process, the test list are saved in file format as:
A. *.mtb
B. *.mts
C. *.mbt
D. *.mtr

Q5. The command used to invoke other application from QTP:
A. InvokeApplication
B. SystemUtil.Run
C. Run
D. Both b & c
E. Both a & b

Q6. The command used to retrieve data from excel sheet is
A. Set ab = Connection(“srcfilepath “) , Set ws = ab.getdata(sheetid)
B. Set ab = CreateObject(“srcfilepath “) , Set ws = ab.getsheet(sheetid)
C. Set ab = GetObject(“srcfilepath”) , Set ws = ab.worksheets(sheetid)

Q7. The method that explicitly activates the recovery scenario mechanism is:
A. recovery.activate
B. enable
C. recovery.enable
D. activate

Q8. The method used for sending information to the test results is:
A. Reporter.log()
B. Reporter.reportevent()
C. Reporter.msgbox()
D. Reporter.report()

Q9. To terminate an application that is not responding we use:
A. SystemUtil.terminate
B. SystemUtil.Stop
C. SystemUtil.CloseProcessByName

Q10. The recovery mechanism does not handle triggers that occur in the last step of a test:
A. false
B. True

Q11. We can add Test object methods, function calls into the Test using:
A. Function generator
B. Step generator
C. Object repository

Q12. The method that adds to the test while implementing synchronization is:
A. Synchronize
B. Wait
C. WaitProperty
D. Pause

Q13. The mechanism used to identify objects during run session is:
A. Recovery scenario
B. Smart identification
C. Handling object

Q14. Post-recovery test run options specifies:
A. how to continue the run session after QTP identify the event
B. errors while running
C. recovery scenario during a run session

Q15. The action that can be called multiple times by the test as well as by other tests is called:
A. non-reusable action
B. Reusable action
C. External action

Q16. The command used to connect with Database is:
A. Createobject(connectivity name�)
B. dbconnect(connectivity name)
C. open(connectivity name)
D. None of the above

Q17. The method used to retrieve the folders is:
A. FileSystemObject.Getfolder()
B. FileSystemObject.selectfolder()
C. FileSystemObject.retrievefolder()

Q18. The method used to compare 2 XML files is:
A1. XMLfile1.compare(XMLfile2)
B. XMLcompare(file1,file2)
C. compare(XMLfile1,XMLfile2)

Q19. The QTP script files are stored in the extension of:
A. *.mts
B. *.usr
C. *.mtr
D. *.vbs

Q20. The method used to register the user-defined function with test object is:
A. setFunc()
B. RegisterUserFunc()
C. RegisterFunc()

Q21. The method used to open the specified URL in a browser is:
A. openURL()
B. navigateURL()
C. navigate()

Q22. The 3 Parameter types available in data driver is:
A. DataTable,Environment,Random number
B. DataTable,random number,unique
C. environment,string,numeric

Q23. The method added to the test while parameterizing is:
A. get Data (variable, dtGlobalSheet)
B. get DataTable(variable, dtGlobalSheet)
C. Set Data(variable, dtGlobalSheet)
D. Set DataTable(variable, dtGlobalSheet)

Q24. The length of the array can be get by the method:
A. length(array)
B. ubound(array)
C. count(array)

Q25. The method used to get the count value of list box or combo box is:
A. GetItemsCount
B. GetCount
C. GetItemCount

Q26. To retrieve the current the objects in your application during the run session:
A. GetVisibleText
B. GetROProperty
C. SetROProperty
D. GetTOProperty

Q27. The list of test objects and their properties and values are stored in the:
A. Object Repository
B. Object Identification

Q28. The method used to continue the test execution after getting run-time error is:
1. On Error Resume Next
2. On Error Raise Next
3. On Error Next

Q1. ‘Browser navigation timeout’ is in which tab of Test Settings (File->Settings) window.
A) Properties
B) Resources
C) Web
D) Web Settings

Q2. How many tabs are there in Test Settings (File->Settings) window
A) 7
B) 6
C) 5
D) 8

Q3. Identify the tabs in the Test Settings (File->Settings) window
A) Properties, Run, Resources, Parameters, Environment, Web, Recovery
B) Properties, Run, Resources, Parameters, Environment, WebSettings,Recovery
C) Properties, Run Options, Resources, Parameters, Environment, Web,Recovery
D) Properties, Run, Resources, Input Parameters, Environment, Web, Recovery

Q4. ‘Generate Script’ is in which tab of Test Settings (File->Settings)window
A) Properties
B) Web
C) Resources
D) Recovery

Q5. The following are the four main columns in the Keyword view
A) Item, Operation, Value, Comments
B) Item, Operation, Value, Documentation
C) Item, Operation, Property, Documentation
D) Number, Operation, Value, Documentation

Q6. For each object and method in an Expert View statement, acorresponding row exists in the Keyword View.
A) True
B) False
C) There is a problem with the statement.
D) None of above

Q7. You can work on one or several function libraries at the same time.
A) True
B) False

Q8. You can insert additional steps on the test objects captured in the Active screen after the recording session.
A) True
B) False

Q9. The Active Screen enables you to parameterize object values andinsert checkpoints
A) True
B) False

Q10. A QTP user can increase or decrease the active screen informationsaved with the test.
A) True
B) False

Q11. The Information pane provides a list of…………. in the test:
A) Semantic errors
B) Syntax errors
C) Common errors
D) Logic errors

Q12. When we switch from Expert view to the Keyword view, QTPautomatically checks for syntax errors in the test and shows them in theinformation pane.
A) True
B) False

Q13. If the information pane is not open, QTP automatically opens it incase a syntax error is detected.
A) True
B) False

Q14. ………………… provides a list of the resources that arespecified in your test but cannot be found.
A) Missing pane
B) Missing Resources pane
C) Resources pane
D) Missing Items pane

Q15. Whenever you open a test or a function library, QTP automaticallychecks for the availability of specified resources.
A) True
B) False

Q16. The Data Table does not assists you in parameterizing your test.
A) True
B) False

Q17. Tabs in the Debug Viewer pane are:
A) Watch, Variables, Debug
B) Watch, Data, Command
C) Watch, Variables, Command
D) View, Variables, Command

Q18. …………… tab enables you to view the current value of anyvariable or VBScript expression.
A) Watch
B) VIew
C) Locate
D) Current

Q19. The …. tab displays the current value of all variables that havebeen recognized up to the last step performed in the run session.
A) View
B)Variables
C) Locate
D) Current

Q20. The ………tab enables you to run a line of script to set ormodify the current value of a variable or VBScript object in your testor function library.
A) View
B) Variables
C) Command
D) Current

Q21. Panes in QTP can have one of the following states—docked or floating.
A) True
B) False

Q22. Which of the following statement is True:
A) QuickTest enables you to open and work on one test at a time
B) QuickTest enables you to open and work on two tests at a time
C) QuickTest enables you to open and work on predefined number of testsat a time
D) QuickTest enables you to open and work on nine test at a time

Q23. Which of the following statement is True:
A) You can open and work on two function libraries simultaneously
B) You can open and work on multiple function libraries simultaneously
C) You can open and work on nine function libraries simultaneously
D) You can open and work on one function library at a time

Q24. You can open any function library, regardless of whether it isassociated with the currently open test.
A) True
B) False

Q25. You can work with multiple documents (test, component, orapplication area, function libraries) using the…… dialog box
A) Panes
B) Display
C) Show
D) Windows

Answers:–>

Posted in QTP | 10 Comments »

Get Text Location / ClickOnText QTP VB

Posted by rajivkumarnandvani on June 21, 2009

Hi All,

Now I am going to describle the undocumented feature of QTP that is ClickONText  method . Some time we require the object text location ( x ,y position ) in window so that we can click  that object by use  Get text location method. like this

rem  Open the “C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe” application.

SystemUtil.Run “C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe”,”C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe”,”"

rem   Make the “Login” dialog box active.

Dialog(“Login”).Activate


rem  Click the “OK” button.

Dialog(“Login”).WinButton(“OK”).Click


rem Check whether the text “OK” is displayed in the “Flight Reservations” dialog box and store the location of the text in rem    arguments 2-5. Store the result in the variable ‘find’
.

find =Dialog(“Login”).Dialog(“Flight Reservations”).GetTextLocation (“OK” ,x1,y1,x2,y2)

rem Check whether (find = True) is true. If so:
If find =True  Then
Dialog(“Login”).Dialog(“Flight Reservations”).Click  (x1+x2)/2 ,(y1+y2)/2 rem Click the “Flight Reservations” ‘dialog box
else rem Otherwise:
msgbox  “not found OK text”
End If

Instead of Serached the text location in Window we can use directely method ClickonText like this it will automatically search the text and click the text area

Dialog(“Login”).Dialog(“Flight Reservations”).Clickontext “OK”

Posted in QTP | Leave a Comment »

Use Send Key Method QTP VB

Posted by rajivkumarnandvani on June 15, 2009

Hi All,

Some time we requre keyboard event in Automation so we can use Send key method

rem **********************************************

rem create shell object

set WshShell = CreateObject(“WScript.Shell”)

SystemUtil.Run “C:\Program Files\HP\QuickTest xcxProfessional\samples\flight\app\flight4a.exe”,”C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe”,”",”"

rem first click in the text box then use send key method

Dialog(“text:=Login”).WinEdit(“attached text:=Agent Name:”).Click

rem enter rajiv in agent name text box

WshShell.SendKeys “rajiv”

rem click Password Edit box

Dialog(“text:=Login”).WinEdit(“attached text:=Password:”).Click

rem enter check in Password text box

WshShell.SendKeys “check “

Dialog(“text:=Login”).WinButton(“text:=OK”).Click

rem press escape using send key method

WshShell.SendKeys “{ESC}”

WshShell.SendKeys “{ESC}”

rem **********************************************************

Use the SendKeys method to send keystrokes to applications that have no automation interface. Most keyboard characters are represented by a single keystroke. Some keyboard characters are made up of combinations of keystrokes (CTRL+SHIFT+HOME, for example). To send a single keyboard character, send the character itself as the string argument. For example, to send the letter x, send the string argument “x”.

Note To send a space, send the string ” “.

You can use SendKeys to send more than one keystroke at a time. To do this, create a compound string argument that represents a sequence of keystrokes by appending each keystroke in the sequence to the one before it. For example, to send the keystrokes a, b, and c, you would send the string argument “abc”. The SendKeys method uses some characters as modifiers of characters (instead of using their face-values). This set of special characters consists of parentheses, brackets, braces, and the:

  • plus sign       ”+”,
  • caret             ”^”,
  • percent sign “%”,
  • and tilde       ”~”

Send these characters by enclosing them within braces “{}”. For example, to send the plus sign, send the string argument “{+}”. Brackets “[ ]” have no special meaning when used with SendKeys, but you must enclose them within braces to accommodate applications that do give them a special meaning (for dynamic data exchange (DDE) for example).

  • To send bracket characters, send the string argument “{[}" for the left bracket and "{]}” for the right one.
  • To send brace characters, send the string argument “{{}” for the left brace and “{}}” for the right one.

Some keystrokes do not generate characters (such as ENTER and TAB). Some keystrokes represent actions (such as BACKSPACE and BREAK). To send these kinds of keystrokes, send the arguments shown in the following table:

Key Argument
BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

To send keyboard characters that are comprised of a regular keystroke in combination with a SHIFT, CTRL, or ALT, create a compound string argument that represents the keystroke combination. You do this by preceding the regular keystroke with one or more of the following special characters:

Key Special Character
SHIFT +
CTRL ^
ALT %

Note When used this way, these special characters are not enclosed within a set of braces.

To specify that a combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, create a compound string argument with the modified keystrokes enclosed in parentheses. For example, to send the keystroke combination that specifies that the SHIFT key is held down while:

  • e and c are pressed, send the string argument “+(ec)”.
  • e is pressed, followed by a lone c (with no SHIFT), send the string argument “+ec”.

You can use the SendKeys method to send a pattern of keystrokes that consists of a single keystroke pressed several times in a row. To do this, create a compound string argument that specifies the keystroke you want to repeat, followed by the number of times you want it repeated. You do this using a compound string argument of the form {keystroke number}. For example, to send the letter “x” ten times, you would send the string argument “{x 10}”. Be sure to include a space between keystroke and number.

Note The only keystroke pattern you can send is the kind that is comprised of a single keystroke pressed several times. For example, you can send “x” ten times, but you cannot do the same for “Ctrl+x”.

Note You cannot send the PRINT SCREEN key {PRTSC} to an application.

Posted in WINDOWS | Tagged: , , | 8 Comments »

Create ZiP file VB QTP / UnZip file VB QTP

Posted by rajivkumarnandvani on May 13, 2009

Function WindowsUnZip(sUnzipFileName, sUnzipDestination)
Set oUnzipFSO = CreateObject(“Scripting.FileSystemObject”)
If Not oUnzipFSO.FolderExists(sUnzipDestination) Then
oUnzipFSO.CreateFolder(sUnzipDestination)
End If
With CreateObject(“Shell.Application”)
.NameSpace(sUnzipDestination).Copyhere .NameSpace(sUnzipFileName).Items
End With

Set oUnzipFSO = Nothing
End Function
Function WindowsZip(sFile, sZipFile)

Set oZipShell = CreateObject(“WScript.Shell”)
Set oZipFSO = CreateObject(“Scripting.FileSystemObject”)

If Not oZipFSO.FileExists(sZipFile) Then
NewZip(sZipFile)
End If

Set oZipApp = CreateObject(“Shell.Application”)

sZipFileCount = oZipApp.NameSpace(sZipFile).items.Count

aFileName = Split(sFile, “\”)
sFileName = (aFileName(Ubound(aFileName)))

‘listfiles
sDupe = False
For Each sFileNameInZip In oZipApp.NameSpace(sZipFile).items
If LCase(sFileName) = LCase(sFileNameInZip) Then
sDupe = True
Exit For
End If
Next

If Not sDupe Then
oZipApp.NameSpace(sZipFile).Copyhere sFile

‘Keep script waiting until Compressing is done
On Error Resume Next
sLoop = 0
Do Until sZipFileCount < oZipApp.NameSpace(sZipFile).Items.Count
Wscript.Sleep(100)
sLoop = sLoop + 1
Loop
On Error GoTo 0
End If
End Function

Sub NewZip(sNewZip)
Set oNewZipFSO = CreateObject(“Scripting.FileSystemObject”)
Set oNewZipFile = oNewZipFSO.CreateTextFile(sNewZip)

oNewZipFile.Write Chr(80) & Chr(75) & Chr(5) & Chr(6) & String(18, 0)

oNewZipFile.Close
Set oNewZipFSO = Nothing

Wscript.Sleep(500)
End Sub

WindowsZip “c:\rajiv.htm”, “c:\rajiv.zip”

Posted in Miscellaneous | Tagged: , , | Leave a Comment »