python pytest脚本执行工具

article/2025/10/29 18:43:29

pytest脚本执行工具

支持获取当前路径下所有.py脚本

添加多个脚本,一起执行


import tkinter as tk
from tkinter import filedialog
import subprocess
import os
from datetime import datetimedef select_script():script_path = filedialog.askopenfilename(filetypes=[("Python files", "*.py")])script_entry.delete(0, tk.END)script_entry.insert(tk.END, script_path)def add_script():script_path = script_listbox.get(tk.ACTIVE)selected_scripts_listbox.insert(tk.END, script_path)def delete_script():selected_index = selected_scripts_listbox.curselection()if selected_index:selected_scripts_listbox.delete(selected_index)def run_tests():selected_scripts = selected_scripts_listbox.get(0, tk.END)for script_path in selected_scripts:result = subprocess.run(["pytest", "-q", script_path], capture_output=True, text=True)# 输出执行结果倒序output_text.insert(1.0, result.stdout)output_text.insert(1.0, f"--- {script_path} --- ###执行详情### \n", "red")output_text.insert(1.0, "\n")# 获取系统时间,输出执行结果文本框current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]output_text.insert(1.0, "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")output_text.insert(1.0, f">>>>>>>>>>>>>>>>>>>>>>>>>  {script_path} @ 脚本执行时间:{current_time} <<<<<<<<<<<<<<<<<<<<<<<<<\n")output_text.insert(1.0, "\n")output_text.insert(1.0, ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")output_text.insert(1.0, "\n")output_text.insert(1.0, "\n")# 清空执行结果文本框
def clear_output():output_text.delete(1.0, tk.END)# 清空已选脚本列表
def clear_selected_scripts():selected_scripts_listbox.delete(0, tk.END)# 创建主窗口
window = tk.Tk()
window.title("Test Runner")window.geometry('800x800')window.resizable(0, 0)  # 防止用户调整尺寸# 创建框架容器
frame = tk.Frame(window)
frame.pack()# 获取当前目录下所有的.py文件
script_files = [file for file in os.listdir() if file.endswith(".py")]# 创建脚本选择列表框
script_listbox = tk.Listbox(frame, width=30, height=10)
script_listbox.pack(side=tk.LEFT, padx=0, pady=10)# 将.py文件添加到选择列表框中
for file in script_files:script_listbox.insert(tk.END, file)# 创建已选脚本列表框
selected_scripts_listbox = tk.Listbox(frame, width=30, height=10)
selected_scripts_listbox.pack(side=tk.LEFT, padx=0, pady=10)# 创建添加脚本按钮
add_button = tk.Button(frame, text="添加脚本", command=add_script)
add_button.pack(side=tk.LEFT, padx=5)# 创建删除脚本按钮
delete_button = tk.Button(frame, text="删除脚本", command=delete_script)
delete_button.pack(side=tk.LEFT, padx=5)# 创建执行脚本按钮
run_button = tk.Button(frame, text="执行脚本", command=run_tests)
run_button.pack(side=tk.LEFT, padx=5)# 创建清空输出按钮
clear_output_button = tk.Button(frame, text="清空输出", command=clear_output)
clear_output_button.pack(side=tk.LEFT, padx=5)# 创建清空已选列表按钮
clear_button = tk.Button(frame, text="清空已选列表", command=clear_selected_scripts)
clear_button.pack(side=tk.LEFT, padx=5)# 创建滚动条
scrollbar = tk.Scrollbar(window)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)# 创建文本框用于显示执行结果
output_text = tk.Text(window, height=50, width=110)
output_text.pack()# 将滚动条与文本框绑定
output_text.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=output_text.yview)# 运行主循环
window.mainloop()

已打包上传资源 

 (36条消息) 【免费】可以选择.py脚本,以pytest执行脚本资源-CSDN文库


http://chatgpt.dhexx.cn/article/UA3aZlsR.shtml

相关文章

linux上运行python(简单版)

