diffy的初使用

作者: 果果小姚 | 来源:发表于2020-05-25 10:38 被阅读0次

         产品上回归测试要用,领导安排去尝试了解下,最近项目也不忙,就开始吧,csdn上的博客diffy的大同小异,基本上就是一个,参考稍微有点价值,但实际自己用的过程中,还需要研究下,目前diffy版本比对结果暂时比较可观,整理下,便于参考。

    一开始走的路子是从官网下载,然后从window上编译,都编译出错,没办法,改到linux编译。

    windows下的报错

    git clone https://github.com/opendiffy/diffy.git---linux下直接运行,没有git的话,先安装git,sudo yum install git

    下载完成后,进入diffy里面就,执行./sbt assembly进行编译

    下载完成后,进行编译

    然后你会发现这个过程很慢 ,另,需要保证剩余内存>2G,才可以保证整个编译过程,在编译的过程中,去查看

    vim ~/.sbt/repositories文件是否生成,修改里面的[repositories],添加如下内容:

    [repositories]

    local

    my-maven-repo: http://maven.aliyun.com/nexus/content/groups/public/

    central: http://repo1.maven.org/maven2/

    修改配置文件

    可以有效的进行提速,然后修改vim ./sbt,添加

    -Dsbt.override.build.repos=true

    修改配置文件

    修改完成后,编译过程会加快

    编译过程

    编译完成后,显示以下界面

    编译完成界面

    网上只说了要发请求,准备待测版本和稳定版本之类的,这里要详细说下,编译完成的jar包在以下目录下。

    编译后的目录

    我这边是web端的产品,平常端口是28080,如果要进行测试,是通过对jar包所在机器进行发送请求,然后jar包所在的机器去把收到的请求转发给版本1,和版本2。也就是说,要先运行,将产品的地址先放上。

    java -jar diffy-server.jar -candidate=10.6.6.68:28080 -master.primary=10.6.6.115:28080 -master.secondary=10.6.6.115:28080 -service.protocol=http -serviceName=My-Service -proxy.port=:8880 -admin.port=:8881 -http.port=:8888 -rootUrl='localhost:8888' -summary.email="guanyy@163.com" -allowHttpSideEffects=true

    java -jar diffy-server.jar----jar包路径进行运行

    -candidate=10.6.6.68:28080 ---要测试的版本,待部署上线的版本

     -master.primary=10.6.6.115:28080--已经部署的版本,稳定的版本

    -master.secondary=10.6.6.115:28080--已经部署的版本,稳定的版本,这里暂且相同

    service.protocol=http---协议http,还有其它的协议

    -serviceName=My-Service--服务名称

     -proxy.port=:8880--后台输入请求的时候,需要往这个端口上发送

    -http.port=:8888 -rootUrl='localhost:8888'---这个是jar包运行时,前端的访问地址,界面

    -allowHttpSideEffects=true--用来接收除了读以外的其它请求

    summary.email="guanyy@163.com"---邮箱

    jar包执行过程

    然后需新开一个窗口,进行请求的发送,我这边用了curl,在使用之前,需要去产品中,找到这个请求地址:

    请求访问地址

    开始准备发送请求,如果不知道怎么写,可以直接,右键进行查看,然后删减一部分即可,此处的调试办法,可以直接进行请求访问,如果访问结果,跟前端的一致,就是说明写对了。

    url的查看 后台的访问

    此时,可以进行服务的发送了,这里还出现了小插曲,因为产品的请求,可见的时cookie,但使用这个的话,每个版本的不一样,导致只能看到一个产品 的返回结果,另一个时登录那里就卡住了,如下图。这个时候,需要看下有没用用户不可见的,通用的使用,比如token,可以问下设计,然后找个共有的,一般数据库里面有备用的。

    访问截图 请求的发送

    然后去访问,8888端口,上图中的请求是通过jar包所在机器,进行请求转发的。

    请求返回结果

    在这个界面,去点击上角的,扩展,就能打开看两个版本的实际的返回结果了。

    接口请求查看 详细的请求

    点开去噪以后,就可以看到返回结果了。

    去噪声

    进行一次返回结果不一致的请求,当然,执行这种返回结果比对,需要保证两版本数据数量大小一致,才可以进行。

    请求不一致的情况

    打开去噪后,可以看到失败的百分比

    失败的百分比

    如果想清空当前界面的请求,需要进入设置界面,进行清空,界面的请求就会重新记录

    进入设置 清空请求

    如需要diffy-server.jar,请访问百度云下载,链接如下

    链接:https://pan.baidu.com/s/1rdjRMZcuNJw-w9Se5hL8LQ

    提取码:bnb1

    暂时理解的是这样,有错误的地方,请指正。

    相关文章

      网友评论

        本文标题:diffy的初使用

        本文链接:https://www.haomeiwen.com/subject/olveahtx.html