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()

 

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

 

posted on 2016-07-08 15:39  堕落的伊丝莉  阅读(1817)  评论(0编辑  收藏  举报