LR中订单流程脚本
Action()
{
    /*
    主流程:登录->下订单->支付订单->获取订单列表
    定义事物
    1)登录
    2)下订单
    3)支付订单
    4)获取订单列表
接口为:application/json
思路:用户在app登录后,获取token供用户后续进行操作业务时使用
    参数化:登录用的手机号、GQID号、密码
    */
//定义变量
    //char *invoiceTitle = "发票抬头001";
    //char *remark = "备注001";
    char md5pwd[9] = "123456789";
lr_convert_string_encoding("发票抬头001",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"tempInvoiceTitle");
	lr_convert_string_encoding("备注信息001",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"tempRemark");
	lr_save_string(lr_eval_string("{tempInvoiceTitle}"), "invoiceTitle");
	lr_save_string(lr_eval_string("{tempRemark}"), "remark");
lr_save_string("手机号码", "mobile");
	lr_save_string("4089021", "gqid");
	lr_save_string("密码", "password");
//1、设置新支付密码
    lr_save_string(CMd5(md5pwd), "newmd5pwd");
//2、设置服务器IP地址
    lr_save_string("ip:8080", "ip");
//停顿2秒
    lr_think_time(2);
//3、设置头信息
    //web_add_auto_header("Accept", "application/json");
    //web_add_auto_header("Content-Type", "application/json;charset=utf-8");
//4、设置html支持的字符长度为1024
    web_set_max_html_param_len("1024");
//5、设置关联
    web_reg_save_param("code",
                       "LB=\"code\":",
                       "RB=,\"msg\"",
                       LAST);
//6、获取token值
    web_reg_save_param("token",
                       "LB=\"token\":\"",
                       "RB=\",\"identity\"",
                       LAST);
//开始登陆事物
    lr_start_transaction("提交登录");
//7、提交登录
    web_custom_request("提交登录", "Method=POST",
                       "URL=http://{ip}/mobile/api/user/login",
                       "Mode=HTTP",
                       "EncType=application/json;charset=utf-8",
                       "RecContentType=application/json",
                       "Body={\"mobile\":\"{mobile}\",\"gqid\":\"{gqid}\",\"password\":\"{password}\"}",
                       LAST );
//结束post请求
        lr_end_transaction("提交登录", LR_PASS);
//8、判断提交登录是否成功
    /*if(atoi(lr_eval_string("{code}")) == 0)
    {
        //结束post请求
        lr_end_transaction("提交登录", LR_PASS);
        lr_output_message("提交登录成功");
}
    else
    {
        //结束post请求
        lr_end_transaction("提交登录", LR_FAIL);
        lr_output_message("提交登录失败");
    }*/
//结束登陆事物
//9、获取payId值
	web_reg_save_param("payId",
		"LB=\"payId\":\"",
		"RB=\",",
		LAST);
//停顿2秒
    lr_think_time(2);
    lr_start_transaction("下订单");
    //10、下订单
    web_custom_request("下订单", "Method=POST",
                       "URL=http://{ip}/mobile/api/order/addorder",
                       "Mode=HTTP",
                       "EncType=application/json;charset=utf-8",
                       "RecContentType=application/json",
                       "Body={\"token\": \"{token}\",\"getAddrId\": 1,\"getCarId\": 25,\"payType\": 2,\"remark\": \"{remark}\",\"price\": 66.8,\"orders\": [{\"getTime\": 1450921104000,\"goodss\": [{\"goodsId\": 93,\"count\": 1},{\"goodsId\": 96,\"count\": 1}]}],\"invoiceTitle\": \"{invoiceTitle}\"}",
                       LAST );
lr_end_transaction("下订单", LR_AUTO);
//停顿2秒
    lr_think_time(2);
    lr_start_transaction("重置支密码");
    //11、支付订单
    web_custom_request("重置支密码", "Method=POST",
                       "URL=http://{ip}/mobile/api/user/modifypaypwd",
                       "Mode=HTTP",
                       "EncType=application/json;charset=utf-8",
                       "RecContentType=application/json",
                       "Body={\"token\":\"{token}\",\"srcpwd\":\"\",\"newpwd\":\"{newmd5pwd}\"}",
                       LAST );
lr_end_transaction("重置支密码", LR_AUTO);
//停顿2秒
    lr_think_time(2);
    lr_start_transaction("支付订单");
//12、支付订单
    web_custom_request("支付订单", "Method=POST",
                       "URL=http://{ip}/mobile/api/pay/pay",
                       "Mode=HTTP",
                       "EncType=application/json;charset=utf-8",
                       "RecContentType=application/json",
                       "Body={\"token\": \"{token}\",\"payId\": \"{payId}\",\"payPwd\": \"{newmd5pwd}\",\"platform\": 3}",
                       LAST );
lr_end_transaction("支付订单", LR_AUTO);
web_convert_param("token", "SourceEncoding=PLAIN", "TargetEncoding=URL",LAST);
//停顿2秒
    lr_think_time(2);
    lr_start_transaction("获取订单列表");
    //13、获取订单列表
    web_url("获取订单列表",
            "URL=http://{ip}/mobile/api/order/getorders?token={token}&offset=0&size=15",
            "Mode=HTML",
            "RecContentType=text/xml;charset=utf-8",
            LAST );
lr_end_transaction("获取订单列表", LR_AUTO);
return 0;
}
LR中订单流程脚本的更多相关文章
- LR中订单流程脚本2
		Action(){ //1.设置服务器的IP地址 //lr_save_string("192.168.1.12:8080", "ip"); lr_save_st ... 
- LR性能测试分析流程
		LR性能测试分析流程 一. 判断测试结果的有效性 (1)在整个测试场景的执行过程中,测试环境是否正常. (2)测试场景的设置是否正确.合理. (3)测试结果是否直接暴露出系统的一些问题. (4 ... 
- LR中的时间戳函数web_save_timestamp_param
		以前真没注意过后面看某个群有人说到这个函数一查,还真有,那么处理时间戳就简单很多了,我们经常在各种网站上看到类似于这样的时间戳 51Testing软件测试网"d bLq!uR&am ... 
- 第二十三篇:在SOUI中使用LUA脚本开发界面
		像写网页一样做客户端界面可能是很多客户端开发的理想. 做好一个可以实现和用户交互的动态网页应该包含两个部分:使用html做网页的布局,使用脚本如vbscript,javascript做用户交互的逻辑. ... 
- 关于LR中的EXTRARES
		LoadRunner脚本之EXTRARES参数 EXTRARES:分隔符,表示标记下一个属性是资源属性的列表(list of resource attributes). [EXTRARES后的资源是由 ... 
- LR中的C语言问题
		今天在调试LR的脚本(C)时遇到了几个甚是头痛得问题,下面简单总结下: 1.首先LR中的C编译器遵循C90标准,规定在一个函数中,变量定义必须放在所有的执行语句之前!一旦在运行语句之间再有定义的话,会 ... 
- LR中的编码问题
		[转载]LoadRunner字符集与检查点的探讨 很多人在loadrunner测试脚本中加入中文检查点的时候会出现检查失败的情况,究竟是为什么呢?其实是被测试系统与loadrunner字符集之间的转换 ... 
- LR中日志设置和日志函数
		LR中日志参数的设置与使用 1.Run-Time Setting日志参数的设置 在loadrunner的vuser菜单下的Run-Time Setting的General的LOG选项中可以对在执行脚本 ... 
- LR中HTTP协议录制模式选择
		在LR中使用HTML/HTTP协议进行脚本录制时面临正确选择HTTP-based script / URL-base script 录制模式的问题,以下是比较官方的建议:1)基于浏览器的应用程序推荐使 ... 
随机推荐
- JavaScript实现Select选择本周、上周、本季、上季、本年的时间选取
			//转自http://blog.csdn.net/xc_young/article/details/16878849,其上季度有错误,已修改 var MrYangUtil = function () ... 
- bzoj1195
			AC自动机+状压dp 多串匹配要想ac自动机 dp[i][S]表示在i状态选中S 转移就用bfs,每个点通过fail收集信息,不要忘记通过fail传递 昨天搞不明白为什么自动机每次只可以转移儿子,不可 ... 
- having,groub by 结合聚合函数的用法解析
			聚合函数有:sum , count, avg, max等等: where无法与聚合函数一起使用,所以在sql语句中加上having子句来筛选查询结果: 上面的sql语句是错的,正确如下: SELECT ... 
- 1.18-1.21 Oozie Coordinator调度
			一.时区问题 1.修改系统时区 ## [root@hadoop-senior hadoop-2.5.0-cdh5.3.6]# rm -rf /etc/localtime [root@hadoop-se ... 
- window.location   js截取url地址
			window.location方法的说明 原文链接: http://jiantian.org/index.php?page_id=2 window.location.href 整个URl字符串(在浏览 ... 
- jquery登录的异步验证
			//定义一个json var validate = { username : false, pwd : false, pwded : false, verify : false, loginUsern ... 
- 前端开发利器 Sublime Text 3 使用技巧和总结笔记
			这篇文章是本人在使用该工具进行前端开发的自我总结,思路也许不是很清楚,不过还是希望对读者的你有所帮助,千万别把这边文章收藏起来发霉哦,无论背多少次快捷键,还不及自己多实际操作几次. 目前官方版正式版 ... 
- .NET Core 3.0之深入源码理解Configuration(三)
			写在前面 上一篇文章讨论了文件型配置的基本内容,本篇内容讨论JSON型配置的实现方式,理解了这一种配置类型的实现方式,那么其他类型的配置实现方式基本可以触类旁通.看过了上一篇文章的朋友,应该看得出 ... 
- iOS 使用cocoapods导入ReactiveCocoa和ReactiveObjC框架
			cocoapods使用 ReactiveObjC -- 对应的是RAC的OC版本,最新3.1.0版本. ReactiveCocoa--对应的是RAC的swift版本,最新7.1.0版本. 1.纯OC项 ... 
- bat 批处理之提取带有关键字的整行数据
			用于在log中检索出insert sql语句,主要用于数据恢复 前言: a.txt 里面存放的是 需要查找的关键字 b.bat limian 存放的是执行程序 生成的文件存放在 c.txt(自动创建) ... 
