7 QTP casting functions to make you a QTP automation wizard

PerfectoTopAd

If you’re striving to become the next Harry Potter or Gandalf the Gray of QTP, then learn this lesson well. Your quest, if you choose to accept it, is to seek out the scroll of casting. Do so and unlock the key to QTP's casting conversion functions.

  • CInt()

To transform strings into integers, you first need to use Cint() to cast the string to its integer value. If you don't, the enchanted VBScript engine interprets the values as strings, not numbers! For example:

‘Bad script example:

YourQTPCastingSkill = "7"
BugsSkill = "3"

If (YourQTPCastingSkill > BugsSkill) Then
   msgbox "You win -- your QTP CINIT casting spell detects and crushes the software bug!"
Else
   msgbox "You lose -- the bug eludes you and makes it into the production!"
End If

‘Good script example:

YourQTPCastingSkill = "7"
BugsSkill = "3"

 If (CINT(YourQTPCastingSkill) > CINT(BugsSkill)) Then
   msgbox "You win -- your QTP CINIT casting spell detects and crushes the software bug!"
 else
  msgbox "You lose -- the bug eludes you and makes it into the production build."
 End If

  • CBool

To return a Boolean value of an expression for true/false conditions — Hocus-pocus, Allakhazam!:

 wizardNum = 7
  If CBOOL(wizardNum) = "True" then
   msgbox "I have summoned the power of Cbool!"
  End If 

  • CLong

If a value needs to be between -2147483648 and 2147483647, and a value of, say, 6,579.56 is used, you can change it by using CLNG:

msgbox CLng("6,579.56")

will return a value of 6580

  • Asc

msgbox Asc("J")

returns a value of 74, which is the ANSI code for “J”

  • Cbyte

msgbox Cbyte("7.77")

returns a value of 8 because the value is rounded up

  • ChrB

msgbox ChrB(74)

returns a value of J, which is the number 74 in the ANSI table

  • HEX

And finally, to use QTP to put a “Hex” on a bug (…get it?) use the HEX function:

msgbox Hex(16777215)

— this will return the Hex value of FFFFFF which, by the way, is the hexadecimal number for the color black.

If you got a chuckle out of this blog, and enjoy reading, you might like the book Wizard’s Bane by Rick Cook — a comical fantasy about a programmer who invents a computer language for casting magic spells. A free online version of the book can be found here

3 comments
Albert Gareev - January 12, 2011

Hi, Joe!

Nice examples!
This is not a functionality of QTP. These functions are the part of native VBScript; we can use them in shell scripts, in TestComplete, or in other tools which employ MS scripting engine.

Thanks,
Albert

Reply
    Joe Colantonio - January 12, 2011

    Hi Albert – that is good point! It is true that QTP uses the VBScript script engine for these functions. Thanks for your comment!!

    Reply
Lee D - August 29, 2014

Hi Joe. If you change YourQTPCastingSkill to “17” in your examples you’ll actually drive the point home.
“17” CINT(“3”)

Reply
Click here to add a comment

Leave a comment: