Katalon Studio处理数据库

2018年8月2日 7.89k 次阅读 5 条评论 4 人点赞

在日常的测试工作中需要经常用到:数据库的处理,执行SQL语句。 Katalon Studio可以通过定制关键字的方式连接到数据库,并执行SQL语句。 基本实现思路如下所示:

  • 建立数据库连接
  • 执行数据查询
  • 关闭连接

官方提供的方法:

private static Connection connection = null;

	/**
	 * Open and return a connection to database
	 * @param dataFile absolute file path  
	 * @return an instance of java.sql.Connection
	 */
	@Keyword
	def connectDB(String dataFile){
		//Load driver class for your specific database type
		Class.forName("org.sqlite.JDBC")
		String connectionString = "jdbc:sqlite:" + dataFile
		if(connection != null && !connection.isClosed()){
			connection.close()
		}
		connection = DriverManager.getConnection(connectionString)
		return connection
	}
	
	/**
	 * execute a SQL query on database
	 * @param queryString SQL query string
	 * @return a reference to returned data collection, an instance of java.sql.ResultSet
	 */
	@Keyword
	def executeQuery(String queryString) {
		Statement stm = connection.createStatement()
		ResultSet rs = stm.executeQuery(queryString)				
        return rs
	}

	@Keyword
	def closeDatabaseConnection() {
		if(connection != null && !connection.isClosed()){
			connection.close()
		}
		connection = null
	}

	/**
	 * Execute non-query (usually INSERT/UPDATE/DELETE/COUNT/SUM...) on database	
	 * @param queryString a SQL statement
	 * @return single value result of SQL statement
	 */
	@Keyword
	def execute(String queryString) {
		Statement stm = connection.createStatement()
		boolean result = stm.execute(queryString)
		return result
	}

修改后实现的方法:

         /**
	 * 数据库连接
	 * @param url 连接地址--含数据库名
	 * @return value  Value of variable
	 */
	@Keyword
	def DBconnect(url,userName,password){
		return Sql.newInstance(url,userName,password,"com.mysql.jdbc.Driver")
	}

	/**
	 * 执行sql
	 * @param  操作数据库对象
	 * @param sql语句
	 * @return value  Value of variable
	 */
	@Keyword
	def executeSql_Core(sql){
		def db_url=GlobalVariable.G_db_url
		def userName=GlobalVariable.G_dbUser
		def password=GlobalVariable.G_dbPassword
		Sql con=new ValueUtil().DBconnect(db_url,userName,password)
		con.execute(sql)
		con.close()
		con=null
	}

	/*** 关闭数据库
	 */
	@Keyword
	def DBclose(Sql db){
		db.close()
		db=null
	}

关键字模式显示效果:

通过以下路径File > New > Keyword新建关键字。
如果不知道怎么新建关键字,详见笔者上一篇文章:Katalon Studio如何定义关键字
database

Script模式调用方式:

按照以上方式封装好关键字以后,在编辑脚本的时候就可以愉快的调用以上方法实现连接数据库执行SQL语句了。调取方式如下所示:
database_read

风里云里,我在这里等你!

文章评论(5)

  • 973282807

    katalon只能实现数据库查询操作,不能执行其它语句吗,比如清理数据库数据

    2019年1月22日
    • Altumn

      可以正常连接数据库,就可以执行SQL语句。

      2019年1月23日
      • 973282807

        katalon好像没有:connectDB,executeQuery,closeDatabaseConnection,execute这几个关键字哦,是要自己添加吗?

        2019年1月23日
        • Altumn

          是的,新建个关键字。新建个QQ群:670250199

          2019年1月23日
  • 973282807

    你好,我可以加你qq吗,想请教点问题 :lol:

    2019年1月22日