栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytest结合pymysql实现数据库数据驱动

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytest结合pymysql实现数据库数据驱动

一、selenium读取mysql中数据

获得数据库连接
查询数据获得数据库连接
查询数据

二、创建数据库,表,向表中插入数据。
连接数据库
mysql -u root -p
查看现有的数据库
show databases; 
创建数据库
create database testing_db;
使用创建的数据库
use testing_db;
创建表
create table user_tbl(id int primary key auto_increment,username varchar(20),pwd varchar(20));
查看表结构
desc user_tb1;
向表中插入数据
insert into user_tbl(username,pwd)values('tom','123');
insert into user_tbl(username,pwd)values('rose','666');
insert into user_tbl(username,pwd)values('tina','888');
查询表中数据
select id,username,pwd from user_tbl;
三、pymysql执行sql数据,获取数据库表中数据,pytest参数化拿到数据,传递给用例执行

代码示例:

import pymysql

import pytest

"""
安装pymysql模块
获得数据库连接
查询数据

"""
conn = pymysql.connect(
    user='root',
    passwd='88888888',
    host='localhost',
    port=3306,
    db='testing_db'
)


def get_data():
    sql = "select id,username,pwd from user_tbl"
    lst = []
    try:
        cursor = conn.cursor()
        cursor.execute(sql)
        all_data = cursor.fetchall()
        for x in all_data:
            u = (x[0], x[1], x[2])
            print(u, "======")
            lst.append(u)
        return lst
    finally:
        cursor.close()
        conn.close()


@pytest.mark.parametrize('id,name,pwd', get_data())
def test1(id, name, pwd):
    print(id, name, pwd)


if __name__ == '__main__':
    pytest.main(["-vs", "test_mysql.py"])

输出结果;
test_mysql.py::test1[1-tom-123] 1 tom 123
PASSED
test_mysql.py::test1[2-rose-666] 2 rose 666
PASSED
test_mysql.py::test1[3-tina-888] 3 tina 888
PASSED
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/934262.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号