窗体

GUI测试之通用测试篇---GUI测试总结

余生颓废 提交于 2019-12-08 01:34:05
GUI测试总结 From to: http://blog.csdn.net/imlogic/archive/2007/05/28/1628375.aspx GUI,GRAPHICAL USER INTERFACE的缩写,通常发音为GOO-ee。众所周之,GUI就是使用图像,输入的文字,带图标的屏幕的计算机界面,取而代之许多键盘的功能。GUI让用户可以通过图标和鼠标与他们的电脑进行交互,而不是在命令行中输入文本。 第一个图形用户界面是由Xerox Palo Alto 研究中心在1970年设计的,但是直到1980年代随着苹果的Macintosh出现GUI才开始流行起来。导致其被长时间才被接受的一个原因是GUI需要相当多的CPU和质量好的显示器,而这些在以前都是相当昂贵的。 现在主要的操作系统都提供了图形用户界面,如Microsoft的Windows, Apple的Mac OS和 Sun Microsystem的OpenWindows等. 利用计算机的图形能力产生的程序界面使得程序更加容易被使用。良好设计的图形用户界面可以使用户从负责的命令语言中解放出来。 一般来说,应用程序有以下的基本的组件(或者说是元素): 光标(pointer):显示在屏幕上让用户移动以选择对象和命令的符号。通常显示为一个小的箭头。但是在文字处理的应用程序则是用象大写I一样的光标。 图标(icon)/图片

Python基础系列讲解-自动控制windows桌面

断了今生、忘了曾经 提交于 2019-12-06 15:41:34
原链接: https://zhuanlan.zhihu.com/p/73001806 在使用PC时与PC交互的主要途径是看屏幕显示、听声音,点击鼠标和敲键盘等等。在自动化办公的趋势下,繁琐的工作可以让程序自动完成。比如自动化测试、自动下单交易等。很多软件除了可以GUI方式操作外还可以用CLI接口操作,不过当一些软件未提供CLI接口时,我们应该怎么办呢?我们还可以用程序控制桌面上的窗口、模拟点击鼠标或按下键盘等动作来释放自己。 pywin32是一个Python库,它为Python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等,安装后会自带一个pythonwin的IDE。接下来主要介绍下如何通过Python去操作windows桌面软件。 1、打开软件或文件 ,比如打开一个谷歌浏览器,或者打开一个word文件,如下所示: win32api.ShellExecute(1, 'open', r'C:Program Files (x86)GoogleChromeApplicationchrome.exe', '', '', 1) win32api.ShellExecute(1, 'open', r'C:UsersJayDesktopEnvironment Guider.docx', '', '', 1) win32api

Windows中的Work线程和GUI线程

廉价感情. 提交于 2019-12-06 10:02:47
Windows线程分为两种:Worker线程、GUI线程 worker线程:是指完全不牵扯到图形用户界面(GUI), 纯粹做运算的线程 。 GUI线程:负责建造窗口以及处理消息循环(拥有消息队列) 。任何一个特定窗口的消息总是被产生这一窗口的线程抓到并处理(线程收到消息后派发给不同的窗口函数处理)。 操作系统会监控计算机上的键盘和鼠标等输入设备,为每一个输入事件(由用户操作所引发,比如用户按了某个键)生成一个消息。根据事件发生时的情况(比如当前激活的窗体负责接收用户按键,而依据用户点击鼠标的坐标可以知道用户在哪个窗体区域内点击了鼠标),操作系统会确定出此消息应该发给哪个窗体对象。这些生成的消息会统一地先临时放置在一个“系统消息队列(system message queue)”中,然后,操作系统有一个专门的线程负责从这一队列中取出消息,根据消息的目标对象(就是窗体的句柄),将其移动到创建它的UI线程所对应的消息队列中。(操作系统在创建进程和线程时,都同时记录了大量的控制信息,比如通过进程控制块和句柄表可以查找到进程所创建的所有线程和引用的核心对象,因此,根据窗体句柄来确定此消息应属于哪个UI线程对于操作系统来说是很简单的一件事)。UI线程启动一个消息循环,每次从本线程所对应的消息队列中取出一条消息,然后根据消息所包容的信息,将其转发给特定的窗体对象,此窗体对象所对应的“窗体过程

Windows Form父子两个窗体之间的传值测试

