总结:文章目录下的数据数量以及保存的文件处理代码框架。 后续开发测试工具的思路。 默认情况下,数据计数和保存文件处理以弹出格式显示。 将保存的数据保存到指定文件中。 清除界面上的所有内容。 文件内容会根据需要的数量生成测试数据,并根据您的选择检查是否保存为文件。
文章目录 1、V4.0 数据编号及保存文件处理 2、4.0 代码框架 3、后续测试工具开发思路
1、V4.0 数据。编号及保存文件处理
(1) 默认以弹出形式显示 (2) ) 将保存的数据保存到指定文件 (3) 清除界面上所有文件的内容 (4) 根据生成测试数据到需要的数量,并根据您的选择检查是否保存为文件。
# 基于合成格式创建V4.0测试数据 import wximport string,randomimport csv# 定义类 class GUI_CreatData: # 初始化类 def __init__(self) : # 初始化APP self.app = wx。 App() # 定义表单 self.window = wx.Frame (None, title="Experimental", size=(500, 500)) # 定义面板 self.panel = wx.Panel(self.window) # 标签 self Define. lblmin = wx.StaticText(self.panel, label="最小长度") #定义文本框 self.txtmin = wx.TextCtrl(self.panel) # 定义标签 self.lblmax = wx.StaticText(self.panel, label="最大长度") # 定义文本框 self.txtmax = wx. TextCtrl(self .panel) # 定义复选框 self.chkB1 = wx.CheckBox(self.panel, label="包含大写字母") self.chkB2 = wx.CheckBox(self.panel, label="包含小写字母" ) myself 。 chkB3 = wx.CheckBox(self.panel, label="包含数字") self.chkB4 = wx.CheckBox(self.panel, label="包含符号") self.chkB5 = wx.CheckBox(self.panel, label= "包含序列号") self.chkB6 = wx.CheckBox(self.panel, label="包含邮箱后缀") self.chkB7 = wx.CheckBox(self.panel, label="保存到文件") # 定义标签 self 。 lblfile = wx.StaticText(self.panel, label="文件名和路径") # 定义文本框 self.txtfile = wx.TextCtrl(self.panel) # 定义标签 self.lblshu = wx.StaticText(self.panel, label="Total data") # 定义一个文本框,并通过value属性指定默认值 self.txtshu = wx.TextCtrl(self.panel, value="1") # 二定义按钮self .butOK = wx.Button(self.panel, label="OK") self.butreset = wx.Button(self.panel, label="Reset") #控制布局 deflayout(self): # 设置布局框 1 = wx .BoxSizer() # 默认为水平 box1.Add(self.lblmin, flag=wx.LEFT | wx.TOP, border=10) box1.Add(self.txtmin, flag=wx.LEFT | wx.TOP, border =10) box1.Add(self.lblmax, flag=wx.LEFT | wx.TOP, border=10) box1.Add(self.txtmax, flag=wx.LEFT | wx.TOP, border=10) # 设置第二个行布局 box2 = wx.BoxSizer() # 默认为水平 box2.Add(self.chkB1, flag=wx.LEFT | wx.TOP, border=10) box2.Add(self .chkB2, flag=wx .LEFT | wx .TOP, border=10) # 设置第三行布局 box3 = wx.BoxSizer() # 默认为水平 box3.Add(self.chkB3, flag=wx.LEFT | wx.TOP, border=10) box3.Add(self.chkB4, flag=wx.LEFT | wx.TOP, border= 10 ) # 设置第4行的布局 box4 = wx.BoxSizer() # 默认为水平 box4.Add(self.chkB5, flag=wx.LEFT | wx.TOP, border=10) box4.Add(self. chkB6 , flag=wx.LEFT | wx.TOP, border=10) # 设置第 5 行的布局 box5 = wx.BoxSizer() # 默认为水平 box5.Add(self.chkB7, flag=wx.LEFT | wx.TOP , border =10) box5.Add(self.lblfile, flag=wx.LEFT | wx.TOP, border=10) box5.Add(self.txtfile, flag=wx.LEFT | wx.TOP, border= 10) # 设置第 6 行的布局 box6 = wx.BoxSizer() # 默认为水平 box6.Add(self.lblshu, flag=wx.LEFT | wx.TOP, border=10) box6.Add(self. txtshu , flag= wx. LEFT | wx.TOP, border=10) # 设置第 7 行的布局 box7 = wx.BoxSizer() # 默认为水平box7.Add(self.butOK, flag=wx.LEFT | wx.TOP, border=10) box7.Add(self.butreset, flag=wx.LEFT | wx.TOP, border=10) # 设置垂直布局 boxFinal = wx.BoxSizer(wx.VERTICAL) for i in range(1, 8): boxFinal.Add(eval(f"box{i}")) # eval 函数将字符串转换为对象 self.panel SetSizer(boxFinal. ) ) #事件绑定:绑定确定按钮对应的事件 defeventbind(self): self.butOK.Bind(wx.EVT_BUTTON, self.checkinput) self.butreset.Bind(wx.EVT_BUTTON, self.reset) #Event:检查接口。 这是用来绑定按钮的事件,所以输入参数必须包含该事件 # 事件:检查接口 def checkinput(self,event): # 检查长度,指定 self.checklen() # 如果不选择条件,默认生成字符串 check_result = self.nonemethod() # 检查输入数量 number = self.checknum () # if 条件不选且数量不等于0 str1 = " " if check_result ==0 and number != 0: for i in range(1, number + 1): re = self.creatdata() str1 = str1 + re + "/n" print(str1) # 选择“保存到文件” 如果没有, if not self.chkB7.GetValue(): # 然后会出现一个对话框,显示生成的 self.showdata(str1)。 else: # 调用文件保存方法 self.savefile(str1) # 如果选择条件,数量不等于0 elif check_result != 0 and number != 0: for i in range(1, number + 1): re = self.createdatamethod(i) str1 = str1 + re + "/n" print (str1) # 如果没有选择“保存”到文件,则不会 self.chkB7.GetValue(): # 将出现一个对话框,显示生成的 self .showdata(str1)。 else: # 调用保存文件。 方法 self.savefile(str1) # 如何保存文件 def savefile(self, data): # 首先判断文件名文本框中输入的路径和文件名是否合法。 filetmp = self.txtfile.GetValue() # 如果文件路径为空 if filetmp == "" : # 设置错误提示弹框 dlg = wx.MessageDialog(None, "请输入文件名和路径!", "错误信息", wx.YES_DEFAULT | wx.ICON_QUESTION) # 如果是 if dlg .ShowModal() == wx.ID_YES: # 则关闭弹出框 dlg.Destroy() return 0 # 如果路径和文件名正确, # 创建file file = open(filetmp, "w", newline ="") # 创建编辑器 write = csv.writer(file) # 使用编辑器写入 data.split("/n") 中元素的内容: write .writerow([element]) # write.writerow(element) ) # 关闭文件 file.close() # 始终将数据写入新窗口中显示在 def showdata 中(self, re): # 创建一个窗口 self.window = wx.Frame(None, title="显示测试数据", size=(800, 300)) # 创建一个面板(面板可以是你想要的控件) self .panel = wx.Panel(self.window) # 在面板上设置一个文本框并定义其关联属性 wx.TextCtrl(self.panel , value=f"{re}/n" , style =wx.TE_MULTILINE, size =(400, 300)) # 文本控件显示多行 # 窗口显示在最后 self.window.Show (True) # 检查输入数量 def checknum(self): # 判断是否 self.txtshu.GetValue() == "" 或 int(self.txtshu.GetValue()) 如果文本框数量为空或非空
评论前必须登录!
注册