Action()
{

    int nHttpRetCode;  

    lr_rendezvous("read");

lr_start_transaction("go    /*web_reg_find("Fail=NotFound",

        "Text=4001",
        LAST);*/

    //提取返回结果
    web_reg_save_param("status",
        "LB=\"status\":\"",
        "RB=\",",
        "Ord=1",
        "NotFound=ERROR",
        "Search=NoResource",
        LAST);

    // 默认最大长度为256,get请求需注意缓存问题,需要根据content-length进行修改
    web_set_max_html_param_len("262144");
    //自定义截取字符串,根据左右字符串获取数据,设置查找范围为消息体、左右查找边界为空则可以获取整个响应体的内容
    web_reg_save_param("ResponseBody", "LB=", "RB=", "Search=Body", LAST);
    // REQUEST为内置变量,保存请求的头信息,需在发送URL请求前注册使用,将请求头信息存入字符串RequestHeader中
    web_save_header(REQUEST, "RequestHeader");
    // 将RESPONSE保存响应的头信息在字符串ResponseHeader中
    web_save_header(RESPONSE, "ResponseHeader");

    //增加header
    web_add_header("Authorization","Basic MDMxMDAwMDM6YmViZTMwM2M1YmQ1MGFkYmY4OGFiMzFlMjVhMGQ0NTg=");
    //get请求
    web_url("test",
        "URL=http://wos-hrs.wondershare.cn/v1/evaluate/list?log_id=1&detail_id=1",
        "RecContentType=text/html",
        "Mode=HTML",
        LAST);

    //post请求
    /*web_custom_request("test",
                       "Method=POST",
                       "URL=http://wos-hrs.wondershare.cn/v1/log/comment",
                       "Body=log_id=1&detail_id=1&comment=1",
                       LAST );*/

    //字符转码
    lr_convert_string_encoding(lr_eval_string("{RequestHeader}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,"RequestHeaderUTF8");
    lr_convert_string_encoding(lr_eval_string("{ResponseHeader}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,"ResponseHeaderUTF8");
    lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),LR_ENC_UTF8 ,LR_ENC_SYSTEM_LOCALE,"ResponseBodyUTF8");
    //输出信息 lr_eval_string()将参数值转换成字符串
    lr_output_message("# 请求头信息:\n %s", lr_eval_string("{RequestHeaderUTF8}"));
    lr_output_message("# 响应头信息:\n %s", lr_eval_string("{ResponseHeaderUTF8}"));
    lr_output_message("# 响应内容体:\n %s", lr_eval_string("{ResponseBodyUTF8}"));
    //获取服务器http响应码,HTTP_INFO_RETURN_CODE变量在请求后使用
    nHttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE);
    if(nHttpRetCode == 200){
      lr_output_message("Success!");
    }else{
      lr_output_message("Failed! ");
    }

    //判断返回结果
    lr_output_message("# 提取返回结果如下:\n %s",lr_eval_string("{status}"));    if (strcmp(lr_eval_string("{status}"),"200")==0)        lr_end_transaction("go",LR_PASS);    else        lr_end_transaction("go",LR_FAIL);    lr_end_transaction("go", LR_AUTO);
return 0;
}

Loadrunner Web (HTTP/HTML) 接口测试的更多相关文章

  1. 老李分享:loadrunner用javavuser进行接口测试

    老李分享:loadrunner用javavuser进行接口测试 在这里分享一个poptest培训过程中案例,在日常工作中会遇到被测试系统通讯都是通过加密的数据包,加密算法是公司自己开发的,并且发送的数 ...

  2. web自动化测试中接口测试学习笔记

    一.web基础 web是实现:客户端浏览器端<—————>服务端  交互的应用: web通常包含两部分:web客户端.web服务端:web客户端技术包含html.javascript.aj ...

  3. 如何利用cURL和python对服务端和web端进行接口测试

    工具描述 cURL是利用URL语法在命令行方式下工作的文件传输工具,是开源爱好者编写维护的免费工具,支持包括Windows.Linux.Mac等数十个操作系统,最新版本为7.27.0,但是我推荐大家使 ...

  4. loadrunner用javavuser进行接口测试

    在日常工作中会遇到被测试系统通讯都是通过加密的数据包,加密算法是公司自己开发的,并且发送的数据包还要经过系统的压缩,以保证系统的性能.利用loadrunner就无法解决这里的加密的技术问题,利用jav ...

  5. LoadRunner web请求和响应中文乱码解决办法

    先来认识下lr_convert_string_encoding: int lr_convert_string_encoding( const char *sourceString, const cha ...

  6. 用LoadRunner实现接口测试

    接口测试的两种方法 其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过 ...

  7. Loadrunner 接口测试的两种方法

    其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程. 方法一.用Lo ...

  8. Loadrunner之HTTP接口测试

    Loadrunner之HTTP接口测试 接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程. ...

  9. LR进行接口测试

    其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程. 方法一.用Lo ...

随机推荐

  1. IntelliJ IDEA执行maven 跳过test

  2. Centos7 nginx报错403 forbidden

    参考链接:http://www.cnblogs.com/chinway/archive/2017/08/14/7356239.html 因为安全性的考虑这个也是默认会出现的错误,因为SELinux的存 ...

  3. vue工具知识

    1.访问数据自动格式化 Google jsonview插件(已用) 2.字体图标库. https://icomoon.io/  上传svg可生成字体图标

  4. SpringBoot--配置详解

    SpringBoot使用了一个全局的配置文件application.properties,放在src/mian/resource目录下或者类路径的/config下.springboot的全局配置文件的 ...

  5. 围在栅栏中的爱WriteUp(附QWE密码加解密脚本)

    题目的链接:http://www.shiyanbar.com/ctf/1917 1.首先题目给出的是摩尔斯电码: 在下面的网站上解密:https://www.cryptool.org/en/cto-c ...

  6. Spring Aware接口

    实现aware接口的bean必须在spring的xml文件中注册,由spring的IOC容器管理 1-ApplicationContextAware接口 可以获取spring的IOC容器 2-Bean ...

  7. Contains Duplicate I & III

    Contains Duplicate I Given an array of integers, find if the array contains any duplicates. Your fun ...

  8. LwIP Application Developers Manual9---LwIP and multithreading

    1.前言 lwIP的内核并不是线程安全的.如果我们必须在多线程环境里使用lwIP,那么我们必须使用“upper”API层的函数(netconn或sockets).当使用raw API时,你需要自己保护 ...

  9. V4L2 API详解 <二> Camera详细设置【转】

    转自:http://blog.sina.com.cn/s/blog_602f87700101bf36.html 作者: Sam (甄峰)  sam_code@hotmail.com   Camera的 ...

  10. 范数(norm) 几种范数的简单介绍

    原文地址:https://blog.csdn.net/a493823882/article/details/80569888 我们知道距离的定义是一个宽泛的概念,只要满足非负.自反.三角不等式就可以称 ...