python 自动化测试(3):数据库连接与使用
时间:2022-07-24
本文章向大家介绍python 自动化测试(3):数据库连接与使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Python连接数据库与简单使用
- 环境准备
- python
- 依赖库
- cx_Oracle 安装方法
- 代码编写
- Oracle
- Mysql
环境准备
我提供的为我自己本地环境,一般都是通用,一致搭建,可以正常使用。 windows 系统 7、10大概都是可以使用。 mac系统 暂无。
python
python 版本为 3.7.1 下载地址: https://www.python.org/downloads/windows/
依赖库
oracle: cx_Oracle 3.7.3 mysql: PyMySQL 0.9.3
注意: PyMySQL 如果使用的编辑器为 pycharm ,则可以使用编辑器中自带的pip 进行安装; 但是这个方法不适合oracle 的安装,因为会发现,pip中没有该依赖库。
cx_Oracle 安装方法
安装方法有多种,我这只提供这种,我觉得这个方式相对来说会简单。 1、首先,python 环境运行良好,可以直接进行pip操作,操作前请确认。 2、访问 https://pypi.org/project/cx-Oracle/#files 找到适合自己版本的whl文件,我这里选择的是 3.7.3, 可以点击直接下载。 3、打开 cmd ,首先需要执行 pip install wheel 命令,确认安装过程中不会报错。因为我安装过,所以出现的是下面图片的提示:
4、切换目录到你刚才下载 cx_Oracle-7.3.0-cp37-cp37m-win_amd64.whl 的目录下,执行命令:
pip install cx_Oracle-7.3.0-cp37-cp37m-win_amd64.whl
5、执行成功则代表安装成功,使用 pycharm 将安装好的该依赖加入到编辑器中,如图:
注意: 添加的时候,不是cx_Oracle, 而是 cx-Oracle
代码编写
Oracle
import cx_Oracle
def link_oracle():
conn = cx_Oracle.connect('name/password@ip:port/serverName') # 连接数据库
c = conn.cursor() # 获取cursor
x = c.execute("SQL") # 查询
print("result: ", x.fetchone())
c.close() # 关闭cursor
conn.close() # 关闭连接
Mysql
import pymysql
def link_mysql():
db = pymysql.connect(host='ip', port=port, user='name', passwd='password', db='dbName', charset='utf8')
cursor = db.cursor()
cursor.execute("SQL")
data = cursor.fetchone()
print("result: ", data)
- Oracle 12c 多租户专题|CDB元数据内幕
- 深入分析golang多值返回以及闭包的实现
- Hadoop3.0扩展Yarn资源模型详解2:资源Profiles说明
- hdu------(1525)Euclid's Game(博弈决策树)
- Go语言指针访问结构体的方法
- Spring Boot & Spring Cloud 应用内存管理
- hdu----(1849)Rabbit and Grass(简单的尼姆博弈)
- 10分钟让你明白MySQL是如何利用索引的
- 扩展Yarn资源模型详解1
- hdu-------(1848)Fibonacci again and again(sg函数版的尼姆博弈)
- go语言实现将重要数据写入图片中
- poj-----(2528)Mayor's posters(线段树区间更新及区间统计+离散化)
- poj---(2886)Who Gets the Most Candies?(线段树+数论)
- Hadoop3.0通用版集群安装高可靠详细教程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux 工作常用命令笔记(持续更新)
- Vim实用技巧——Vim分屏技巧总结
- Activity onStop,onDestroy延迟10s执行
- 内存优化实战
- Nali:一个离线查询 IP 地理信息和 CDN 提供商的终端利器
- MySQL8.0的几个新特性
- read_only和super_read_only参数的区别
- AWS 命名提示需要指定 region
- AWS CodeArtifact 如何设置用户的 TOKEN
- GORM V2 自动迁移和迁移接口的方法
- Vue Nginx反向代理配置 解决生产环境跨域
- react的事件处理为什么要bind this 改变this的指向?
- 没有用到React,为什么我需要import引入React?
- JSON对象和JavaScript对象直接量的区别--不同之处
- (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例