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()
这里备注下安装模块中遇到的问题解答地址