zoukankan      html  css  js  c++  java
  • SoapUI Script 方式连接数据库

    前言

    SoapUI 可以支持JDBC和Script方式访问数据库,Script获取到数据库内容后可以支持和接口返回数据的比对,非常的灵活和准确

    一、请求中添加Script断言

    在Request的断言处点击加号图标,弹出的Add Assertion 中选择 Script Assertion,点击Add 按钮。

    二、连接数据库脚本

     1 import groovy.sql.Sql
     2 import groovy.json.JsonSlurper
     3 
     4 def JDBCURL ="jdbc:mysql://host:port/db"
     5 def USERNAME = context.expand('${#Project#username}')
     6 def PASSWORD = context.expand('${#Project#password}')
     7 def JDBCDRIVER = "com.mysql.jdbc.Driver"
     8 log.info(USERNAME)
     9 log.info(PASSWORD)
    10 
    11 //log.info(uid)
    12 driver = Sql.newInstance(JDBCURL,USERNAME,PASSWORD,JDBCDRIVER)
    13 
    14 //数据库查询结果
    15 sql="SELECT * FROM `table` WHERE type = '1' AND name = 'Deals'"
    16 def result = driver.rows(sql)
    17 count = result.size()
    18 log.info(count)

    说明:

    1、password及username等变量建议参数化,规避密码过期需要逐个修改的问题,可以在project层添加参数;

    2、通过连接数据库,得到了满足查询条件的数据的条数

    3、将数据库查询结果与接口结果进行对比,如果一致证明接口查询准确可靠,所以继续完善代码

    三、获取接口返回信息并与数据库进行比对

    1 //接口返回结果
    2 content = context.expand('${Request 1#Response}')
    3 def slurper = new  JsonSlurper()
    4 def re = slurper.parseText(content)
    5 def size =re.sceneUserInfoList.uid.size()
    6 log.info(size)
    7 
    8 //验证数据库查询结果与接口返回结果一致
    9 assert count == size

    至此,我们可以验证数据库的结果与接口返回的结果数量一致,如果有更细致的校验,可以根据需要添加丰富的assert 内容

    四、小结

    Script连接数据库的优势在于数据库中数据的变动,对校验结果的影响可以规避到最小,并且脚本灵活方便,可以复用,效率相对较高。

  • 相关阅读:
    ANC耳机中的数字反馈稳定性控制(Active Noise Cancellation in Headphones by Digital Robust Feedback Control)
    【控制理论】水床效应(waterbed effect)与Bode灵敏度积分
    ANC的基本概念 主通路和次级通路
    ANC耳机中通透模式设计方案
    matlab编程规则总结
    滤波器系数、单位脉冲响应、频率响应等概念笔记
    shell 脚本艺术
    vue leader-line-vue
    vue npm rum命令
    VUEX
  • 原文地址:https://www.cnblogs.com/sunnydev/p/14932400.html
Copyright © 2011-2022 走看看