51Testing软件测试论坛

标题: 如何以时间定义事务成败 [打印本页]

作者: bluemoon1999    时间: 2007-4-27 12:13
标题: 如何以时间定义事务成败
在51testing  看到 LR的功能。
能以时间定义事务的成败。
例子代码 如下:
double time_elapsed, duration, waste;
merc_timer_handle_t timer;
Action()
{
lr_start_transaction("ACCP");
timer = lr_start_timer();
lr_think_time(3);
time_elapsed = lr_end_timer(timer);
// Convert to millisecond.s
waste = time_elapsed * 1000;
if(waste>3)
lr_end_transaction("ACCP", LR_FAIL);
else
lr_end_transaction("ACCP", LR_PASS);
return 0;
}


然后我自己录制的代码 中 自己定义了一个事务,然后想控制事务在1秒中内通过,然后才能判断事务成功。
但是 系统编译 抱错。
下面是我修改后的代码:
#include "web_api.h"

double time_elapsed, duration, waste;
merc_timer_handle_t timer;
Action()
{

        lr_start_transaction("lymlogin");
timer= lr_start_timer();
time_elapsed= lr_end_timer(timer);

        web_url("EMan",
                "URL=http://192.168.1.180:8099/EMan",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t1.inf",
                "Mode=HTML",
                LAST);

        web_url("index.jsp",
                "URL=http://192.168.1.180:8099/EMan/index.jsp",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t2.inf",
                "Mode=HTML",
                EXTRARES,
                "Url=image/bg.gif", ENDITEM,
                "Url=image/button_sure_fb.gif", ENDITEM,
                LAST);

        web_submit_form("systemController",
                "Snapshot=t3.inf",
                ITEMDATA,
                "Name=loginID", "Value=lym", ENDITEM,
                "Name=loginPassword", "Value=sasdjk", ENDITEM,
                EXTRARES,
                "Url=image/main_h_1024.jpg", "Referer=http://192.168.1.180:8099/EMan/systemController?id=2", ENDITEM,
                "Url=image/bg.gif", "Referer=http://192.168.1.180:8099/EMan/systemController?id=2", ENDITEM,
                "Url=image/right.gif", "Referer=http://192.168.1.180:8099/EMan/systemController?id=2", ENDITEM,
                "Url=image/main_l_1024.gif", "Referer=http://192.168.1.180:8099/EMan/systemController?id=2", ENDITEM,
                "Url=image/state.gif", "Referer=http://192.168.1.180:8099/EMan/share/state1.jsp", ENDITEM,
                LAST);

        web_submit_data("designController",
                "Action=http://192.168.1.180:8099/EMan/designController?id=6745",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://192.168.1.180:8099/EMan/systemController?id=2",
                "Snapshot=t4.inf",
                "Mode=HTML",
                ITEMDATA,
                LAST);

waste =time_elapsed*1000;
if(waste>1)

        lr_end_transaction("lymlogin", lr_fail_trans_with_error);
else
    lr_end_transaction("lymlogin",lr_pass);

系统提示错误信息:
Action.c (59): type error in argument 2 to `lr_end_transaction'; found `pointer to int function(pointer to char,...)' expected `int'
Action.c (61): undeclared identifier `lr_pass'
d:\\lrfile\\querye\\\\combined_querye.c (4): 2 errors, not writing pre_cci.ci

不懂。。如何能写 lr_pass);
作者: ppent    时间: 2007-4-28 09:23
LR_PASS是关键字来得,大小写敏感。
另外, lr_end_transaction("lymlogin", lr_fail_trans_with_error);好像也不对吧
作者: rting    时间: 2007-10-29 11:11
timer= lr_start_timer();
time_elapsed= lr_end_timer(timer);
这里这两句不能这样写在一起的,第一句是开始时间,你紧接着就写time_elapsed是不对的。
按照你给出的代码来看,似乎应该把time_elapsed= lr_end_timer(timer);这句放到web_submit_data("designController",
                "Action=http://192.168.1.180:8099/EMan/designController?id=6745",这个前面。

楼主你看仔细例子的中间是有句lr_think_time(3);
这里的3和下面的if语句的waste>3,有很大关系的。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2