How to record C++ based application using HP LoadRunner?

108 views
Skip to first unread message

EVSR

unread,
May 23, 2012, 3:22:50 PM5/23/12
to LoadRunner
Hi,

I have got a c++ based application requirement and has to capture the
events and submit them the estimates on the performance testing
activities. I see that LR11 is having the C++.NET template to record
the c++ based application. I am not able to find any related user
guide or document to get start with POCon this. Request you to send me
your ideas / thoughts to capture the events of this c++ application.
Your feedback is highly appreciated.

Regards,
Nitya E

loadrunn...@jamespulley.com

unread,
May 23, 2012, 6:27:32 PM5/23/12
to lr-loa...@googlegroups.com
What is the next upstream architectural component which your thick client
application communicates with?

If you look at a protocol analyzer trace of the conversation between the
client and the server what application is noted fore the application layer
protocol which is in use between the two?

There are always two options available at the top and the bottom of the
stack, Citrix/RDP and Winsock.

'Pulley
> --
> You received this message because you are subscribed to the Google
> "LoadRunner" group.
> To post to this group, send email to LR-Loa...@googlegroups.com
> To unsubscribe from this group, send email to
> LR-LoadRunne...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/LR-LoadRunner?hl=en
>


EVSR

unread,
May 23, 2012, 7:40:41 PM5/23/12
to LoadRunner

Hi James,
thanks for the quick response.
I checked with the developers that its underlying protocol is TCP/IP.
It communicates with SQL server 2000 in backend. I tried recording
this desktop app using winsock protocol but, it appears to be the
hexadecimal code has been generated in data.ws. Is any convertible
functions available in winsock to handle this.? Thanks inadvance.

- Nitya E
> >http://groups.google.com/group/LR-LoadRunner?hl=en- Hide quoted text -
>
> - Show quoted text -

loadrunn...@jamespulley.com

unread,
May 23, 2012, 8:09:49 PM5/23/12
to lr-loa...@googlegroups.com
Protocols and interfaces come in many forms. Now that we have
established that you are using SQL Server then you have many options which
your developers may be using with SQL2000.

They may be using the historical DBLib interface bound within the
application. For this you would select SQL Server as the protocol type
with the virtual user. The developers may have opted to make use of ODBC
for the connection to the database, choose the ODBC client type for
recording. Perhaps they even used OleDB for connections, with this you
have the option of DCOM or (what I prefer) pull the transaction logs for a
particular user conversation and recreate the conversation in an ODBC
client such as MSQUERY (ships as an applet for excel connectivity in
Microsoft office).

Lastly you can take a look at the advanced options within the vugen manual
for the creation of virtual users using Visual Studio. You can create
your virtual user directly from your application source files resulting in
a DLL based virtual user with a C/C++ or VB source.

TCP is the carrier protocol here, there is an application layer protocol
in play. For SQL Server it is most likely TDS, the tabular DataStream
Protocol, which is core to SQL Server. When you "hook" the application to
record for dblib, it records at the TDS layer. When you hook for ODBC
then it records at the API layer above the ODBC Driver Manager. For DCOM
it hooks to the COM interface of the operating system so you have to
filter out the universe except what you are interested in to build an
effective script (which is tedious unless you the developer of the
application sitting right next to you for extended periods of time).

'Pulley

EVSR

unread,
May 23, 2012, 9:00:18 PM5/23/12
to LoadRunner
Hi James,
Thanks alot for the nice summary. I was able to record the events
using winsock+ODBC. But, everything appears in hexadecimal code in
data.ws. Is there a way to convert to some understandable format
before going for correlating the server response. Thanks inadvance.

Nitya E
> >> >http://groups.google.com/group/LR-LoadRunner?hl=en-Hide quoted text -

loadrunn...@jamespulley.com

unread,
May 23, 2012, 9:11:35 PM5/23/12
to lr-loa...@googlegroups.com
What you are doing makes very little sense. There is an architectural
foundation set of skills you need to have in place and I think you need to
pair up with someone who has solid client side architectural and
development skills for your app.

ODBC (or any database server) plus Winsock would traditionally occur when
your front end client is communicating to multiple hosts using different
communications styles. As you note that you have only a single server
that your front end is communicating to your use of a multiple protocol
stream client makes very little sense architecturally.

You need help. It sounds like you have been thrown to the wolves to
figure this out and you're struggling. Your management needs to pair you
up with someone who is a complement to your strengths, where they are
strong where you are weak.

Speak with the developers of your app and find out which interfaces yoru
application leverages. This should lead you on a natural path to the
interfaces that you will be using for your virtual user script development

'Pulley

Vidya Elluru

unread,
May 24, 2012, 1:05:03 AM5/24/12
to lr-loa...@googlegroups.com, lr-loa...@googlegroups.com
Thanks for the quick response

Vidya S Elluru
Sent from iPhone

sravanividya

unread,
May 23, 2012, 6:33:03 PM5/23/12
to lr-loa...@googlegroups.com
Hi James,
thanks for the quick response.
I checked with the developers that its underlying protocol is TCP/IP.
It communicates with SQL server 2000 in backend. I tried recording
this desktop app using winsock protocol but, it appears to be the
hexadecimal code has been generated in data.ws. Is any convertible
functions available in winsock to handle this.? Thanks inadvance.

- Nitya E

On 5/23/12, loadrunn...@jamespulley.com

Krishnakanth PPS

unread,
May 24, 2012, 8:47:44 AM5/24/12
to lr-loa...@googlegroups.com
Have wireshark installed on the machine. 
Work on the C++ application.
Look at the request responses. 
Build custom requests.

This should work. 

This is what is James is trying to say. Understand the underlying communication mechanism. Once you understand the communication mechanism, your issue should be solved. 
Reply all
Reply to author
Forward
0 new messages