在测试时,我们可以根据文本检查点判断事务是否执行正确。

 

我们在启动流程时,成功返回:

 

我们检查这个响应结果是否有。

int i=0;

i=web_reg_find("Text=\":1,\"",
        "Search=Body",
        LAST);

web_submit_data("startFlow.ht",
        "Action=http://192.168.1.154:8080/bpmhac/platform/bpm/task/startFlow.ht",
        "Method=POST",
        "RecContentType=text/html",
        "Referer=http://192.168.1.154:8080/bpmhac/platform/bpm/task/startFlowForm.ht?defId=10000027300066",
        "Snapshot=t235.inf",
        "Mode=HTTP",
        ITEMDATA,
        "Name=actDefId", "Value=csqdxn:1:10000027300065", ENDITEM,
        "Name=defId", "Value=10000027300066", ENDITEM,
        "Name=businessKey", "Value=", ENDITEM,
        "Name=runId", "Value=0", ENDITEM,
        "Name=startNode", "Value=", ENDITEM,
        "Name=m:jdbcs:xm", "Value=a", ENDITEM,
        "Name=m:jdbcs:bianma", "Value=", ENDITEM,
        "Name=formKey", "Value=10000027300052", ENDITEM,
        "Name=formData", "Value={\"main\":{\"fields\":{\"xm\":\"a\",\"bianma\":\"\"}},\"sub\":[],\"opinion\":[]}", ENDITEM,
        LAST);

if(i==0){
lr_end_transaction("startFlow", LR_PASS);
}
else{
lr_end_transaction("startFlow", LR_FAIL);
}

这个代码根据响应判断事务是否成功。

 

在vuser_gen下这个执行是正确的。

但是在controller下并发执行,发现出现事务错误。

在服务端调试时并没有发现启动流程有报错记录。

 

在通过问老师,老师让我去打印一下相应的情况,看看日志结果。

代码改成如下:

使用关联,左右边界都为空。

打印响应的内容。

通过打印日志,发现:

Action.c(10): web_set_max_html_param_len was successful   [MsgId: MMSG-26392]
Action.c(19): Registering web_reg_save_param_ex was successful   [MsgId: MMSG-26390]
Action.c(28): Redirecting "http://192.168.1.154:8080/bpmhac/platform/bpm/task/startFlow.ht" (redirection depth is 0)   [MsgId: MMSG-26694]
Action.c(28): To location "http://192.168.1.154:8080/bpmhac/loginRedirect.ht"   [MsgId: MMSG-26693]
Action.c(28): Redirecting "http://192.168.1.154:8080/bpmhac/loginRedirect.ht" (redirection depth is 1)   [MsgId: MMSG-26694]
Action.c(28): To location "http://192.168.1.154:8080/bpmhac/loginRedirect.ht"   [MsgId: MMSG-26693]
Action.c(28): Redirecting "http://192.168.1.154:8080/bpmhac/loginRedirect.ht" (redirection depth is 2)   [MsgId: MMSG-26694]
Action.c(28): To location "http://192.168.1.154:8080/bpmhac/login.jsp"   [MsgId: MMSG-26693]
Action.c(28): web_submit_data("startFlow.ht") was successful, 3124 body bytes, 1072 header bytes   [MsgId: MMSG-26386]
Action.c(47): output:HTTP/1.1 302 Found
Server: Apache-Coyote/1.1
Cache-Control: no-cache
Pragma: no-cache
Expires: Wed, 31 Dec 1969 23:59:59 GMT
Location: http://192.168.1.154:8080/bpmhac/loginRedirect.ht
Content-Type: text/html;charset=UTF-8
Content-Length: 0
Date: Fri, 23 Jan 2015 09:24:47 GMT

 

发现启动流程时,发生了登录跳转。

 

结合服务器查看,终于找到问题的原因,因为在录制脚本是,都统一使用同一个用户进行登录,服务端有配置了单一用户登录。

意思就是同一个用户,一个时间点只能登录一次,去掉这个限制,再重新测试,结果终于正常了。

