• 接口差异测试——Diffy工具


    一、Diffy工作原理

    测试利器 | 一款开源的Diffy自动化测试框架:超详细实战教程讲解_狂师vs的博客-CSDN博客https://blog.csdn.net/jinjiangongzuoshi/article/details/106799081/

    二、Diffy使用

    1. 克隆源码:

      git clone https://github.com/twitter/diffy.git
    2. 构建diffy-server.jar,依次执行以下两条命令

      1. cd diffy
      2. ./sbt assembly
    3. 启动diffy服务

      1. http接口启动diffy命令
        1. java -jar diffy-server.jar -candidate=localhost:8080 -master.primary=localhost:8081 -master.secondary=localhost:8082 -service.protocol=http
        2. -serviceName=My-Service -proxy.port=:8880 -admin.port=:8881 -http.port=:8888 -rootUrl='localhost:8888'
      2. https接口启动diffy命令(亲测可用,搞了很久)
        java -jar diffy-server.jar -candidate=www.baidu.test -master.primary=www.baidu.com -master.secondary=www.baidu.com -service.protocol=https -serviceName=My-Service -proxy.port=:9990 -admin.port=:9991 -http.port=:8888 -rootUrl='localhost:8888' -summary.email='123456@qq.com' -summary.delay="5" -allowHttpSideEffects=true -excludeHttpHeadersComparison='true'
      3. 参数说明

        参数说明
        -candidate=www.baidu.test

        待上线版本的ip或域名

        假如百度测试环境的host为www.baidu.test

        -master.primary=www.baidu.com已上线版本的ip1或域名1
        -master.secondary=www.baidu.com已上线版本的ip2或域名2
        -service.protocol=httpshttp协议或https协议
        -serviceName=My-Service服务名称。任意写
        -proxy.port=:9990代理端口。所有请求应从这个端口访问。如:curl localhost:9990/search/1
        -admin.port=:9991
        -http.port=:8888diffy报告端口。localhost:8888
        -rootUrl='localhost:8888'同上
        -summary.email='123456@qq.com'报告邮件收件地址
        -summary.delay="5"
        -allowHttpSideEffects=truediffy考虑到安全性,post、put、delete请求默认忽略。设置为true可使这些类型请求仍能正常代理发送
        -excludeHttpHeadersComparison='true'是否排除header的差异。一般设置为true。不同服务的header有所差别,可忽略
      4. 踩坑说明!!

        1. responseMode=primary:有一些文章里写到参数包含responseMode,但是执行时会报错:。报错信息里提示并没有该参数,去掉这一项就不会报错。
        2. excludeHttpHeadersComparison=false:此参数执行时报错:。解决方法:给false加上双引号,即excludeHttpHeadersComparison="false"
    4. diffy报告

      1. localhost:8888,浏览器访问该地址,即可查看diffy报告。
      2. 报告示例

  • 相关阅读:
    PythonStudy5
    Isograms 非模式词
    Vue或React项目配置@路径别名及智能提示方案
    Java_Jdbc
    .net异常处理
    SQL基础查询与排序
    微信公众号开发基本流程(记录初级流程)
    C++11新特性(智能指针详细介绍)
    Vue-进阶:路由及elementUI组合开发
    【刷题(12)】图论
  • 原文地址:https://blog.csdn.net/m0_37518413/article/details/125529154