linux上运行python&#xff08;简单版&#xff09; 一、前提准备1.centOS72.挂载yum源[http://t.csdn.cn/Isf0i](http://t.csdn.cn/Isf0i) 二、安装python3三、运行程序 一、前提准备 1.centOS7 2.挂载yum源http://t.csdn.cn/Isf0i 在终端进行安装python3 二、安装python3 …

linux怎么运行python脚本?

linux运行python脚本的方法&#xff1a; 1、命令行执行&#xff1a; 建立一个test.py文档&#xff0c;在其中书写python代码。之后&#xff0c;在命令行执行&#xff1a;python test.py 说明&#xff1a;其中python可以写成python的绝对路径。使用which python进行查询。 注…

java实现远程执行Linux下的shell脚本

java实现远程执行Linux下的shell脚本 背景导入Jar包第一步&#xff1a;远程连接第二步&#xff1a;开启Session第三步&#xff1a;新建测试脚本文件结果报错 背景 最近有个项目&#xff0c;需要在Linux下的服务器内写了一部分Python脚本&#xff0c;业务处理却是在Java内&…

Java运行Python脚本

前段时间遇到了在JavaWeb项目中嵌入运行Python脚本的功能的需求。想到的方案有两种&#xff0c;一种是使用Java技术&#xff08;Jython或Runtime.exec&#xff09;运行Python脚本&#xff0c;另一种是搭建一个Python工程对外提供相应http或webservice接口。两种方案我都有实现&…

Java项目分层

MVC模式 在实际的开发中有一种项目的程序组织架构方案叫做MVC模式&#xff0c;按照程序 的功能将他们分成三个层&#xff0c;如下图&#xff1a;Modle层&#xff08;模型层&#xff09;、View层&#xff08;显示层&#xff09;、Controller层&#xff08;控制层&#xff09;。…

java项目收获总结_java开发项目收获心得

1 java开发项目收获心得 it行业现在的发展如日中天,很多人都纷纷走进这个行业,而java作为跨平台的编程语言更是受欢迎。java其实相对其他语言来说的确很有优势,但是也有点缺陷,但是以后发展到什么程度,谁都不知道。那么下面小编给大家说说java开发项目收获心得,希望能对你…

java查看jar包依赖_java项目开发中如何查找到项目依赖的jar包?

不管是java普通工程,还是java web项目,甚至是android项目,依赖包的管理有2种: 1.直接依赖jar包 这种方式简单直白,项目下载后在正确的ide或者稍微做转换就可以运行起来。比如java web工程的WEB-INF/lib下 只要按这个步骤Java Build Path=>Add Libraty=>Web App Libr…

Java小白必看:开发一个编程项目的完整流程(附100套Java编程项目源码+视频)

我相信很多Java新手都会遇到这样一个问题&#xff1a;跟着教材敲代码&#xff0c;很容易&#xff1b;但是让他完整的实现一个应用项目&#xff0c;却不会&#xff1b;不知道从哪里开始&#xff0c;不知道实现一个项目的完整流程是怎样的&#xff0c;看似很简单的一个问题&#…

分享67套基于Java开发的Java毕业设计实战项目(含源码+毕业论文)【新星计划】

【新星计划】分享67套基于Java开发的Java毕业设计实战项目(含源码毕业论文) 基于Java开发的Java毕业设计实战项目 本文中的所有主题都来自互联网。如果您侵犯您的权利&#xff0c;请及时联系Blogger&#xff0c;博主将及时处理。 投诉邮箱&#xff1a;1919101926qq.com (没事…

分享一些我的学习方法

赖勇浩&#xff08;http://laiyonghao.com &#xff09; 经常听到和看到一些前辈提起搞编程这一行最大的痛苦在于知识的更新太频繁&#xff0c;如同逆水行舟&#xff0c;不进则退&#xff0c;稍一松懈&#xff0c;就跟不上潮流。的确如此&#xff0c;既然身在 IT 界&#xff0c…

规划之路:SLAM学习经验分享