老子叫甜甜 提交于 2019-12-06 09:57:00
1:先看测试的效果图: 2:全部的代码 1 using System; 2 using System.Windows.Forms; 3 4 namespace WindowsForms 5 { 6 public partial class ParentForm : Form 7 { 8 public void ParentGetvalue(string text) 9 { 10 this.textBox1.Text = text; 11 labelp.Text ="获取的值是:"+ text; 12 } 13 public Action<string> doinvokeP; 14 private void ParentForm_Load(object sender, EventArgs e) 15 { 16 ChildForm cf = new ChildForm(this); 17 doinvokeP += cf.ChildGetValue; cf.Show(); 18 } 19 private void btnParent_Click(object sender, EventArgs e) 20 { 21 if (doinvokeP != null) 22 { 23 doinvokeP.Invoke(textBox1.Text); 24 } 25 } 26 27 public

JAVA界面设计

我与影子孤独终老i 提交于 2019-12-06 05:07:36
一、java的图形界面 1.swing javax.swing jdk1.4时推出的图形界面,跨平台性好 二、常用的组件 1.容器组件 JFrame 窗体类 最顶级的容器(默认布局为边框布局,不能自己互相添加) 2.元素组件 JLabel 标签类 JTextField 文本输入框类(可以设置框内字符、输入框长度) JPasswordField 密码输入框类(框内字符会被特定字符代替) JCheckBox 复选框类 JButton 按钮类 容器和组件都是swing包下的类。javax.swing.JFrame 三、常用的布局 1.布局类只能用在容器中。设置布局时需用setLayout() FlowLayout 流式布局(如同文本文档一样一行一行排列,排列满换行,默认方向为从左向右,可以设置对齐方向) 四、简单登录界面的实现 1.新建一个xxx类(Login),在类中定义主函数。 2.在类中定义一个初始化界面的方法(initUI) 3.在初始化界面的方法中,实例化一个顶级容器(JFrame)类的对象。 4.设置JFrame对象的属性值(标题,大小,显示位置,关闭退出程序,禁止调整大小,可见,该步完成对一个窗体的创建) 5.实例化元素组件对象,将对象添加到窗体上 6.在主函数中实例化Login类的对象,用对象名调用初始化界面的方法。 注:setDefaultCloseOperation(

使用WindowBuilder设计Swing程序

做~自己de王妃 提交于 2019-12-05 14:56:24
Swing程序表示Java的客户端窗体程序,除了通过手动编写代码的方式设计Swing程序之外,Eclipse中还提供了一种WindowBuilder工具,该工具是一种非常好用的Swing可视化开发工具,有了它,开发人员就可以像Visual Studio一样通过拖放组件的方式编写Swing程序了,下面对如何使用WindowBuilder开发工具设计Swing程序进行详细介绍。 A.1 下载WindowBuilder工具 下载WindowBuilder工具有两种方法,一种方法是直接下载集成WindowBuilder工具的Eclipse,另外一种是通过Install New Software安装,下面分别介绍。  下载集成WindowBuilder工具的Eclipse 在Eclipse官方网站的Eclipse下载页面提供了多种Eclipse工具,其中有一个“Eclipse IDE for Java Developers”选项,该项即集成了WindowBuilder工具,用户只需要根据自己的操作系统位数下载相应的版本即可,如图A.1所示。 图A.1下载集成WindowBuilder工具的Eclipse  通过Install New Software安装WindowBuilder工具 如果用户下载的Eclipse版本不是“Eclipse IDE for Java Developers”

第十三周课程总结

删除回忆录丶 提交于 2019-12-05 09:59:54
第十三周课程总结 菜单组件 JMenuBar 用来摆放JMenu组件,JMenuBar的常用方法 JMenu常用方法 JMenuItem 为菜单中加入菜单项,可以理解为一种特殊的JButton组件 JMenuItem的常用方法 JFileChooser的常用方法 实现键盘监听 package org.lxh.demo18.keyeventdemo; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; //此类定义时直接继承了JFrame类丶实现KeyListener接口 public class MyKeyHandle extends JFrame implements KeyListener { private JTextArea text=new JTextArea(); public MyKeyHandle(){ super.setTitle("Welcome To MLDN")

改变JAVA窗体属性的操作方法

时光怂恿深爱的人放手 提交于 2019-12-05 04:33:01
在本篇内容里小编给大家详细分析了关于改变JAVA窗体属性的操作方法和步骤,需要的朋友们学习下。 若将JDK版本升级到最新版本,Java窗体就可以简单实现窗体的透明效果,用户可以通过拉动滑块(Slider)调整窗体透明度,实现窗体不同透明程度的切换。下面让我简单实现窗体透明效果,用户可以做些扩展。 1、 2、运行Java程序后,将出现如下图所示的初始化窗体界面,用户需关闭窗体做下一步代码的编写。 3、 4、 继续在setOpacity()方法中添加代码,在窗体dialog中加入panel控件,再将lable和slider加入到panel中。继续在setOpacity()方法中添加代码,在窗体dialog中加入panel控件,再将lable和slider加入到panel中。 5、 总结:以上就是本次关于改变JAVA窗体属性的操作方法内容,感谢大家的阅读和对小皮的支持。 来源: https://www.cnblogs.com/GX1234/p/11906099.html

window.open 打开新窗口被拦截的解决方案

隐身守侯 提交于 2019-12-05 01:51:21
最近公司开发的一个项目,平凡用到下载各种类型的文件,但是例如.txt,.jpg,.pdf格式的文件呢浏览器会在当前窗口直接打开,影响用户体验,尝试各种方案和百度总结一下几点; 原理: 当window.open为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就出现被拦截的表现了(浏览器认为这可能是一个广告,不是一个用户希望看到的页面) 常用办法页面打开方式 : 超链接 <a href="https://www.baidu.com" title="">Welcome</a> 等效于js代码 window.location.href="https://www.baidu.com"; //在同当前窗口中打开窗口 超链接 <a href="https://www.baidu.com/" title=""target="_blank">Welcome</a> 等效于js代码 window.open("https://www.baidu.com/"); //在另外新建窗口中打开窗口 关闭新窗口:this.window.opener =null; window.close(); 解决方案: 使用a标签替代: 给出如下函数,将此函数绑定到click的事件回调中,就可以避免大部分浏览器对窗口弹出 的拦截: function newWin(url, id)