Happy 发表于 2025-6-16 22:52

数据管理&数据库操作

【数据管理】
      既然是做自动化,那么项目中的测试框架一定要结构清晰、功能清晰,分工明确这样的一个结构。不能再像前期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返回的字典格式的数据

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账号远程登录

页: [1]
查看完整版本: 数据管理&数据库操作