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. .NETFramework:Timers

    ylbtech-.NETFramework:Timers 1.返回顶部 1. #region 程序集 System, Version=4.0.0.0, Culture=neutral, PublicK ...

  2. 解决warning: LF will be replaced by CRLF in **(filename)

    使用Windows的Git使用 git add 时出现warning: LF will be replaced by CRLF in **(filename) 原因: CRLF -- Carriage ...

  3. Broken robot

    题意: 要在$nm$的矩阵中从 $(i,j)$ 处移动到第 $n$ 行,每次移动可在不动.左移一格.右移一格.下移一格 4 种选择中等概率随机选一种,但移动不能超出矩阵.求移动次数的期望,最少保留4位 ...

  4. python 之队列

    进程和线程模块下都有队列类. 线程队列: # 后进先出->堆栈 q=queue.LifoQueue(3) # 优先级队列,数字越小优先级越高 q=queue.PriorityQueue(3) 进 ...

  5. Flutter实战视频-移动电商-39.路由_Fluro的路由配置和静态化

    39.路由_Fluro的路由配置和静态化 handler只是单个路由的配置,这节课我们要学习路由的整体配置 整体配置 新建routers.dart文件来做整体配置 detailsHandler就是我们 ...

  6. struts2注解的作用

    Struts2注解 1 Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2 导包 必须导入struts2-convention-plugin-2.3.15.jar包, ...

  7. UVa 1631 Locker (DP)

    题意:有一个 n 位密码锁,每位都是0-9,可以循环旋转.同时可以让1-3个相邻数字进行旋转一个,给定初始状态和目状态,问你最少要转多少次. 析:很明显的一个DP题.dp[i][j][k] 表示前 i ...

  8. C#总结---方法的out参数和ref参数

    我们知道,在c#中,当我们在一个方法中想要访问另一个方法中的变量的时候,有两种解决方案---参数和返回值.但当需要返回多个值,并且是不同类型的值的之后应该怎么办呢?解决方案可以是 (1)将所有类型数据 ...

  9. IOS实时监控上传下载速度

    在开发中要获取网络类型是很简单的,导入Reachability直接获取状态就行了,现在我们要做一个类似下载器的那种实时把上传下载速度显示出来. 需要用到的头文件 使用Reachability 要测速度 ...

  10. PhpStrom之添加文件夹至左侧目录树

    1.打开编辑器,点击工具栏 File,并选择Open (File -> Open) 2.选择需要添加的文件夹路径,点击 OK 3.点击OK后弹出下图窗口(第一个选项:Open in new wi ...