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人员 ...
随机推荐
- 实时动态更新曲线图,x轴时间s随数据的变化而变化
$(function () { $(document).ready(function () { Highcharts.setOptions({ global: ...
- Java集合框架的知识总结(1)
说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析. 1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象 ...
- Javascript编程模式(JavaScript Programming Patterns)Part 2.(高级篇)
模块编程模式的启示(Revealing Module Pattern) 客户端对象(Custom Objects) 懒函数定义(Lazy Function Definition) Christian ...
- 体验Openstack--感觉这个比HADOOP还要基础啊
当然,这两者应该是可以整到一起的..这个和ESX是什么关系叫?? 今天闲时慢慢按文档整了一个大概出来.. http://www.linuxidc.com/Linux/2013-01/78253p3.h ...
- android 小米手机连接到电脑adb无法识别 解决方案
下载并安装小米手机助手 它会自动帮你安装驱动程序 安装成功后重启一下adb服务 应该就可以了
- 使用NSURLSession实现下载的进度
- RedHat Linux 下安装MPlayer 编译源代码方式
http://blog.csdn.net/hotday_kevin/article/details/6874703
- MyBatis 学习入门
mybatis 第一天 mybatis的基础知识 持久层的框架,对jdbc的封装 课程安排 第一天:基础知识(重点,内容量多) 最简单的jdbc程序 public class JdbcTest{ pu ...
- VC 为静态控件添加事件(修改ID号以后添加事件)
操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为静态控件添加事件,如:STATIC.Picture Control等等 有时候我们找到一个图片,为对话框背景添加 ...
- 中国版dropbox“坚果云”和它背后的团队故事(大的优势就在于他为用户提供了设定多个文件夹的权利)
(速途网专栏 作者:娄昊川)坚果云是一款中文存储服务,前身是“坚果铺子”,提供免费的云空间,与dropbox类似,用户可以直接把档案同步到坚果云,供自己和伙伴用任何设备访问.自上线以来,几乎所有用户都 ...