事务创建函数

事务创建函数

  • int lr_start_transaction(const char * transaction_name)

  • int lr_end_transaction(const char * transaction_name,int status)

  • lr_start_sub_transaction(const char * transaction_son_name,const char * transaction_father_name)

  • lr_end_sub_transaction(const char * transaction_son_name,int status)

transaction_name:事务名称

status:事务结束状态,共有4种状态。

transaction_son_name :子事务名称

transaction_father_name:父事务名称

注意:子事务和父事务很像,但是父事务支持的很多函数在子事务中都无法实现,所以应酌情考虑。

LRPASS (通过)

指事务的状态由系统自动根据默认规则来判断,结果为PASS/FAIL/STOP 
LR_AUTO也是根据服务器的返回状态信息来决定事务是以LR_PASS状态通过还是以LR_FAIL状态结束,只要服务器返回页面,那么事务就会认为请求成功发出去了,服务器看懂了请求也返回了内容,自然事务就是PASS状态。 
这样由于事务的自动判断,导致虽然操作失败的,但是得到了一个响应时间,并且这个响应时间又没正确反映出做这件事情的真正时间,最终影响测试结果。添加检测函数有时候可以解决这个问题

LR-FAIL (失败)

指事务是以PASS状态通过的,说明改事务正确地完成了,并且记录下对应的时间,这个时间就是指做这件事情所需要消耗的时间。

LR-AUTO (自动)

LR_FAIL是指事务以FAIL状态结束,该事务是一个失败的事务,没有完成事务中脚本应该达到的效果,得到的时间不是正确操作的时间,这个时间在后期的统计中将被独立统计。

LR-STOP (暂停)

LR_STOP将事务以STOP状态停止。

说明:

事务的PASS和FAIL状态会在场景的对应计数器中记录,包括通过的次数和事务的响应时间,方便后期分析改事务的吞吐量以及响应时间的变化情况

其中LRAUTO的默认值是LR-PASS,可以在事务结束前通过Ir-set transaction status进行修改。

如果在Ir-end-transaction中没有指定事务的结束状态是LR-AUTO,而 ,是明确指定为LR-PASS. LR-FAIL, LRSTOP中的一种,则事务将以最后指定的状态来结束。

须要注意的是,当使用Ir-start-transaction开始一个事务后,其后面的脚本中不可以再干始同名称的事务,除非这个事务已经通过Ir-end-transaction结束。

Action2()

{

    lr_start_transaction("login");

    //打开登录界面

    web_url("WebTours",

        "URL=http://127.0.0.1:1080/WebTours/",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=",

        "Snapshot=t16.inf",

        "Mode=HTML",

        LAST);

    lr_think_time(4);

    //注意函数的位置

    // jojo1为要查找的文本(实际文本如上图,jojo,仅在登录后才出现,这里为了演示故意找不存在的文本)

web_reg_find("Search=Body", "SaveCount=login_times", "Text=jojo1", LAST);

    //提交登录页面的表单

    web_submit_form("login.pl",

        "Snapshot=t17.inf",

        ITEMDATA,

        "Name=username", "Value=jojo", ENDITEM,

        "Name=password", "Value=bean", ENDITEM,

        "Name=login.x", "Value=0", ENDITEM,

        "Name=login.y", "Value=0", ENDITEM,

        LAST);

    lr_think_time(4);

    if(atoi(lr_eval_string("{login_times}")) >= 1) {//找到“jojo”,说明登录成功

        lr_end_transaction("login", LR_PASS);}

    else{  //未找到,说明登录失败

    lr_end_transaction("login", LR_FAIL);} 

    return 0;

}

原文地址:https://www.cnblogs.com/lvchengda/p/12624857.html

时间: 2024-11-08 17:31:11

事务创建函数的相关文章

触发器、事件、事务、函数

1.事务操作原理:事务开启之后Start transaction,所有的操作都会临时保存到事务日志.只有在得到commit才会关闭,否则清空:2.设置回滚点: savepoint 回滚点名字:  回到回滚点: rollback to 回滚点名字:3.事务特性:ACID  A:原子性,要么成功,要么失败 C:一致性,只有commit时才会改变 I:隔离性,两个窗口操作互不影响 D:永久性,数据提交,不可改变:3_2.锁机制: innodb默认是行锁, 但是如果在事务操作的过程中, 没有使用到索引,

创建函数利用可变参数列表的形式模拟实现printf的功能

★创建函数利用可变参数列表的形式模拟实现printf的功能. 模拟简单的输入单个字符和字符串时的输出形式 如:输入:%c %c %c %c %c\t%s,'h','e','l','l','o',"welcome to here!" 输出:h e l l o   welcome to here! #include<stdio.h> #include<stdlib.h> #include<stdarg.h>    //需引入stdarg的头文件以便建立可

mysql 创建函数ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_f

mysql 创建函数的时候 报错 ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)ERROR 1418 (HY000

Python 动态创建函数【转】

知乎上也有相似的问题 偶然碰到一个问题,初想是通过动态创建Python函数的方式来解决,于是调研了动态创建Python函数的方法. 定义lambda函数 在Python中定义lambda函数的写法很简单, func = lambda: "foobar" 可以认为lambda函数是最常用的一种方式. 定义局部函数 Python中函数可以在代码块中进行定义,比如decorator就是通过这种方式实现的, def decorator(func): def _(*args, **kwargs)

shell创建函数和引用函数

通常在编写shell脚本时,你会发现多个地方使用同一段代码.如果只是一小段代码也就无关紧要了.但要在shell脚本中多次重写大块代码段就会比较辛苦了.bash shell支持用户定义的函数,这样就解决了这个难题.今天就聊聊shell中是如何玩转函数的. bash shell有个特性是允许我们这么做的.函数(function)是可以起个名字并在代码中任何位置重用的代码块.如果我们在脚本中使用该代码块时,只要使用分配的函数名就行了(这个过程称为调用函数).接下来我们就聊聊函数的创建和使用: 创建函数

MySQL创建函数报“ERROR 1418 ”错误,不能创建函数

MySQL创建函数报ERROR 1418错误,不能创建函数,根据官方提示是说,不能创建函数可能是一个安全设置方面的配置或功能未开启原因,下面我们一起来看. 错误 ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less

MySQL 创建函数(Function)

目标 怎么样MySQL创建数据库功能(Function) 语法 CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,參数是可选的 RETURNS type [ characteristic ...] routine_body CREATE FUNCTION 用来创建函数的keyword: func_name 表示函数的名称: func_parameters为函数的參数列表,參数列表的形式为:[IN|OUT|INOUT] param_na

学习SQL日记(九)--ORACLE 创建函数

Ⅰ.创建函数 Ⅱ.截取字符串函数 : REGEXP_SUBSTR 1 CREATE OR REPLACE FUNCTION GET_NUM(GALV_COOT VARCHAR2) RETURN NUMBER IS 2 RESULT NUMBER; 3 BEGIN 4 RESULT := TO_NUMBER(REGEXP_SUBSTR(GALV_COOT , '\d{2,3}')); --取字符串里最少两位 最多三位 的数字 5 IF RESULT IS NULL 6 THEN RETURN 0

循环中创建函数的问题

//糟糕的例子 var add_handlers = function(nodes){ var i; for(i = 0; i < nodes.length; i++){ nodes[i].onclick = function (e){ alert(i); }; } }; //结束糟糕的例子 //改进的例子 var add_handlers = function(nodes){ var helper = function(i){ return function(e){ alert(i); } }