当前位置: 首页 > news >正文

性能测试学习 第四课

1、完成前程贷的(登录,投标)

2、所有的返回信息都用关联函数(web_reg_save_param_ex)进行关联

3、对返回信息用(strcmp)函数进行if判断

Action()
{
//关联登录成功
    web_reg_save_param_ex(
        "ParamName=success",
        "LB=<p class=\"success\">",
        "RB=</p>",
        //"DFEs=test",
        //"NotFound=warning",
        "Ordinal=1",
        //"SaveOffset=2",
        //"SaveLen=3",
        SEARCH_FILTERS,
        "Scope=ALL",
        //"RelFrameID=1",
        //"RequestUrl=testURL",
        //"ContentType=text/html",
        LAST ); 

//登录成功
    lr_start_transaction("登录成功");

    web_submit_data("web_submit_data",
     "Action=http://120.78.128.25:8765/Frontend/Index/login",
     "Method=POST",
     "TargetFrame=",
     "RecContentType=application/json, text/javascript, */*; q=0.01",
     "EncType=application/x-www-form-urlencoded; charset=UTF-8",
     "Referer=http://120.78.128.25:8765/Index/login.html",
     "Snapshot=t22.inf",
     "Mode=HTML",
     ITEMDATA,
     "Name=phone", "Value=13825161923", ENDITEM,
     "Name=password", "Value=lemon123", ENDITEM,
     "Name=vcode", "Value=", ENDITEM,
     "Name=remember_me", "Value=1", ENDITEM,
     "Name=notify_url", "Value=", ENDITEM,
     LAST );

//判断是否登录成功
    //lr_end_transaction("登录成功", LR_AUTO);
       //strcmp(str1,str2):比较两str的大小
       if(strcmp(lr_eval_string("{success}"),"登录成功")==0)
    {
       lr_end_transaction("登录成功",LR_PASS);
       lr_error_message("登录成功:%s",lr_eval_string("{success}"));
    }
   else
    {
       lr_end_transaction("登录成功",LR_FAIL);
    }
    

//获取投资ID
    web_reg_save_param_ex(
        "ParamName=id",
        "LB=href=\"/loan/loan_detail/Id/",
        "RB=.html",
        "Ordinal=ALL",
        //"SaveOffset=1",
        SEARCH_FILTERS,
        LAST);

    web_url("web_url",
      "URL=http://120.78.128.25:8765/Index/login.html",
      "TargetFrame=",
      "Resource=0",
      "Referer=",
      "Mode=HTML",
      LAST);

    //lr_error_message("id:%s",lr_eval_string("{id_1}"));

//关联token
    web_reg_save_param_ex(
        "ParamName=token",
        "LB=data-token=\"",
        "RB=\"",
        "Ordinal=1",
        //"SaveOffset=1",
        SEARCH_FILTERS,
        LAST);
     web_url("web_url",
       "URL=http://120.78.128.25:8765/loan/loan_detail/Id/{id_1}.html",
       "RecContentType=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
       "Mode=HTML",
       LAST);

    //lr_error_message("token的值是:%s",lr_eval_string("{token}"));


//关联state=1
    web_reg_save_param_ex(
        "ParamName=state",
        "LB={\"state\":",
        "RB=,\"msg\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST ); 

//投资操作
    lr_start_transaction("投资成功");

    web_submit_data("invest",
     "Action=http://120.78.128.25:8765/Invest/invest",
     "Method=POST",
     "TargetFrame=",
     "RecContentType=application/json, text/javascript",
     "Referer=http://120.78.128.25:8765/loan/loan_detail/Id/{id_1}.html",
     "Mode=HTML",
     ITEMDATA,
     "Name=id", "Value={id_1}", ENDITEM,
     "Name=val", "Value=100", ENDITEM,
     "Name=token", "Value={token}", ENDITEM,
     "Name=rewardValue", "Value=0", ENDITEM,
     LAST );

//判断是否投资成功
    //lr_end_transaction("投资成功", LR_AUTO);
       //strcmp(str1,str2):比较两str的大小
       if(strcmp(lr_eval_string("{state}"),"1")==0)
    {
       lr_end_transaction("投资成功",LR_PASS);
       lr_error_message("本次投标id:%s,本次投资状态是:%s",lr_eval_string("{id_1}"),lr_eval_string("{state}"));

    }
   else
    {
       lr_end_transaction("投资成功",LR_FAIL);
    }

}

4、预习(lr_save_string,web_custom_request)函数和参数化

  1)lr_save_string("aaa","param"):将字符串“aaa”,另存为param。

  2)web_custom_request可以发送GET请求 也可以发送POST请求

转载于:https://www.cnblogs.com/AllblueXoXo/p/10683584.html

相关文章:

  • Markdown 编辑器 1.1.7 发布,新增全屏模式
  • pdf如何解密?解密的方法有这些
  • linux安装docker
  • docker使用阿里云镜像仓库
  • JDK基础---组合知识疑问
  • Spring Cloud学习笔记--Spring Boot初次搭建
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 基于时间轮的定时器
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 前后端分离,tomcat特殊字符不识别问题
  • 纯前端的分页(利用vant的List组件)
  • 汉诺塔问题(Hanoi Tower)递归算法解析(Python实现)
  • 数据库(MySQL)
  • Hive分桶
  • 第三章:内存分配与回收策略
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • angular学习第一篇-----环境搭建
  • Apache的基本使用
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Java 23种设计模式 之单例模式 7种实现方式
  • JavaScript函数式编程(一)
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • leetcode388. Longest Absolute File Path
  • Service Worker
  • Spring声明式事务管理之一:五大属性分析
  • Swoft 源码剖析 - 代码自动更新机制
  • vue-cli3搭建项目
  • vue自定义指令实现v-tap插件
  • 基于Android乐音识别(2)
  • 模型微调
  • 前端面试之CSS3新特性
  • 通过git安装npm私有模块
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 应用生命周期终极 DevOps 工具包
  • 第二十章:异步和文件I/O.(二十三)
  • # 透过事物看本质的能力怎么培养?
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #QT(串口助手-界面)
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转载)OpenStack Hacker养成指南
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Core中Emit的使用
  • .NET MVC之AOP
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .Net8 Blazor 尝鲜
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET建议使用的大小写命名原则
  • @RequestMapping处理请求异常
  • @vue/cli脚手架