• 技术分享 | 接口自动化如何处理 Form 请求?


    原文链接

    本文节选自霍格沃兹测试开发学社内部教材

    在服务端自动化测试过程中,Form 请求代表请求过程中,请求体为表单类型。其特点为:数据量不大、数据层级不深的情况、使用键值对传递。Form 请求头中的content-type通常对应为application/x-www-form-urlencoded。碰到这种类型的接口,使用 Java 的 REST Assured 和 Python 的 Requests 均可解决。

    实战练习

    Python 版本

    在 Python 版本中,可以使用 data 参数传输表单数据,data 参数以字典的形式,字典是以键值对的形式出现。

    class TestFormData:
        def test_data(self):
            data = {
                "school":"hogwarts"
            }
            r = requests.post("https://httpbin.ceshiren.com/post",
                              data=data)
            print(r.json())
    
    

    运行结果:

    {
      "args": {},
      "data": "",
      "files": {},
      "form": {
        "school": "hogwarts"
      },
      ...省略...
      "json": null,
      "origin": "113.89.10.187",
      "url": "https://httpbin.ceshiren.com/post"
    }
    
    

    Java 版本

    import static io.restassured.RestAssured.*;
    public class Requests {
        public static void main(String[] args) {
            given().formParams("school", "hogwarts").when().post("https://httpbin.ceshiren.com/post").
                    then().log().all();
        }
    }
    
    

    使用抓包工具查看过程数据(参考代理配置章节),其中多了 Form 格式展示,以 name 和 value 的形式显示,具体结果如下图所示:

    ⬇️ 你好呀,喜欢这篇文章的话烦请点个“赞”哦!大家的支持很重要~() PS:有问题可以联系我们哦~v ceshiren001

    >>更多技术文章分享和免费资料领取

  • 相关阅读:
    innerHTML使用方法
    HDU 1426 Sudoku Killer
    Junit使用教程(一)
    HLS协议实现
    GPIO
    TraceView总结
    在kettle中实现数据验证和检查
    用户向导左右滑动页面实现之ImageSwitcher
    DWZ使用笔记
    oracle进程
  • 原文地址:https://www.cnblogs.com/hogwarts/p/16588522.html
Copyright © 2020-2023  润新知