软件测试 | 接口测试代理配置

518 篇文章 3 订阅
514 篇文章 2 订阅

我们在调试接口测试用例过程中,如果得到的响应结果和预期结果不一致,则需要检查请求信息。可通过代理获取与请求对应的响应信息,将响应信息与正常请求获取的响应信息进行对比,能够更直观地排查请求错误,这相当于编码写代码时的测试。

1.实战演示

在自动化测试中,我们无论是使用Python编程还是用Java编程,均可以通过设置代理来监听自动化测试脚本发起请求后获取的响应信息,实现的代码如下(Python版和Java版)。

(1)Python演示代码

Python程序通过proxies参数监听响应信息。

import requests
​
# 1.定义代理的配置信息,分别设定HTTP与HTTPS的代理地址
proxy = {
  "http":"http://127.0.0.1:8000",
  "https:"http://127.0.0.1:8000"
}
​
#2.通过proxies传递代理配置
requests.post(url="https://httpbin.ceshiren.com",proxies=proxy,verify=False)

通过proxies配置代理信息,代理信息格式为字典类型。verify用于对证书的验证,默认情况下,verify被设置为True。客户端向服务器发送HTTPS请求的时候,将verify设置为True,requests会对SSL证书进行验证;将verify设置WieFalse,requests会忽略对SSL证书的验证。

(2)Java演示代码

import io.restassured.RestAssured;
import static io.restassured.RestAssured.*;
import static io.restassured.specification.ProxySpecification.host;
import static org.hamcrest.core.IsEqual.equalTo;
​
public class Requets{
      public static void main(String[] args){
      //设置代理
      RestAssured.proxy = host("127.0.0.1").withPort(8080);
      given()
             .relaxedHTTPSValidation()
      .when().get("https://httpbin.ceshiren.com/get")
      .then()
             .log().all();
      }
}

2.使用代理工具验证结果

在实际测试工作中,我们可以使用代理工具,结合代理配置查看测试脚本每一次发起请求后获取到响应信息,实际操作步骤如下。

(1)用抓包工具设置的端口,与代码中的代理地址端口保持一致,如图7-6所示。

 

(2)页面发起一个POST请求,请求中的Name值为“school”,value值为“霍格沃兹测试学社”,如图7-7所示。

 

(3)使用自动化测试脚本向服务端发起请求,与第(2)步一样,只是修改value值为“第二次请求”。

演示代码如下(Python版和Java版)。

Python演示代码

import requests
 
def test_proxy():
​
   # 1.定义代理配置信息
   proxy = {
     "http":"http://127.0.0.1:8888",
     "https":"http://127.0.0.1:8000"
   }
   
   # 2.通过proxies传递代理配置
   requests.post(
   url="https://httpbin.ceshiren.com/post",
   proxies=proxy,
   data={'school':"第二次请求"},
   verify=False)
Java演示代码

import io.restassured.RestAssured;
import static io.restassured.RestAssured.*;
import static io.restassured.specification.ProxySpecification.host;
public class Requests{
     public static void main(String[] args) {
         RestAssured.proxy = host("127.0.0.1").withPost(8080);
         given().
                ContentType("application/x-www-from-urlencoded;charset=utf-8").
                //将Value的值设置为“第二次请求”
                formParm("school","第二次请求").relaxedHTTPSValidation().
                when().
                post("https://httpbin.ceshiren.com/post").
                then()
                .log().all()
     }
}

通过抓包工具获取的响应信息如图7-8所示。

 

通过以上案例可以看出,接口测试中我们将代理配置和代理工具结合使用,可以非常直观地看出发起两次气你跪求后获取的响应信息的差别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值