zoukankan      html  css  js  c++  java
  • mysql学习笔记(sqlalchemy安装及简单使用)

    博主最近在研究接口API自动化测试,之前设计的通过excel来实现自动化测试的框架实际使用中还是有很多局限性

    这次博主的思路是:

    1 搭建接口API管理平台 支持数据库方便维护

    2 自动化测试平台可直接使用平台整理的接口请求参数

    3 以web格式形成可视化的界面展示接口测试数据,包括返回值,测试结果

    这次博主首先整理的是sqlalchemy,一开始是安装,博主这边有安装包

    根据操作系统下载相应压缩文件,解压后进入文件路径下执行安装命令

    1 # python setup.py install

    安装成功后就可以直接使用了,下图是mysql中APIMANAGER库中interface表结构:

    最后就是实现代码:

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 
     4 
     5 from sqlalchemy import Column, create_engine
     6 from sqlalchemy.orm import sessionmaker
     7 from sqlalchemy.ext.declarative import declarative_base
     8 # 导入数据库所有表字段类型
     9 from sqlalchemy.dialects.mysql import 
    10     BIGINT, BINARY, BIT, BLOB, BOOLEAN, CHAR, DATE, 
    11     DATETIME, DECIMAL, DECIMAL, DOUBLE, ENUM, FLOAT, INTEGER, 
    12     LONGBLOB, LONGTEXT, MEDIUMBLOB, MEDIUMINT, MEDIUMTEXT, NCHAR, 
    13     NUMERIC, NVARCHAR, REAL, SET, SMALLINT, TEXT, TIME, TIMESTAMP, 
    14     TINYBLOB, TINYINT, TINYTEXT, VARBINARY, VARCHAR, YEAR
    15 
    16 # 创建对象的基类:
    17 Base = declarative_base()
    18 
    19 
    20 # 定义Interface表对象:
    21 class Interface(Base):
    22     # 表的名字:
    23     __tablename__ = 'interface'
    24 
    25     # 表的结构:
    26     id = Column(VARCHAR(50), primary_key=True)
    27     url = Column(VARCHAR(100))
    28     method = Column(VARCHAR(30))
    29     param = Column(VARCHAR(30))
    30     requestExam = Column(TEXT)
    31     responseParam = Column(TEXT)
    32     errorList = Column(TEXT)
    33     trueExam = Column(TEXT)
    34     falseExam = Column(TEXT)
    35     status = Column(TEXT)
    36     moduleId = Column(VARCHAR(50))
    37     interfaceName = Column(VARCHAR(100))
    38     remark = Column()
    39     errors = Column(TEXT)
    40     updateBy = Column(TEXT)
    41     createTime = Column(TEXT)
    42     version = Column(TEXT)
    43     updateTime = Column(TEXT)
    44     sequence = Column(INTEGER(100))
    45 
    46 
    47 # 数据库连接信息: 数据库类型://用户名:密码@数据库地址:端口/数据库库名?编码
    48 mysql_db = "mysql://api:api@xxx:3306/APIMANAGER?charset=utf8"
    49 
    50 # 初始化数据库连接:
    51 engine = create_engine(mysql_db)
    52 
    53 # 创建DBSession类型:
    54 DBSession = sessionmaker(bind=engine)
    55 
    56 # 创建session对象:
    57 session = DBSession()
    58 
    59 # query函数相当于select,filter函数相当于where,one是返回一条结果,all是返回所有结果
    60 API = session.query(Interface).filter(Interface.id == "09bd79df-cdbc-4f81-8cdf-c4763fd8a725").one()
    61 print API.interfaceName
    62 
    63 # API = session.query(Interface).all()
    64 # for i in range(len(API)):
    65 #     print API[i].param
    66 
    67 # 关闭session对象
    68 session.close()

    这里备注下安装模块中遇到的问题解答地址

  • 相关阅读:
    补交20145226蓝墨云班课 -- 程序设计中临时变量的使用
    补交20145226蓝墨云班课 -- MyCP
    补交20145226蓝墨云班课 -- MyOD
    补交20145226蓝墨云班课 -- Arrays和String单元测试
    补交20145226蓝墨云班课 -- 后缀表达式
    20145226夏艺华 《Java程序设计》 课堂实践
    20145226夏艺华 网络对抗技术 EXP9 web安全基础实践
    (转载)充分理解QML的属性绑定
    (转载)UML类图中的六大关系:关联、聚合、组合、依赖、继承、实现
    (转载)链路层MTU的概念?为什么MTU值普遍都是1500?
  • 原文地址:https://www.cnblogs.com/cllovewxq/p/5653570.html
Copyright © 2011-2022 走看看