Action()
{

//1、设置服务器的IP地址
//lr_save_string("192.168.1.12:8080", "ip");
lr_save_string("192.168.1.13:8080","ip");

//2、访问登录首页面
web_url("当当网",
"URL=http://{ip}/project",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);

//停顿2秒
lr_think_time(2);

//3、转到登录页面
web_url("登录页面",
"URL=http://{ip}/project/user/tologinAction",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{ip}/project/",
"Snapshot=t2.inf",
"Mode=HTML",
LAST);

//停顿2秒
lr_think_time(2);

lr_start_transaction("提交登录信息");

//4、提交登录信息
web_submit_data("提交登录",
"Action=http://{ip}/project/user/login",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://{ip}/project/user/tologinAction",
"Snapshot=t3.inf",
"Mode=HTML",
"EncodeAtSign=YES",
ITEMDATA,
"Name=user.email", "Value={userName}@project.com", ENDITEM,
"Name=user.password", "Value=123123", ENDITEM,
"Name=uri", "Value=", ENDITEM,
LAST);

lr_end_transaction("提交登录信息", LR_AUTO);

//停顿2秒
lr_think_time(2);
lr_start_transaction("浏览要购买的书籍");

//5、浏览要购买的书籍
web_url("书名:",
"URL=http://{ip}/project/main/book_view?id={bookId}",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{ip}/project/main/mainAction",
"Snapshot=t4.inf",
"Mode=HTML",
LAST);

lr_end_transaction("浏览要购买的书籍", LR_AUTO);

//停顿2秒
lr_think_time(2);
lr_start_transaction("进入书籍详情信息");

//6、进入书籍详情信息
web_url("书籍详情",
"URL=http://{ip}/project/cart/cartBuy?id={bookId}",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Referer=http://{ip}/project/main/book_view?id={bookId}",
"Snapshot=t5.inf",
"Mode=HTML",
LAST);

lr_end_transaction("进入书籍详情信息", LR_AUTO);

//停顿2秒
lr_think_time(2);
lr_start_transaction("查看购物车信息");

//7、查看购物车信息
web_url("购物车信息",
"URL=http://{ip}/project/cart/cart",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{ip}/project/main/book_view?id={bookId}",
"Snapshot=t6.inf",
"Mode=HTML",
LAST);

lr_end_transaction("查看购物车信息", LR_AUTO);

//停顿2秒
lr_think_time(2);

lr_start_transaction("结算");

//8、结算
web_url("结算",
"URL=http://{ip}/project/order/confirm",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{ip}/project/cart/cart",
"Snapshot=t7.inf",
"Mode=HTML",
LAST);
lr_end_transaction("结算", LR_AUTO);

//9-1、设置html支持的字符长度为1024
web_set_max_html_param_len("1024");

//9-2、设置关联,获取令牌的名字
web_reg_save_param("tokenName",
"LB=name=\"struts.token.name\" value=\"",
"RB=\" \/>",
LAST);

//9-3、设置关联,获取令牌的值
web_reg_save_param("token",
"LB=name=\"struts.token\" value=\"",
"RB=\" \/>",
LAST);

//9-4、设置关联,获取地址编号
web_reg_save_param("addressId",
"LB=id=\"addressId\" value=\"",
"RB=\"\/>",
LAST);

//停顿2秒
lr_think_time(2);
lr_start_transaction("选择收货地址");

//10、选择收货地址
web_url("选择收货地址",
"URL=http://{ip}/project/order/addressForm",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{ip}/project/order/confirm",
"Snapshot=t8.inf",
"Mode=HTML",
LAST);

lr_end_transaction("选择收货地址", LR_AUTO);

//停顿2秒
lr_think_time(2);
lr_start_transaction("确定收货地址");

//11、确定收货地址
web_custom_request("确定收货地址",
"URL=http://{ip}/project/order/address",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=application/json",
"Referer=http://{ip}/project/order/addressForm",
"Snapshot=t9.inf",
"Mode=HTML",
"EncType=",
LAST);

lr_end_transaction("确定收货地址", LR_AUTO);

//停顿2秒
lr_think_time(2);
lr_start_transaction("提交订单信息");

//12、提交订单信息
web_submit_data("提交订单",
"Action=http://{ip}/project/order/orderSubmit",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://{ip}/project/order/addressForm",
"Snapshot=t10.inf",
"Mode=HTML",
ITEMDATA,
"Name=struts.token.name", "Value={tokenName}", ENDITEM,
"Name=struts.token", "Value={token}", ENDITEM,
"Name=addr.id", "Value={addressId}", ENDITEM,
"Name=addr.receive_name", "Value=书籍1", ENDITEM,
"Name=addr.full_address", "Value=书籍2", ENDITEM,
"Name=addr.postal_code", "Value=123123", ENDITEM,
"Name=addr.phone", "Value=", ENDITEM,
"Name=addr.mobile", "Value=13800138000", ENDITEM,
"Name=submit", "Value=下一步", ENDITEM,
LAST);

lr_end_transaction("提交订单信息", LR_AUTO);

return 0;
}