LoadRunner 文本检查点使用的更多相关文章

  1. loadrunner:文本检查点web_reg_find和web_find两个函数的区别

    web_reg_find是先注册(register)后查找的:使用时将它放在请求语句的前面. 而web_find是查找前面的请求结果:使用时将它放在请求语句的后面. 另二者的参数也完成不一样的,web ...

  2. loadrunner文本检查点

    将脚本切换回代码界面, 在光标闪烁的上行,添加如下的代码: 添加的代码根据你检查的方式不同而不同, 你可以选择其中之一即可. 代码一: web_reg_find("Text=Payment ...

  3. LoadRunner设置检查点的几种方法介绍

    前段时间在群里跟大家讨论一个关于性能测试的 问题,谈到如何评估测试结果,有一个朋友谈到规范问题,让我颇有感触,他说他们公司每次执行压力测试的时候,都要求脚本中必须有检查点存在,不然测试结果 将不被认可 ...

  4. 文本检查点web_reg_find和web_find两个函数的区别

    LR脚本实战:文本检查点web_reg_find和web_find两个函数的区别   web_reg_find是先注册(register)后查找的:使用时将它放在请求语句的前面. 而web_find是 ...

  5. LoadRunner之检查点

    一.什么是检查点 LoadRunner中检查点是用来判断脚本是否执行成功的.如果不加检查点,只要服务器返回的HTTP状态码是200,VuGen就认为脚本执行通过了.但是很多情况下服务器返回200并不代 ...

  6. Loadrunner 11检查点使用方法总结

    在使用Loadrunner 11进行性能测试中,有时需要对性能测试中的功能是否全部正确进行判断.这里就需要用到“检查点”,本文总结了常用三种协议下检查点的使用方法,希望阅读本文后的小伙伴们能够掌握其使 ...

  7. LoadRunner添加检查点

    见过磕长头的人吗?他们的脸和手都很脏,可是心灵却很干净. ——<可可西里> 1.选择需要设置检查点的内容 有如下“添加客户”功能,添加任务操作完成之后,我希望检查是否添加成功.从图中可以看 ...

  8. Loadrunner 使用检查点

    在使用loadrunner 测试时,比如我们在登陆时,我们希望说登录是否成功.这个时候我可以使用检查点函数. 检查登录后,页面上是否返回了某个标识,这样我们可以根据标识判断登录事务是否成功.   现在 ...

  9. loadrunner下检查点乱码情况处理

    对于很多用过LR的人来说,乱码一直是很纠结的事情,尤其是对新手来说.网上给的解决方法是在录制的时候勾选UTF-8选项,但是似乎并没有解决. 对于用户名为中文或者检查点为中文的情况,我们又该如何去处理呢 ...

随机推荐

  1. C#正则表达式编程(四):正则表达式

    正则表达式提供了功能强大.灵活而又高效的方法来处理文本.正则表达式的全面模式匹配表示法使您可以快速分析大量文本以找到特定的字符模式:提取.编辑.替换或删除文本子字符串:或将提取的字符串添加到集合以生成 ...

  2. phpcms 修改后台 主页面的模板

    代码在phpcms/modules/admin/templates/main.tpl.php 在该文件修改就可以修改 phpcms后台管理系统的 首页面.

  3. 转一篇讲camera的 mb好多年不搞3d 都忘光了

    Camera定义 游戏中,Camera用来向用户展示场景,Camera就像一个摄像机,摄像机里面的景象就是Camera的展示范围,如下图所示: 在3D空间中Camera被定义为一个位置,有一个单位“方 ...

  4. iOS JS交互

    1. 添加本地js文件, 并配置head中的属性 function increaseMaxZoomFactor() {        var element = document.createElem ...

  5. Java编程思想学习笔记_4(异常机制,容器)

    一.finally语句注意的细节: 当涉及到break和continue语句的时候,finally字句也会得到执行. public class Test7 { public static void m ...

  6. android 回调函数的使用

    // activity 之间方法调用的桥梁 public class ActivityCallBridge { static ActivityCallBridge mBridge; private O ...

  7. @synchronized (object)使用详解

    synchronized关键字代表这个方法加锁,相当于不管哪一个线 程A每次运行到这个法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D)运 ...

  8. html5移动端制作知识点总结

    一.测试工具:1.Chrome 2.Opera Mobile二.分辨率:一般现代手机最小320px,最大640px.三.全屏流体设计: 1.腾讯新闻:http://xw.qq.com/ 2.途牛旅游: ...

  9. 【ros】Create a ROS package:package dependencies报错

    $rospack depends1 beginner_tutorials 报错:Erros:could notn call python function 'rosdep2.rospack.init_ ...

  10. 大S《美容大王》内容80%都是没用的东西

    揭20位明星真实人品 我在她大陆的企划公司工作过,见过她N次了,对人态度蛮不错的,而且很爱开玩笑,但感觉很假很抠门.只要一回公司她就黏着请她吃饭.她很主动很霸道,她和周渝民交往,原因之一就是周什么都听 ...