Loadrunner 9.52: dynamic data handling in winsock protocol script

43 views
Skip to first unread message

lx2007

unread,
Feb 6, 2011, 11:49:36 AM2/6/11
to LoadRunner
I recorded winsock script for SQLAnywhere client local gui downloading
data through intranet from backend server. The developer said the
protocol is tcp/ip.
Business Process:
1. launch .exe in local PC (winXP) to open up GUI window (the gui is
not on line yet).
2. Click button in GUI to sync GUI with backend DB server through
Intranet.

I see the below msg in Replay log:
Action.c(56): Mismatch in buffer's length (expected 3730 bytes, 405
bytes actually received, difference in 3325 bytes)
Action.c(56): fiCheckRecvMismatch: Sat Feb 05 22:09:27.104: reading
buffer buf5
Action.c(56): fiCheckRecvMismatch: Sat Feb 05 22:09:27.104: calling
parameterization routines
Action.c(56): Warning: The string ']\xa0\x8bt\x89.\xd3u\xbaA\xb7h\x82n
\xd3\x1d\x9a\xa4'\xf4\x94\xd5\x84\x1ceX\xb6]\xf7\x8e$%\x1c\x87\x88\x14K
\x8748I\x934;\xe6]\x9a\xa2i\x9a\xa1{t\x9ff\xe9\x01=\xa4G
\xf4\x98\x05\xc5\x1cN\x834\xcaf\x18n\xe4Vf]\xf3\x81\xcf\x8e\xe4T:}
\xaf[\xfaeT\x8e\x9dd\xc1g\x8b\x0e\xbc\x8c\x96\xd3\nZIkh-\xad\xa3\xf54F
\xc7\xe8\x04\x9d\xa4St\x86E\xef\xb9\xa21W\xb4\xe7\x8a\x9ah/\x1d
\xa4\xc3t\x84\x9e3\xe9S7l\xb9\xf1;\x92\x94\x94dd_\xb2r(\xe7r!\x97r%
\xd7r#\xe5\x8e\xb0R\xaa\xa4Zj\xa5A\x1a\xa5EZ\xa5M\xda\xa5#
\xd8\xf5\xc13\xd7p+w\xf2 \x8f\xf2$\xcf\xf2\"\xef\x92\x93\xbcL\xb8\xcc
\xb0TH\x8d\xd4I\xbdD%&M\xd2,\x032\x18\x9c' with parameter delimiters
is not a parameter.
Action.c(56): Warning: The string '^\xf4L\r\x15\xda\xcd\xc6\xf5\xd1A:D
\x87\xe98\x9d\xa0St\x83]\xb5I\xb7\xe84\xaf\xcf\xd2]^\x19f\x17\xde\xd1$
\x7f\x86D\xdb\n\x8d\xb5\x15\x15\xfeT\xe4\xa0\r\xce1=}Z`\x84\x8b\xec%
\x1e'gYW\xd7\xd7\x1d\xfc\x99\x0fB\xdd\x04\xfb\x9d7\xef\x98\xe9\x9a
\xd62S=\x8d-\x16\x8e\x07\x0f[h+\x9d\xeb\xe1\xd4\x9a\xe2t\xa2{t\x9ff
\xe9\x05\xbd\xa4M\xdd\x1c'V\xd8N\xf3\xb4i\x92\xd7\xc7\x98~\x9a\x13c
\x88}\xc7\\\xc3t\x84n\xd2]\x1f3\xe5\x16\xdd\xa6)\xbaK3t\x8f\x1e\xd0#
\x1a\x99)\xb4\x94\x96\xd1\nZE\xabi-\xad\xa31\xdaH\x9bi\v\xcd\xb0-\xcdt
\x8f\xf6\rs' with parameter delimiters is not a parameter.
Action.c(56): Warning: The string '\xcb\x8b\xbc\x06\xdf\x81\x83\xef\xad
\x0e7,%R*U\xc1\x11\x93\xa8\xc4\xa4A\x1a\xa5EZ\xa5C:e\\\xa6$\xed\x07`Wr
\x92\xf7\x9b\xb4\x87(\x14\\e%\"\xcd\xd2\"\x17r)Wr-7r+wr/\x0f
\xc1\xd7x7\xbdZj\xa4V\xea\xa4^\xa2\x12\x93\x06i\x94&i\x96\x16i\x956i
\x97\x0e\xe9\x94.\xe9\x96\x1e\xe9\x93~\x19\b\xce=\x19\x92a\x19\x91Q
\x19\x93q\xa9\xf2\xa68,\x11\x89J\xda[\xd6]IJJ\x1a\x9d\xa4IZ\xa5M:eH\xba
\x83\x9f\x16\xbc3,\x93J\xa9\x92j\xe9\xf1\xce\".5\xce\x97q}\x03\xc1/\x1a
\xde\xb0uJ\xc4\xbb\xd4b)\x93r\xa9\x92j\xa9\x91Z\xa9\x93zi\x90Fi\x92fi
\x91Vi\x93v\xe9\x90N\xe9\x92n\xe9\x91\xb8\xf4J\x9f\xf4\xcb\x80\f\x06w
\xda2,#2*c2-3\xb2(K\xc1F\xbb\x07\x97\xdd/+\xf2,/\xf2\xee=dN\xf2\xde
\xf4;wV\x0e\xe4XN\xe4T\xce\xe4\\.\xe4R\xae\xe4Zn\xe4V\xee\xe4^\x1e\xe4Q
\x9e\xe4Y^\xe4U\xde\xe4]r\x92\xe7\x1fg~\xf1vaJ\xa6eN\xe6\xbd:\xac
\xc8jp/\xe1{a\x89I\x83\xb4K\x87tJ\x97\xac\xcb\x86l\xcaVp\xcf
\xe8\xb5\xe9R\x1e\xe4Q6\x1d\xed\x96\xa4$\x1d\x9ce\xce\xde$\xad\xd2&
\x11)\x96\x92\xe0\xaeT\xca\xa4\\*\xa4R\xc6d\\&d2\xb8\x15w\x17,\xca
\x92,\xcb\x98\x8c\xcb\x89\x9c\xca\x99\x9c\xcb\x8d\xdc\xcaC\xf0c
\xa6\x97\xc6'y\x0e~\xfdt\x17\x9c\xcb\x9d\xdc\x07\x7f\xf0\xfb\xc1\x9e
\x94\x19\x99\x95j\x87[#\xb5R\x17\xdc\xe5\xbb\xbelp\xfb\xe6\x8a
\xa2\xc1\x05\xdd\xcb\xd8\x95\xf4\xba\xa2\xbe\xe0v\xc5I\xea%&\r2&\xe32!
\x93\xb2\"\xab\xb2&\xeb\xb2!\x9b\xb2%\x89\x84\xbf\x93\xbf\x86\xfe!
\xf4\xb9)\xf4\xb98\x92=\xd9m\xcd~\xfc\xf0\xcd7\x1f\xf2?|\xfb\xf7\x1f
\xe2\xb9\x9f\xe2\xa9O\x1f\xbf\xff\xf6\xb7\x1f?|\b}\x0e\xfd\xfe\x8f\xff
\x14\xfd\x9f\xff\xf8\x97?E\xbe' with parameter delimiters is not a
parameter.
--------------------------------------------------------------------------------------------------------------------------------------------------------
My data correlation is below:
lrs_receive("socket4", "buf5", LrsLastArg);
lrs_save_searched_string("socket4", LRS_LAST_RECEIVED, "bf5_p1", "LB/
BIN=\\xe0c`", "RB/BIN=\\x91T", 1, 0, -1);
... ...
but I got "Action.c(58): Error : Unable to save to parameter
lrs_save_searched_string :. Error code : 9015."

I read Vugen hep but get no more detail information. The Mismatch is
still in replay log.

The reason to use winsock bcoz only this protocol can record events. I
tried URL, ODBC(protocol advisor), click&script, MS.Net...but all no
event to be recorded.
Could anyone shed some light on why I got the above error?
Thanks,
Larry

chaitanya bhatt

unread,
Feb 6, 2011, 11:58:23 PM2/6/11
to lr-loa...@googlegroups.com
Share the receive buffer with.
 
-Chaitanya M Bhatt

--
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

mn

unread,
Feb 7, 2011, 1:06:28 AM2/7/11
to lr-loa...@googlegroups.com
Hi, Lary u r using winsock rightly because u r using Window Application don't try any another protocol and go to option before start recording and set according to your task. like proper plastform etc.



On Sun, Feb 6, 2011 at 10:19 PM, lx2007 <larryx...@gmail.com> wrote:
--
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



--
Thanx & Regards,

Mudit Nagar
(+91)9958555992

James Pulley

unread,
Feb 7, 2011, 9:31:19 AM2/7/11
to lr-loa...@googlegroups.com, Advanced-...@yahoogroups.com
Ouch, you're on a difficult path. Winsock is probably the dirtiest route
you could take to represent a database protocol. And, if this is your
first foray into Winsock and this particular protocol success is far from
assured.

I would consider several other routes with higher potential for success.
Starting from the top of the OSI, consider Citrix or RDP depending upon your
infrastructure. This is a very predictable and plan-able development model
versus the path you are on which is very open ended. Next, consider the
programmatic interfaces supported by SQL Anywhere,
http://en.wikipedia.org/wiki/SQL_Anywhere . You can leverage both ODBC and
JDBC through several different protocol types. You will need to collect the
queries for a representative business process and then either hand code them
in the case of JDBC or use a tool like MSQUERY as a recordable interface to
process the queries. Lastly, you might consider the options of the SDK
virtual user to roll your own custom if you need to integration. This
could be particularly useful if you need to build quite a script library.

If you know the intended queries, then I would likely go the ODBC route
because of the availability of the recordable interface (MSQUERY) and
avoidance of the Java client version black magic issues that JDBC would
bring to the table. This also provides you with a much lighter weight
virtual user model than Citrix/RDP and something that is winnable versus an
epic battle with Sockets.

James Pulley, http://www.loadrunnerbythehour.com/PricingMatrix

--

Reply all
Reply to author
Forward
0 new messages