windows gui测试工具:AutoIt
windows gui测试工具:AutoIt
2017-01-09
目录
1 简介
2 示例1 记事本自动化操作
3 示例2 上传文件
1 简介
AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件, 它被设计用来在Windows GUI(用户界面)中进行自动操作。AutoIt 最初是为PC(个人电脑)的"批量处理"而设计, 用于对数千台PC进行(同样的)配置. 现在,autoit是一个支持复杂表达式,自定义函数,循环等的强大脚本软件。
- AutoIt3.chm:帮助文档
- AutoIt:窗口信息工具
- SciTE.exe:脚本编辑器,可编辑、编译运行脚本
- AutoIt3.exe:脚本运行器,是一个非常小并且独立的应用程序,完全不依赖像 .net 或者 vb 使用的厚重的运行库. 所有您需要运行的脚本都能使用主程序执行
- Aut2Exe:脚本编译器,进行编码后转化成独立的可执行文件
2 示例1 记事本自动化操作
自动化操作代码'OperateNotepad.au3':
Run("notepad.exe")
WinWaitActive("无标题 - 记事本")
Send("This is some text.")
WinClose("无标题 - 记事本")
WinWaitActive("记事本", "保存(&S)")
;WinWaitActive("Notepad", "Do you want to save") ; When running under Windows XP
Send("!n")
抓取窗口信息

图1 抓取窗口信息
AutoIt脚本转化成可执行文件

图2 AutoIt脚本转化成可执行文件
3 示例2 上传文件
当上传控件不是input元素,而是桌面窗口,这个时候利用Selenium的sendkeys方法是行不通的。可以用autoIt来操作。
被测网页代码'upload.html':
<body>
<input type="file" id="fileControl" value="选择文件"/>
</body>
自动化操作代码'uploadFile.au3':
;first make sure the number of arguments passed into the scripts is more than
If $CmdLine[]< Then Exit EndIf ;if parmas num < ,then break
;$CmdLine[] ;参数的数量
;$CmdLine[] ;第一个参数 (脚本名称后面)
;$CmdLine[] ;第二个参数
;都是从cmd传入参数
handleUpload($CmdLine[],$CmdLine[]) ;定义上传函数,有两个参数,第一个是浏览器名字,第二参数是文件路径
Func handleUpload($browser, $uploadfile)
Dim $title ;定义一个title变量
;根据弹窗的title来判断是什么浏览器
If $browser="ie" Then ; 代表IE浏览器
$title="选择要加载的文件"
ElseIf $browser="chrome" Then ; 代表谷歌浏览器
$title="打开"
ElseIf $browser="firefox" Then ; 代表火狐浏览器
$title="文件上传"
EndIf if WinWait($title,"",) Then ;等待弹出出现,最大等待时间是4秒
WinActivate($title) ;找到弹出窗口之后,激活当前窗口
ControlSetText($title,"","Edit1",$uploadfile) ;把文件路径放入输入框
ControlClick($title,"","Button1") ;点击保存或者打开或者上传按钮
Else
Return False
EndIf
EndFunc
操作
- 把'uploadFile.au3'转化成'uploadFile.exe''
- 用ie打开被测网页代码'upload.html',并点击'浏览'元素,系统自动打开桌面浏览窗口,如下图3所示
- 打开cmd.exe窗口,输入以下命令,按回车执行,结果如下图所示
"D:\TestUploadFileWithAutoit\uploadFile.exe" "ie" "D:\TestUploadFileWithAutoit\1.png"

