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

  • 相关阅读:
    Windows Server 2003 NLB负载均衡(集群)配置详解
    SQL Server 数据库中关于死锁的分析
    SQL Server 性能调优(一)——从等待状态判断系统资源瓶颈
    RSync实现文件备份同步
    C# 中的委托和事件
    图解用WAS对Web服务器进行压力测试(was下载)
    Windows 之间用rsync同步数据(cwRsyncServer配置)
    SQLServer2005在复制功能中创建发布订阅
    【总结】C# 线程同步技术(一)之 Join 方法
    也来说说C#异步委托
  • 原文地址:https://www.cnblogs.com/sunnydev/p/14932400.html
Copyright © 2011-2022 走看看