LR中怎样取到服务器发回来的流水号?
各位大侠,现在我用LoadRunner做性能测试,被测程序是C#写的一个机票预定的C/S程序,我录制的协议是Microsoft.net的,当点击机票预定的按钮时,客户端向服务器端发送了一个请求,服务器端传过来一个流水号,在进入下一个页面时这个流水号和用户名的前四位构成一个订单号。现在的问题是,我的LR录制不下来这个流水号,在测试的时候,虚拟用户订票就全部订到我录制时的用户里面。(比如,录制时的用户是staff001,订单号是staf0000286,0000286---是流水号,虚拟用户可以是staff002~staff110等,那么订票的结果全部是staf0000286订单号。)
我现在就是想知道用什么方法可以把流水号取出来,在脚本里添加一个函数或者其他方法?请各位有经验的大侠指点指点啊,不胜感激!!!!!!!!!!!
[ 本帖最后由 lsl20032 于 2009-2-27 11:07 编辑 ] 其实流水号就是服务器返回的字符串
1:这个字符串如果没加密,并且可视化(在网页源代码中可以看到),直接用web_reg_save_param 将其抓到,并且搞定
2:如果这个字符串加密了。就需要挂dll或者其他处理,先解密,再web_reg_save_param
总的就是先定位。服务器的这些数据返回到哪里可以看到。(这个实在不知道可以问开发的)
然后用web_reg_save_param处理。 用消息队列 vxworks下
接收客户端 服务端线程
struct A{
...
}a;//假设都是字节对齐的
struct B{
...
}b;
char *buf=NUll;
char *buf1=NULL;
//memset(a和b, 0, sizeof(a和b));
recv(socket, buf, sizeof(a), );//假设发送的就是一个A的结构
memcpy(&a, buf, sizeof(a));
//依据不同来源做不同处理完
b里 放了处理过的数据
memcpy(buf1, (char*)&b, sizeof(b));
msgQSend(queue1, buf1, len, NO_WAIT, )
发送数据到服务器客户端线程
变量类似于上
msgQReceive(queue1, buf, len, WAIT_FOREVER);
memcpy(&a, buf, len)
//分析出服务端 客户端不同处理,
这只是个例子。所以这些数据都是有生成的规则什么的。具体问开发人员。你到时候调下接口,或者就让他处理下页面。让那个流水号显示在页面上面,或者页面源代码中。 为什么你向大家提问还要求大家支付积分?
回复 4# 的帖子
就是回复 4# 的帖子
哦,实在不好意思,我是新手来这里,我本来是想给大家积分的,不小心弄错了,谢谢提醒!回复 3# 的帖子
你好,谢谢你的解答,但是我用的是Microsoft.NET协议,好像不能用Web_reg_save_param函数吧?
页:
[1]