如何实现Python接口测试数据库封装

  介绍

这篇文章主要为大家展示了如何实现Python接口测试数据库封装,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

<强>引言

做接口测试的时候,避免不了操作数据库。因为数据校验需要,测试数据初始化需要,一些参数化场景需要等。

<强>数据库操作框架设计

这里主要操作mysql数据库,整体思路:

如何实现Python接口测试数据库封装

<强>封装实现

具体代码实现:

进口pymysql
  进口json
  
  
  类OperateMysql(对象):
  def __init__(自我):
  #数据库初始化连接
  自我。connect_interface_testing=pymysql.connect (
  “localhost",
  “root",
  “123456”,
  “test",
  charset=& # 39; utf8mb4& # 39;
  cursorclass=pymysql.cursors.DictCursor
  )
  
  #创建游标操作数据库
  自我。cursor_interface_testing=self.connect_interface_testing.cursor ()
  
  def select_first_data(自我、sql):
  “““
  查询第一条数据
  “““
  试一试:
  #执行sql语句
  self.cursor_interface_testing.execute (sql)
  除了例外e:
  print(“执行sql异常:% s" % e)
  其他:
  #获取查询到的第一条数据
  first_data=self.cursor_interface_testing.fetchone ()
  #打印(first_data)
  #将返回结果转换成str数据格式,禁用acsii编码
  first_data=json.dumps (first_data ensure_ascii=False)
  # self.connect_interface_testing.close ()
  返回first_data
  
  def select_all_data(自我、sql):
  “““
  查询结果集
  “““
  试一试:
  self.cursor_interface_testing.execute (sql)
  除了例外e:
  print(“执行sql异常:% s" % e)
  其他:
  first_data=self.cursor_interface_testing.fetchall ()
  first_data=json.dumps (first_data ensure_ascii=False)
  # self.connect_interface_testing.close ()
  返回first_data
  
  def del_data(自我、sql):
  “““
  删除数据
  “““
  res={}
  试一试:
  #执行SQL语句
  结果=self.cursor_interface_testing.execute (sql)
  #输出(结果)
  如果结果!=0:
  #提交修改
  self.connect_interface_testing.commit ()
  res={& # 39;删除成功& # 39;}
  其他:
  res={& # 39;没有要删除的数据& # 39;}
  除了:
  #发生错误时回滚
  self.connect_interface_testing.rollback ()
  res={& # 39;删除失败& # 39;}
  返回res
  
  def update_data(自我、sql):
  “““
  修改数据
  “““
  试一试:
  self.cursor_interface_testing.execute (sql)
  self.connect_interface_testing.commit ()
  res={& # 39;更新成功& # 39;}
  除了例外e:
  self.connect_interface_testing.rollback ()
  res={& # 39;更新删除& # 39;}
  返回res
  
  def insert_data(自我、sql、数据):
  “““
  新增数据
  “““
  
  试一试:
  self.cursor_interface_testing.execute (sql,数据)
  self.connect_interface_testing.commit ()
  res={数据& # 39;新增成功& # 39;}
  除了例外e:
  res={& # 39;新增失败& # 39;,e}
  返回res
  def conn_close(自我):
  #关闭数据库
  self.cursor_interface_testing.close ()
  
  
  if __name__==癬_main__":
  #()类的实例化
  om=OperateMysql ()
  
  #新增
  data=[{& # 39; id # 39;: 1 & # 39;名字# 39;:& # 39;测试& # 39;,& # 39;年龄# 39;:15},{& # 39;id # 39;: 2 & # 39;名字# 39;:& # 39;老王& # 39;,& # 39;年龄# 39;:10},{& # 39;id # 39;: 3 & # 39;名字# 39;:& # 39;李四& # 39;,& # 39;年龄# 39;:20}]
  我的数据:
  i_data=(我[& # 39;id # 39;],我[& # 39;名字# 39;],我[& # 39;年龄# 39;])
  insert_res=om.insert_data (
  “““
  插入test_student (id、名称、年龄)值(% s, % s % s)
  “““,i_data
  )
  打印(insert_res)
  
  #查询
  alt="如何实现Python接口测试数据库封装"> 

为了方便演示,先注释删除数据的sql,再执行程序:

如何实现Python接口测试数据库封装

以上就是关于如何实现Python接口测试数据库封装的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看的到。

如何实现Python接口测试数据库封装