接口自动化思路

思路:

1.根据接口文档中的具体需求做好数据准备工作,分析需求,熟悉业务,考虑接口返回值得各种情况,事先做好数据准备,估计预期结果

2.利用Loadrunner编写测试脚本

3.根据业务流程利用web_custom_request(或web_submit_data)函数向服务器发出请求

4.根据事先准备好的数据,来对接口参数进行参数化,考虑好迭代次数、数据更新方法和数据分配方法

5.利用服务器返回的相应内容以及状态码来判断功能是否正确

6.根据脚本产生的日志结果与预期结果进行比对,得出结论

注意:

1.在编写脚本,进行参数化时,可能会遇到转码问题

2.向服务器发送请求时,有时会传输数据包,利用web_custom_request中的body传送数据,注意数据格式

3.对获得的相应内容要做转码,利用lr_convert_string_encoding函数

4.获取httpcode可利用web_get_int_property(HTTP_INFO_RETURN_CODE)函数

5.保存响应体内容,利用web_reg_save_param("ResponseBody", "LB=", "RB=", "Search=Body", LAST);

6.传输数据格式时,必要时要在请求头中加入响应内容,例如:web_add_header("Content-Type","text/xml");

//例子:

 char tmp[50];
 int HttpRetCode;
 
    web_reg_save_param("ResponseBody", "LB=", "RB=", "Search=Body", LAST);//保存响应体内容

 //对中文进行UTF-8转码
 lr_convert_string_encoding(lr_eval_string("{truename}") ,LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"name" );
 strcpy(tmp,lr_eval_string("{name}"));
 lr_save_string(tmp,"truename1");

 //字符转码响应体
    lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"ResponseBodyUTF8");

 //个性帐号注册
 web_custom_request("NetType",
        "Url=http://XXX.XXX.XXX/?username={username}&pwd={pwd}&truename={truename1}",
        "Method=POST",
        "Referer=0",
        "Mode=HTTP",
        LAST);
 //lr_log_message();
 //响应体转码
 lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"ResponseBodyUTF8");
 //输出相应内容体
// lr_output_message("# 响应内容体:\n %s", lr_eval_string("{ResponseBodyUTF8}"));

 // 获取httpcode
 HttpRetCode=web_get_int_property(HTTP_INFO_RETURN_CODE);

 //判断返回的HttpCode值
 if(HttpRetCode==200){

  lr_log_message("  1.成功!\n  2.返回值:%s\n  3.HTTP返回的状态码:200",lr_eval_string("{ResponseBodyUTF8}"));

 }else if(HttpRetCode==400){

  lr_log_message("  1.失败!业务未通过,具体信息见返回值。\n  2.返回值为:%s\n  3.HTTP返回的状态码:400",lr_eval_string("{ResponseBodyUTF8}"));

 }else if(HttpRetCode==401){

  lr_log_message("  1.签名错误\n  2.返回值为:%s\n  3.HTTP返回的状态码:401",lr_eval_string("{ResponseBodyUTF8}"));

 }else if(HttpRetCode==500){

  lr_log_message("  1.未知错误\n  2.返回值为:%s\n  3.HTTP返回的状态码:500",lr_eval_string("{ResponseBodyUTF8}"));

 }else{
  lr_log_message("  1.未知错误\n  2.返回值为:%s\n  3.HTTP返回的状态码:{HttpRetCode}",lr_eval_string("{ResponseBodyUTF8}"));
 }


 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值