美文网首页
结合diffy跑自动化

结合diffy跑自动化

作者: 果果小姚 | 来源:发表于2020-05-26 16:36 被阅读0次

      在上篇帖子中是实现了单个请求的访问,但当请求数据过多时,单个执行未免太麻烦了,比如需要执行以下内容,另一个原因是如果单独每次执行的化,传入参数过多,可能会有文本或者东西露掉。总之,使用起来不方便。

    一个用例的数据 用例数据

    按照以往的案例,思路是脚本里面使用循环,去读取文件,然后解析文件的数据,进行拼接,然后请求,请求完成后,diffy去获取这些请求返回结果,继而完成回归测试。

    1.首先去读文件,也就是需要最少一个用例数据放到txt中

    curl 'http://10.6.6.44:8880/dataset/execueDPL' -H 'Content-Type: application/json; charset=utf-8' -H 'token:5ff8bfed4abcdae8bae44f2437a7f5a0' -d '@dpl.txt'

    用例放到文件中

    这样做的倒是能够读取了,但是只能读取了单个数据,也就是只传递过来第一个用例的数据。文件读取实现了,怎么实现文件里面数据的拆分,然后请求呢。看到了这个。

    2.文件拆分

    https://www.runoob.com/w3cnote/shell-read-line.html

    https://blog.csdn.net/roler_/article/details/17504039

    while read line

    do

     echo $line

    done < test.txt

    单独执行过后,文件line是有输出的,经过验证,while read line 可以读取文件的行数,文件内容以回车拆分,read 去读,然后放到line中,文件内容读完以后,循环退出。 

    https://blog.csdn.net/roler_/article/details/17504039

       博客的解释是:read通过输入重定向,把file的第一行所有的内容赋值给变量line,循环体内的命令一般包含对变量line的处理;然后循环处理file的第二行、第三行。。。一直到file的最后一行。read命令也有退出状态,当它从文件file中读到内容时,退出状态为0,循环继续惊醒;当read从文件中读完最后一行后,下次便没有内容可读了,此时read的退出状态为非0,所以循环才会退出。

    3.变量的使用

    然后笔者套吧,就有了下面的写法:

    脚本内容

    执行脚本后的输出:

    执行脚本后的输出

    然后进行脚本的调试;

    脚本调试

    变量的地方出了问题,只好把变量去掉,单独引用line去执行,这种是可以的。

    单个执行

    然后去尝试将其中的变量加上,以方便后期调试和环境迁移

    问题出在变量的空格上,一开始定义的变量有空格,导致不认。需要将变量中的空格去掉

    变量修改

    4.优化部分

    接下来就是优化了,比如执行第几个,一共多少个用例,用例数据是什么。这些信息虽然不是很重要,但是对位定位还是很有效的,也比较直观。

    思路是获取到一共多少行,然后通过变量i进行循环,每执行一次,根据i的值,进行输出,请求完成后,i+1,然后执行到文本结束

    优化后的脚本

    运行脚本后的输出如下:

    脚本输出

    不优化的时候,输出如下,太不直观了。

    优化前脚本输出

    然后取文件数据行数-用例数据个数
    awk '{print NR}' dpl.txt|tail -n1

    获取文件数据个数 执行脚本后输出

    去diffy里面查看输出结果

    diffy输出页面

    详细页的输出

    对比后结果

    相关文章

      网友评论

          本文标题:结合diffy跑自动化

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