针对想学SLAM的提问&#xff0c;我觉得我还是有一定的发言权。 作为一个刚入坑SLAM一年多的初学者&#xff0c;首先想说的就是这个研究方向比较广&#xff0c;大方向按搭载传感器分为激光SLAM和视觉SLAM两种&#xff0c;激光SLAM搭载激光雷达&#xff0c;视觉SLAM搭载单目、双目…

学习经验分享之十三:如何撰写论文

一、文献积累 顶刊or顶会&#xff1a; AAAI: American Association for AI National Conference CVPR: IEEE Conf on Comp Vision and Pattern Recognition IJCAI: Intl Joint Conf on AI ICCV: Intl Conf on Computer Vision ICML: Intl Conf on Machine Learning KDD: Knowl…

学习经验分享【25】记录个人的一些学习体会(更新TensorBoard)

本博文将记录和分享个人的一些学习工作体会和踩过的坑&#xff0c;希望对大家能有帮助。 一、对比实验 用yolov5l.ymal和yolov5n.ymal文件&#xff0c;然后加载yolov5s.pt后&#xff0c;训练得到的模型效果极差&#xff08;mAP差30%&#xff09;&#xff0c;重新训练后换为yol…

个人学习方法分享

hi&#xff0c;大家好&#xff0c;今天来分享一下&#xff0c;我的一些学习经验&#xff0c;希望对大家学习有帮助。 我的学习方法 学习计划 核心思想&#xff1a;把自己像产品一样打造&#xff0c;就像张一鸣经典语录&#xff1a;run company as a product 制定目标 首先学习需…

分享自己学英语的经验

其实学好英语对于一个人真的很有用&#xff0c;尤其是对工程师来说&#xff0c;各种文献资料&#xff0c;代码&#xff0c;最新的技术文章&#xff0c;太多是英文的了&#xff0c;一个典型的例子就是&#xff0c;作为一个程序员和外国客户做过培训&#xff0c;当其他同事英语没…

【学习经验分享NO.21】学习资料分享(持续更新)

本博客将收集整理人工智能深度学习相关资料&#xff0c;进行整理&#xff0c;供大家学习使用。如果有需要帮忙整理的请留言。将不断更新&#xff0c;请持续关注。 一、深度学习论文资料 链接&#xff1a;https://pan.baidu.com/s/18LO5df0dp9-IE8Z3aFyrPg 提取码&#xff1a;c…

学习经验分享之十:Pycharm

前 言&#xff1a;作Pycharm有社区版和正式版&#xff0c;初学深度学习算法的小伙伴可能会选择社区版&#xff0c;因为正式版只有30天试用期&#xff0c;但是在实际使用过程中&#xff0c;社区版会出现很多功能上的不足&#xff0c;比如无法网上连接服务器&#xff0c;以及其他…

个人学习经验

这是一个ubuntu上学习cv遇到的一些常见问题的帮助和解决方法。 有些东西我会慢慢往上面加 文章目录 创建新环境conda添加镜像源安装模块在jupyter中使用新环境在pycharm中使用新环境 使用scp命令传输文件使用mobaxterm连接服务器 转数据集标注格式anaconda上安装好用的插件使用…

学习经验分享之十一:硕士论文撰写心得

硕士论文由于需要学校提交教育部盲审&#xff0c;导致通过率并不能达到百分百。翟天临事件之后&#xff0c;盲评通过率明显变低一般按照学科分布来说&#xff0c;盲审通过率最低的是工学&#xff0c;通过了为69.9%&#xff0c;其次为哲学&#xff0c;通过率为73.8%&#xff0c;…

我的 C# 学习经验分享

.NET 20 周年的学习挑战赛刚结束了第一阶段&#xff0c; 不知道各位小伙伴参加了没有 &#xff1f; 有人问现在学习 C# 是不是有点过时 &#xff1f; 也有人问现在 C# 能做什么 &#xff1f;更有人问学习 C# 能否找到工作 &#xff1f; 或者你从不同的专家 &#xff0c;不同的从…