美文网首页
Jmeter进行接口自动化测试实战-学习分享-0.0.3

Jmeter进行接口自动化测试实战-学习分享-0.0.3

作者: e5bda6e7a596 | 来源:发表于2019-01-03 13:53 被阅读0次

    进行接口测试最难的部分不就是去比对你需要比对的数据吗?因为你永远不知道,面对你的数据是长什么样的。

    一、简单的单行数据比对


     比如现在我们设计第一条用例是这样的


    设计的一条csv用例

     其中预期的结果是这样的

    sql的预期结果

     在jmeter运行一下,看看结果:


    数据库结果 csv用例上的预期结果

     在这儿就有很大的疑问了,明明是两个一样的结果,为什么比对会失败呢?后来,我分析可能的原因之一就是预期结果里面有空格,而数据库的数据是以“\t”的表格形式存在的,所以我想先在csv文件里面动动手脚,验证一下我的想法。

    添加了\t的修改后

    修改后运行通过



     动了手脚之后你会发现,要是需要你比对多行数据库的数据,怎么办?难道你一个一个去加“\t”吗?有马飞就会说,我有能力啊,我可以写段java代码自动添加,那估计是你的本事到位了。当然,要是你的测试场景比较简单,选择这样的方式也是可以的。
     反正,方法有很多,代码这个方法固然行得通,但是jmeter有更好的方向让你选择。

    二、面对多行数据比对


    1、

     刚才说jmeter有更好的选择,那究竟是啥呢?

    【思路一】
    经过参考了另一位马飞对jmeter控件的介绍,可以运用的方法之一就是

    传送门:https://blog.csdn.net/u012167045/article/details/72638507

    就是把数据库查出来的每个字段,以自定义变量的形式去展示,但是需要自己去定。就像这样(引用):

      jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,,C,那么如下变量会被设置为:
        A_#=2 (总行数)
      A_1=第1列, 第1行
      A_2=第1列, 第2行
      C_#=2 (总行数)
      C_1=第3列, 第1行
      C_2=第3列, 第2行

    脚本这样去设置


    自定义变量

    参照上面去引用就行,可以通过代码去比对字符串。

    脚本引用自定义变量


    2、
     做过web接口测试都了解过,比对的数据大多数都是json格式的,要是还用方式一的话,显得过于麻烦,为何不直接来一个json的格式去比对呢?

       参照网上的一些方法,我进行了一些修改:


    结果集的形式 对比方法 响应断言的变化

    【有必要的话需要自己去导关于json的包】

    导包方法传送门:http://www.cnblogs.com/BlueSkyyj/p/8819512.html



    在csv就可以运用json格式进行修改:

    csv用例通过json格式去展示结果



    最后的结果展示:

    单行数据对比展示

    顺便给出多行数据对比的情况:

    数据库有两条数据 多行数据对比

    这样的话,面对多行数据的比对,我们就以json格式去扩展字段,美滋滋!

    相关文章

      网友评论

          本文标题:Jmeter进行接口自动化测试实战-学习分享-0.0.3

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