欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【pytest】获取所有用例名称并存于数据库

【pytest】获取所有用例名称并存于数据库

2025/2/12 16:02:54 来源:https://blog.csdn.net/u013080870/article/details/145567140  浏览:    关键词:【pytest】获取所有用例名称并存于数据库

数据库操作包,引用前面创建的py文件,【sqlite】python操作sqlite3(含测试)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2025-02-11 8:45
# @Author  : duxiaowei
# @File    : get_filename.py
# @Software: 这个文件是 : 将编写的pytest自动测试用例,中所有用例路径名,存储到pytest_ready表中import os
import re
from datetime import datetimefrom com.connect_sqllite import DBlite"""
1. 获取所有用例名称
2. 将所有用例名称存到表pytest_ready表
"""
# 获取所有用例名称
def get_test_files(current_dir):matching_files = []# 遍历当前目录下的所有文件和文件夹for root, dirs, files in os.walk(current_dir):for file in files:# 检查文件是否以 .py 结尾,并且以 test_ 开头或以 _test 结尾if file.endswith('.py') and (file.startswith('test_') or file.endswith('_test.py')):# 文件名path = os.path.join(root, file).replace(current_dir, "")# 洗出来,文件名中jira号,如果没有jira号,输入''numbers = re.findall(r'\d+', path)if len(numbers) == 0:# # 如果用例名称解析不出数组,输入''matching_files.append((path, ''))elif len(numbers) == 1:matching_files.append((path, numbers[0]))else:# 如果用例名称解析出多个数字,输入2matching_files.append((path, '2'))# 打印符合条件的文件列表return matching_filesdef insert_pytest_ready():folder_path = os.path.abspath('..')test_files = get_test_files(folder_path)for jira in test_files:# 先查询是否有记录sql_select = "select count(1) from pytest_ready  where filename = ?"arg = (jira[0],)result = DBlite().select(sql_select, arg)if result[0][0] == 0:current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")sql_insert = "insert into pytest_ready(filename, jira_num, createtime) values (?,?,?)"arg = (jira[0], jira[1], current_time)DBlite().change(sql_insert, arg)else:current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")sql_update = "update pytest_ready set updatetime=? where filename=?"arg = (current_time, jira[0])DBlite().change(sql_update, arg)
#
# 获取所有用例名称
# 插入数据库,pytest_ready
# insert_pytest_ready()

建表语句

create table pytest_ready_dg_tmp
(id INTEGERprimary key autoincrement,filename VARCHAR(100),jira_num VARCHAR(20),updatetime TIMESTAMP,createtime TIMESTAMP,status INTEGER default 0
);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com