【数据管理】
既然是做自动化,那么项目中的测试框架一定要结构清晰、功能清晰,分工明确这样的一个结构。不能再像前期Python基础练习的时候一样,文件模块想怎么放就怎么放、想怎样命名就怎么命名,自己看得懂就行,这样很不好。
测试脚本与测试数据的分离,降低维护成本、迁移成本以及提高效率。
①基础数据:写入到配置文件(例如:数据库连接信息、环境参数)
②测试数据:写入到文件(json文件、excel文件)
json文件:可以存储多个字段,解析也方便快捷,便于维护,但数据不太直观,不便于写回数据
excel文件:可以存储多个字段,数据直观,便于数据的写回,但读写解析相对来说麻烦些
③临时数据:只使用一两次的数据,建议直接写入脚本中
一个项目最基本要有以下几块(建议每块新建一个Python Package):
datas:用于存放测试数据
conf:用于存放配置文件
testcases:用于存放测试用例
reports:用于存放报表/报告
common:用于存放基础类/工具类的封装
logs:用于存放日志
【数据库操作】
①安装mysql模块
pip install pymysql
②导入pymysql模块
import pymysql
③建立mysql的连接
mysql = pymysql.connect(host=None, user=None, password='',database=None, port=0)
host:数据库服务器的IP地址/域名
user:连接数据库的用户名
password:连接数据库的密码
database:连接哪个数据库
port:连接数据库的端口号
④新建查询
cursor = mysql.cursor()
⑤编写sql语句
sql = 'select * from member'
⑥执行sql语句
cursor.execute(sql)
⑦查看执行结果
result = cursor.fetchone()---只返回执行结果中的单条数据
result = cursor.fetchall()---返回执行结果中的全部数据
⑧关闭查询
cursor.close()
⑨关闭数据库连接
mysql.close()
fetchone返回单条数据
fetchall返回所有数据
pymysql.cursors.DictCursor返回的字典格式的数据
[Python] 纯文本查看 复制代码 import pymysql
class MySqlTest:
def __init__(self):
self.host = '19.16.68.18'
self.username = 'root'
self.pwd = '6H#@DH$8_z29y!I3i^'
self.database = 'members'
self.sql = 'select * from member;'
self.mysql = pymysql.connect(host = self.host,user = self.username,password = self.pwd,database = self.database,port = 3306)
def mysqlselect(self):
cursor = self.mysql.cursor(pymysql.cursors.DictCursor) #指定每行数据以字典的形式返回
cursor.execute(self.sql) #执行编写的SQL语句
result = cursor.fetchall() #查看执行结果(使用fetchall返回执行结果中的所有数据)
cursor.close() #关闭查询
self.mysql.close() #关闭数据库连接
return result
RES = MySqlTest().mysqlselect()
print(RES)
root账户远程登录MySQL配置可参考:Ubuntu系统安装MySQL服务端及使用root账号远程登录
|