51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 18081|回复: 29
打印 上一主题 下一主题

[原创] LoadRunner模拟100个不同用户登录,这100个用户是如何和数据库进行交互?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-6-16 09:52:53 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一直不明白LoadRnner是如何和数据库进行交互的,我在测试时,发现我的脚本错误的用户名和密码,都能正常执行。在负载的时候也能正常运行,明明是错误的用户名和密码为什么还能模拟出很多个用户同时登录,都能Pass。不明白为什么?loadruner的工作原理是什么呢?
我怎么总觉得用loadruner测试有很多不确定的因素。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

30#
发表于 2009-9-7 16:08:59 | 只看该作者
难道得不到返回页面的html代码么?
回复 支持 反对

使用道具 举报

该用户从未签到

29#
发表于 2009-9-7 09:33:39 | 只看该作者
又学习了
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2009-9-4 23:56:39 | 只看该作者

回复 7# 的帖子

受启发了
不过实际应用中,应该增加更多的代码来保存返回结果
或者可以自己定义一个结构体或链表,把整个脚本的结果有序的写入一个文件中
看文件就知道结果是对还是错了
但是负载机的结果不知道是否能写入文件
初步想法,不知有没有人实现过
回复 支持 反对

使用道具 举报

该用户从未签到

27#
发表于 2009-9-4 21:47:14 | 只看该作者
?
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2009-9-3 23:41:56 | 只看该作者
response
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2009-8-16 20:50:50 | 只看该作者
录脚本时选择判断登陆成功的标志位,然后点击设置检查点图标就可以了。你可以把鼠标点到录制脚本的工具栏上看提示
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2009-8-16 02:59:58 | 只看该作者
添加检查点不够。
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2009-8-14 15:32:27 | 只看该作者

回复 7# 的帖子

做个检查点就知道是否成功了,或者查看response,返回值是什么就知道了,再或者输出一个返回值看看
int i=0;
i=web_submit_data("login.pl",
                "Action=http://127.0.0.1:2080/mercuryWebTours/login.pl",
                "Method=POST",
                "TargetFrame=body",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:2080/mercuryWebTours/nav.pl?in=home",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=userSession", "Value={WCSParam_Diff1}", ENDITEM,
                "Name=username", "Value={username}", ENDITEM,
                "Name=password", "Value=tester1", ENDITEM,
                "Name=JSFormSubmit", "Value=off", ENDITEM,
                "Name=login.x", "Value=17", ENDITEM,
                "Name=login.y", "Value=4", ENDITEM,
                LAST);

lr_output_message("===返回值:%d==",i);

如果i=0表示成功,i=1则表示失败了

再或者:
int httpcode=0;
web_submit_data("login.pl",
                "Action=http://127.0.0.1:2080/mercuryWebTours/login.pl",
                "Method=POST",
                "TargetFrame=body",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:2080/mercuryWebTours/nav.pl?in=home",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=userSession", "Value={WCSParam_Diff1}", ENDITEM,
                "Name=username", "Value={username}", ENDITEM,
                "Name=password", "Value=tester1", ENDITEM,
                "Name=JSFormSubmit", "Value=off", ENDITEM,
                "Name=login.x", "Value=17", ENDITEM,
                "Name=login.y", "Value=4", ENDITEM,
                LAST);
   httpCode = web_get_int_property(HTTP_INFO_RETURN_CODE); //紧随web_submit_data()函数后面,获取该函数的http返回值
   
   lr_output_message("===httpcode返回值:%d==",httpCode );

如果返回200,则表示通过,返回其他的,可根据具体返回值的意思来判定。
这段代码加在vugen的哪个部分
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2009-8-14 15:01:37 | 只看该作者
Loadruuner LR中,事务成功的判断标准是只要LR收到服务器的响应信息就会认为事务已经执行成功了。但是想要知道事务是否成功,第一种方法,在程序里面添加日志,进行统计。第二种方法,如果你发送的请求返回值涵盖了某些文字,则可以用check/image的方式检查,在脚本里增加web_reg_find或web_find函数来检查返回结果页面是否有这些文字。

   最简单的例子:

    1. web_find("web_find",

    "What=name",

LAST);

     这个函数放在页面出来之后,即web_submit_data函数之后,Run time setting里面的Preference要把第一项,Enable Image and text check 勾上。

    2. web_reg_find("Text=name",
       LAST);

    这个函数放在页面出来之前。也不用做设置。
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2009-8-13 17:49:14 | 只看该作者
学习了
回复 20#,insert->new step ->web checks
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2009-8-13 15:59:21 | 只看该作者
检查点 怎么加啊
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2009-6-18 18:11:22 | 只看该作者
lr是根据服务器返回的http200代码来判断事务的成功的,如果返回的是200则认为是事务通过,(除非你加了脚本判断检查),譬如发一个请求到web服务器,而web服务器再根据请求去数据库中查询,如果这个时候请求未从数据库中查询,那么web服务器可能就会返回一个默认错误页面,但这个返回对于lr来说,http代码也是200,会认为是事务成功的。所以说它只能判断web服务的返回,但不能够判断返回的正确性。通常是需要加上检查点。

[ 本帖最后由 ttyttt 于 2009-6-18 18:13 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2009-6-18 17:53:40 | 只看该作者
赞同7#说法,在脚本中添加个检查点来进行一下判断,判断是否真的成功登陆了。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2009-6-18 15:16:04 | 只看该作者

回复 4# 的帖子

在吗?能不能帮帮忙啊?
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2008-11-27 10:43:29 | 只看该作者
感谢,学习中
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2016-4-28 05:52
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]测试营长

    15#
    发表于 2008-7-16 16:11:08 | 只看该作者
    道理一大堆,我得好好消化一下了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-7-16 15:33:19 | 只看该作者
    学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-6-17 11:23:25 | 只看该作者
    应该是正确的响应才算是事务通过吧,服务器的响应也可能有失败的返回,这个时候,事务不符合要求就失败了吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2008-6-16 11:55:33 | 只看该作者

    回复 6# 的帖子

    性能测试 和 业务逻辑 没有关系吗?
    性能测试,测试的就是服务器对请求的响应吗,如果服务器有响应那么就算事务通过吗
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-10-5 07:23 , Processed in 0.092023 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表