LR中订单流程脚本2的更多相关文章

  1. LR中订单流程脚本

    Action(){ /* 主流程:登录->下订单->支付订单->获取订单列表 定义事物 1)登录 2)下订单 3)支付订单 4)获取订单列表 接口为:application/json ...

  2. LR性能测试分析流程

    LR性能测试分析流程 一.     判断测试结果的有效性 (1)在整个测试场景的执行过程中,测试环境是否正常. (2)测试场景的设置是否正确.合理. (3)测试结果是否直接暴露出系统的一些问题. (4 ...

  3. LR中的时间戳函数web_save_timestamp_param

    以前真没注意过后面看某个群有人说到这个函数一查,还真有,那么处理时间戳就简单很多了,我们经常在各种网站上看到类似于这样的时间戳 51Testing软件测试网"d bLq!uR&am ...

  4. 第二十三篇:在SOUI中使用LUA脚本开发界面

    像写网页一样做客户端界面可能是很多客户端开发的理想. 做好一个可以实现和用户交互的动态网页应该包含两个部分:使用html做网页的布局,使用脚本如vbscript,javascript做用户交互的逻辑. ...

  5. 关于LR中的EXTRARES

    LoadRunner脚本之EXTRARES参数 EXTRARES:分隔符,表示标记下一个属性是资源属性的列表(list of resource attributes). [EXTRARES后的资源是由 ...

  6. LR中的C语言问题

    今天在调试LR的脚本(C)时遇到了几个甚是头痛得问题,下面简单总结下: 1.首先LR中的C编译器遵循C90标准,规定在一个函数中,变量定义必须放在所有的执行语句之前!一旦在运行语句之间再有定义的话,会 ...

  7. LR中的编码问题

    [转载]LoadRunner字符集与检查点的探讨 很多人在loadrunner测试脚本中加入中文检查点的时候会出现检查失败的情况,究竟是为什么呢?其实是被测试系统与loadrunner字符集之间的转换 ...

  8. LR中日志设置和日志函数

    LR中日志参数的设置与使用 1.Run-Time Setting日志参数的设置 在loadrunner的vuser菜单下的Run-Time Setting的General的LOG选项中可以对在执行脚本 ...

  9. LR中HTTP协议录制模式选择

    在LR中使用HTML/HTTP协议进行脚本录制时面临正确选择HTTP-based script / URL-base script 录制模式的问题,以下是比较官方的建议:1)基于浏览器的应用程序推荐使 ...

随机推荐

  1. bzoj2962

    线段树+卷积 这个东西直接算不太好,但是合并两段结果却很方便,假设c[i]表示选i个数乘积的和,那么$a[i]=\sum_{j=0}^{i}{b[j]*c[i-j]}$ 线段树维护即可 #includ ...

  2. studio 集成 Genymotion后打开模拟器出错、打开虚拟机VirtualBox出错

    好吧,首先给出错误类型如下: “Unable to load R3 module D:\Program Files\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastErr ...

  3. Uncaught TypeError: window.showModalDialog is not a function 谷歌

    //新版本谷歌没有window.showModalDialog,创建一个window.openif(window.showModalDialog == undefined){ window.showM ...

  4. C#简单的国际化

    1.新建一个资源文件夹,并在资源文件夹新建中英问的资源文件,如图: 2.中英文资源文档添加资源,如图: 3.Program.cs中添加根据系统语言确定中英文,这里默认为英文: using Intern ...

  5. BZOJ3289【莫队算法+树状数组+离散化】

    思路: 区间逆序数即是交换次数. 逆序数,可以用树状数组吧. 怎么处理区间变换的时候求逆序数啊.. 这里分成左边的增/删,右边的增/删 因为是按时序插入, 所以左边增,增一个数,计算:ans+=sun ...

  6. POJ 3067【树状数组】

    题意: 给你两行数字,n个m个,然后给你k条线直接把两个数连起来,问有多少个交叉的 思路: 假定上一行是起点,下一行是终点. 把路按照起点从大到下排序, 然后可以直接对每条路查询,这条路目前的交叉数, ...

  7. Java内存模型(Java Memory Model,JMM)

    今天简单聊聊什么叫做 Java 内存模型,不是 JVM 内存结构哦. JMM 是一个语言级别的内存模型,处理器的硬件模型是硬件级别,Java中的内存模型是内存可见性的基本保证.从而为我们 volati ...

  8. IT兄弟连 JavaWeb教程 EL与JSTL表达式经典案例

    案例需求:使用MVC模式编写一个程序,当发起一个deptList.do请求时,在servlet中准备一个部门列表对象,把这个列表对象放入request作用域中转发到deptlist.jsp,使用JST ...

  9. PostgreSQL - 怎么转换数据类型

    前言 对于select 233;这个sql,得到的结果是int4类型,如果我们希望将结果转换成其他的数据类型,有以下方法(下边的{数据类型}表示占位符,要替换成数据库中的某一种数据类型): 方法一:使 ...

  10. JToken和JObject有什么区别

    JObject  用于操作JSON对象JArray    用语操作JSON数组JValue   表示数组中的值JProperty 表示对象中的属性,以"key/value"形式JT ...