测试工程师Deepseek实战之如何反向PUA它

问:
你是一名资深测试开发工程师
帮我设计一个提效工具,具有以下功能:
1.页面使用PYQT5设计,用两个输入控件,最好是日期类型的控件,第一个日期控件作为开始日期,第二个日期控件作为结束日期;前后日期可以为空,开始日期为空时,默认传当年的第一天;结束日期不选择的话,默认传当月最后一天;有一个查询按钮,点击查询,将开始日期及结束日期传递给数据处理函数;
2.传递给数据处理函数后,这里帮我搭一个架子,具体逻辑我来实现,帮我处理通过开始日期、结束日期获取月份信息,例如开始日期为2025-01-01,则帮我处理为2025-01,结束日期也是同理;
3.经过处理函数的处理后,在GUI界面下发区域进行展示,包含的表头有系统名称、版本发布周期(即开始日期-结束日期)、测试父计划名称、测试子计划名称、关联测试用例数、包含的P0级用例数;
4.在表格下发有一个导出按钮,点击导出,将表格内容以XLSX格式导出。

好了,帮我输出一个美观大方得体的工具吧,你是最厉害的,一定要保证代码的逻辑正确,也要保证代码足够健壮

答:

以下是一个基于PyQt5的健壮工具实现,包含您要求的所有功能特性:

import sys
from datetime import date, datetime
from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout,
                             QLabel, QDateEdit, QPushButton, QTableWidget, QTableWidgetItem,
                             QMessageBox, QFileDialog)
from PyQt5.QtCore import QDate, Qt
import pandas as pd

class ReleasePlanTool(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()
        self.data = []  # 存储表格数据
        
    def initUI(self):
        self.setWindowTitle('版本测试计划管理工具')
        self.setGeometry(300, 300, 1200, 800)
        
        # 主布局
        main_widget = QWidget()
        self.setCentralWidget(main_widget)
        layout = QVBoxLayout(main_widget)
        
        # 日期选择区域
        date_layout = QHBoxLayout()
        self.start_date_edit = QDateEdit(calendarPopup=True)
        self.start_date_edit.setDisplayFormat("yyyy-MM-dd")
        self.start_date_edit.setDate(QDate.currentDate().addMonths(-1))
        self.start_date_edit.setMaximumDate(QDate.currentDate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python测试之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值