图3 点击‘浏览...’按钮,打开浏览桌面窗口 
图4 上传后结果
Java调用Upload.exe代码:
public void handleUpload(String browser, File file) {
String filePath= file.getAbsolutePath();
String executeFile= "D:\\TestUploadFileWithAutoit\\UploadFile.exe";
String cmd= "\""+ executeFile+ "\""+ " "+ "\""+ browser+ "\""+ " "+ "\""+ filePath+ "\"";
try{
Process p= Runtime.getRuntime().exec(cmd);
p.waitFor();
} catch(Exception e) {
e.printStackTrace();
}
}
windows gui测试工具:AutoIt的更多相关文章
- 转载:开发者眼中最好的 22 款 GUI 测试工具
对于很多同学来说gui程序的测试是一个难点,所以我从网上转载了一篇关于gui测试的一篇文章,里面罗列的很多工具,大家可以尝试一下学习学习. 英文原文:22 best GUI testing tools ...
- 开发者眼中最好的 22 款 GUI 测试工具
1.Abbot - Java GUI 测试框架 Abbot是一个基于GUI的简单的Java测试框架,它能够帮助开发者测试Java用户界面. 它提供事件自动生成和验证Java GUI组件,使您能够轻松地 ...
- GUI测试要点
本人测试知识还不完整,所以下面的文字总结自网络上的文章,红色字体为我平时的测试经验,如有雷同之处,还请见谅,仅自己学习之用. 转载请说明来自博客园--邦邦酱好. ------------------- ...
- 【嵌入式硬件Esp32】MQTT链接测试工具
1.Eclipse Paho MQTT Utility GUI测试工具 下载地址: 链接:https://pan.baidu.com/s/1ivxk3DWJkod-jBsowlcoBA 提取码:0lp ...
- AutoIt操作Windows GUI实现文件上传
AutoIt 一个使用类似BASIC脚本语言的免费软件,用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务. 官方网站: htt ...
- 开源自己用python封装的一个Windows GUI(UI Automation)自动化工具,支持MFC,Windows Forms,WPF,Metro,Qt
首先,大家可以看下这个链接 Windows GUI自动化测试技术的比较和展望 . 这篇文章介绍了Windows中GUI自动化的三种技术:Windows API, MSAA - Microsoft Ac ...
- Windows 平台下局域网劫持测试工具 – EvilFoca
简介 安全测试工具可能含有攻击性,请谨慎适用于安全教学及学习用途,禁止非法利用! EvilFoca是Windows环境下基于.NET FrameWork的一款轻量级的劫持测试工具.与BackTrack ...
- Windows如何使用Apache的ab工具进行网站性能测试(Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便)
打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具. 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序.注意 ...
- Windows开源Web服务器性能和压力测试工具
linux有很多开源工具用来测试服务器负载,而windows上非常少,几乎没有除了几个复杂的JMeter WET等 将两个好用的工具是Linux版本通过Cygwin移植过来,方便广大windows人员 ...
随机推荐
- Codeforces Round #239 (Div. 2) C. Triangle
time limit per test:1 secondmemory limit per test:256 megabytesinput:standard inputoutput:standard o ...
- POJ2402+模拟
题意:找出第index 个回文数. 这题是有规律的,即list[]数组. 其次,对于某个 index 可以先精确到 位数 pos,然后在进行分析. 1a #include<stdio.h> ...
- Java装饰设计模式的例子
这里给出一个顾客购买咖啡的例子.其中咖啡可以加冰(2元),加巧克力(4元). 下面是面向对象中装饰模式的解决方案. /** * Created with IntelliJ IDEA. * User: ...
- linux 性能分析常规逻辑和手段总结
一. 追查cpu占用较高的进程(线程) 1 . 如何查找出当前系统中占用cpu或者内存最高的进程? ps aux |sort -rn -k 3 |head -n3 查找出当前系统中cpu资源占用前三 ...
- 文件过滤驱动实现目录重定向(一)good
文件过滤驱动拦截的IRP主要包括以下几个:IRP_MJ_CREATE,文件创建操作,文件的任何操作,都是从这里开始的.IRP_MJ_CLEANUP,文件的HANDLE句柄全部关闭会触发这个消息IRP_ ...
- 通过Hibernate将数据库在myeclipse中逆向生成
1.首先准备好数据库. 2.在MyEclipse的右上角切换透视图,切换到MyEclipse Database Explorer 3.在最左边点击右键,选择New(也就是新建一个数据库连接),然后编写 ...
- netsh命令
C:\Windows\System32>netsh interface ipv6 show address level=verbose 地址 ::1 参数-------------------- ...
- [Hadoop源码解读](二)MapReduce篇之Mapper类
前面在讲InputFormat的时候,讲到了Mapper类是如何利用RecordReader来读取InputSplit中的K-V对的. 这一篇里,开始对Mapper.class的子类进行解读. 先回忆 ...
- MapReduce架构设计
MapReduce采用Master/Slave的架构,其架构图如下: 它主要有以下4个部分组成: 1)Client 2)JobTracker JobTracke负责资源监控和作业调度.JobTrack ...
- Tomcat输出catalina.out的大小控制
资源URL:http://download.csdn.net/detail/attagain/7771065 Tomcat默认生成的日志文件catalina.out,随着时间的推移,逐渐增大,可能达到 ...