之前写了Testlink自动执行程序,现使用Tkinter加上GUI试试,想要实现如下图功能

可以实现通过选择要执行的url及报告url自动执行用例,或可以直接写报告结果内容

因项目原因,只列出部分代码功能

from Tkinter import *
from SimpleDialog import *
from tkFileDialog import askopenfilename root = Tk()
root.title("TestLink自动执行")
root.resizable(False, False) #让窗口不可以缩放 '''
增加变量
'''
addvar=StringVar()
vv=StringVar()
vv.set('已执行完的测试报告:')
v=StringVar() '''
增加label及text
''' urladdress=Label(root,text='TestLink地址:')
urladdress.grid(row=0,sticky=W)
address=Entry(root,text='input you text here',textvariable = addvar)
address.grid(row=0,column=1,sticky=E) user=Label(root,text='登陆用户名:')
user.grid(row=1,sticky=W) usertext=Entry(root,text='input you user here')
usertext.grid(row=1,column=1,sticky=E) Label(root,text='登陆密码:').grid(row=2,sticky=W)
password=Entry(root,text='Input you passowrd here')
password.grid(row=2,column=1,sticky=E) Label(root,text='测试项目关键字:').grid(row=3,sticky=W)
testproject=Entry(root,text='Input you testprojectid here')
testproject.grid(row=3,column=1,sticky=E) Label(root,text='测试计划关键字:').grid(row=4,sticky=W)
testplan=Entry(root,text='Input you testplanid here')
testplan.grid(row=4,column=1,sticky=E) planurl=StringVar()
Label(root,text='需要执行的测试计划:').grid(row=5,sticky=W)
testplanurl=Entry(root,text='Input you testplanurl here',textvariable = planurl)
testplanurl.grid(row=5,column=1,sticky=E) choseplan=Button(root,text='选择')
choseplan.grid(row=5,column=1,sticky=E) reporturl=StringVar()
report=Label(root,textvariable=vv,text="已执行完的测试报告:")
report.grid(row=6,sticky=W)
reportentry=Entry(root,textvariable = reporturl)
reportentry.grid(row=6,column=1,sticky=E) chosereport=Button(root,text='选择')
chosereport.grid(row=6,column=1,sticky=E) addvar.set('http://192.168.3.247:8080/testlink/login.php') def planopen(event): global filename
filename=askopenfilename()
if filename=="":
filename=None
else:
root.title("xxxx"+os.path.basename(filename))
pathdir=os.path.abspath(filename)
if "http://" not in pathdir:
pathdir="file:///"+pathdir
planurl.set(pathdir) def reportopen(event):
global filename
filename=askopenfilename()
try:
if filename=="":
filename=None
else:
root.title("xxxx"+os.path.basename(filename))
pathdir=os.path.abspath(filename)
if "http://" not in pathdir:
pathdir="file:///"+pathdir
reporturl.set(pathdir)
#return os.path.abspath(filename)
except Exception,e:
print e choseplan.bind("<Button-1>",planopen)
chosereport.bind("<Button-1>",reportopen) start=Button(root,text='开始')
stop=Button(root,text='停止')
chose=Checkbutton(root,text='通过报告写结果',variable=v,command=callCheckbutton,onvalue="已执行完的测试报告:",offvalue="直接写结果:")
#b2.bind("<Return>", cb2) #建立事件与响应函数之间的关系,每当产生Return事件后,程序调用cb2 start.grid(row=7)
stop.grid(row=7,sticky=E)
chose.grid(row=7,sticky=E,column=1)
start.bind('<Button-1>', printc)
stop.bind("<Button-1>",execut) var = StringVar()
lb2 = Listbox(root, listvariable = var) s1=Scrollbar(root)
lb2.grid(row=8,columnspan = 2,sticky=E+W)
s1.grid(row=8,columnspan = 2,rowspan=5,sticky=N+E+S) lb2['yscrollcommand']=s1.set
s1['command']=lb2.yview root.columnconfigure(0,minsize = 10)
root.mainloop()

Python GUI--Tkinter实践的更多相关文章

  1. Python GUI - Tkinter tkMessageBox

    Python GUI - Tkinter tkMessageBox: tkMessageBox模块用于显示在您的应用程序的消息框.此模块提供了一个功能,您可以用它来显示适当的消息     tkMess ...

  2. Python GUI编程实践

    看完了<python编程实践>对Python的基本语法有了一定的了解,加上认识到python在图形用户界面和数据库支持方面快捷,遂决定动手实践一番. 因为是刚接触Python,对于基本的数 ...

  3. Python GUI - tkinter

    目录: Tkinter 组件 标准属性 几何管理 代码实例: 1. Label & Button 2. Entry & Text 3.Listbox列表 4.Radiobutton单选 ...

  4. python gui tkinter快速入门教程 | python tkinter tutorial

    本文首发于个人博客https://kezunlin.me/post/d5c57f56/,欢迎阅读最新内容! python tkinter tutorial Guide main ui messageb ...

  5. Python GUI——tkinter菜鸟编程(中)

    8. Radiobutton 选项按钮:可以用鼠标单击方式选取,一次只能有一个选项被选取. Radiobutton(父对象,options,-) 常用options参数: anchor,bg,bitm ...

  6. python gui tkinter用法杂记

    1.treeview遍历 iids = tree.selection() t = tree.get_children() for i in t: print(tree.item(i,'values') ...

  7. Python GUI tkinter 学习笔记(一)

    第一个python程序 #!/usr/bin/python # -*- coding: UTF-8 -*- from Tkinter import * # 创建一个根窗口,其余的控件都在这个窗口之上 ...

  8. Python GUI tkinter 学习笔记(三)

    草稿 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() Label(root, text = "First").g ...

  9. Python GUI tkinter 学习笔记(二)

    第二个程序 # -*- coding: utf-8 -*- from Tkinter import * class App: def __init__(self, master): # frame 创 ...

  10. python GUI实战项目——tkinter库的简单实例

    一.项目说明: 本次通过实现一个小的功能模块对Python GUI进行实践学习.项目来源于软件制造工程的作业.记录在这里以复习下思路和总结编码过程.所有的源代码和文件放在这里: 链接: https:/ ...

随机推荐

  1. pymongo创建索引、更新、删除

    pymongo创建索引.更新.删除     索引创建 ## collection 为数据集合collection.create_Index({'需创建索引字段': 1})collection.ensu ...

  2. 说说$POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别

    $POST $_POST是我们最常用的获取POST数据的方式,它是以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换,识别的数据类型是PHP默认识别的数据类型 app ...

  3. html2canvas如何在元素隐藏的情况下生成截图

    html2canvas官网地址:http://html2canvas.hertzen.com/ github地址:https://github.com/niklasvh/html2canvas/ 从官 ...

  4. 没有启动 ASP.NET State service错误的解决方法

    具体错误如下: 异常详细信息: System.Web.HttpException: 无法向会话状态服务器发出会话状态请求.请确保已启动 ASP.NET State service,并且客户端和服务器端 ...

  5. 7 款基于 JavaScript/AJAX 的文件上传插件

    本文整理了7款基于JavaScript和AJAX的文件上传插件,这些插件基本上都能实现以下功能: 多文件上传 拖拽操作 实时上传进度 自定义上传限制 希望能为你的开发工作带来帮助. 1.  jQuer ...

  6. Charles安装包及破解包下载地址

    Charles安装包及破解包下载地址 http://xclient.info/s/charles.html?_=baf317d2a9932afca9b32c327f8a34c9

  7. HEVC/H.265 的未来必须是使用并行处理(OpenCL?) OpenCV和OpenCL区别

    1 扩展库简介 OpenCV(Open Source Computer Vision Library)是一个致力于实时处理计算机视觉问题的开源库.它最初由Intel公司开发,以GPL许可协议发布,后来 ...

  8. php -- 读取文本文件内容

    php读取文件内容的三种方法:    //**************第一种读取方式*****************************  代码如下: header("content- ...

  9. 天线增益英文名称:antenna gain

    天线增益是指:在输入功率相等的条件下,实际天线与理想的辐射单元在空间同一点处所产生的信号的功率密度之比.它定量地描述一个天线把输入功率集中辐射的程度.增益显然与天线方向图有密切的关系,方向图主瓣越窄, ...

  10. Unity3D之碰撞体,刚体

    一 概念介绍 刚体 Rigidbody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动.任何游戏对象只有添加了刚体组件才能受到重力的影 ...