AutoItLibrary 库的关键字
7.2.1 Run关键字
按F5 查看Run关键字的说明,如下图:
Run 关键字用来启动程序,主要有以下3种方式:
7.2.2 Win Close 关键字
按F5 查看Win Close关键字的说明,如下图:
Win Close 关键字用来关闭程序。
strTitle 是指打开窗口的标题。
7.2.3 Control Click 关键字
按F5 查看Control Click关键字的说明,如下图:
Control Click 关键字发送控制命令给鼠标点击。
7.2.4 Send 关键字
按F5 查看 Send 关键字的说明,如下图:
Send 关键字模拟按钮发送到窗口。
“123456”会被输入到计算器的计算框内。
对于非数字的键盘输入用“{}”花括号括起来。“{F1}”表示键盘F1;“{+}”表示键盘“+”加号;“{=}”表示键盘“=”等号。
组合键Alt+2:
执行{ALTDOWN}表示按下键盘Alt 键,{ALTUP}表示松开Alt 键。
组合键Ctrl+a、Ctrl+x、Ctrl+v:
执行{CTRLDOWN}表示按下键盘Ctrl 键,然按a 键“全选”,按x 键“剪切”,按v 键“粘贴”。
7.2.5 Wait For Active Window
按F5 查看 Send 关键字的说明,如下图:
Wait For Active Window 关键字会等待窗口显示出来。
7.2.6 Mouse Click 关键字
按F5 查看 Mouse Click 关键字的说明,如下图:
Mouse Click 执行鼠标点击操作。
个人不建议使用这种定位,如果移动计算器窗口,那么上面按钮的坐标也会发生变化。导致定位不准确。获取定位坐标如下。
7.2.7 Process Close 关键字
按F5 查看 Process Close 关键字的说明,如下图:
Process
Close 关键字用于关闭进程。
7.2.8 Win Get Client Size Height 和 Win Get Client Size Width 关键字
按F5 查看 Win Get Client Size Height 和 Win Get Client Size Height关键字的说明,如下图:
Win Get
Client Size Height 关键字用于获取程序窗口的高度。
Win Get
Client Size Width 关键字用于获取程序窗口的高度。
代码实现:
运行结果:
7.2.9 Win Get Title 和 Win Set Title 关键字
按F5 查看 Win Get Title关键字的说明,如下图:
Win Get
Title 用于获取窗口标题。
按F5 查看 Win Set Title关键字的说明,如下图:
Win Set
Title 用于设置窗口标题。
项目例子:Win Set Title 将“计算器”改为“计算机”;Win Get Title 获取当前“计算机”窗口的title,将通过log 打印出来。
代码实现:
运行结果:
7.3
AutoItLibrary 库-帮助文档
在AutoItLibrary-1.1_x64 的安装包里的doc 目录下有一个AutoItLibrary.html 文件, 它包含了AutoItLibrary 提供的所有关键字。
这份文档只罗列了AutoItLibrary 库所关键字,但对于关键字的使用并没说明和例子。对此我们可以参考AutoIt 帮助文档。找到安装包...\AutoItLibrary-1.1_x64\3rdPartyTools\AutoIt目录下的AutoItX.chm 文件。
例如,AutoItLibrary 库中提供了“Send”关键字,在AutoItX.chm 中就能打开send 方法的具体解释和例子。
除此之外,在安装包的...\AutoItLibrary-1.1_x64\tests_cn\还提供了关于计算器的项目。双击“RobotIDE.bat” 文件启动Robot Framework RIDE 打开项目。
7.4
AutoItLibrary 库在Web项目中的应用
7.4.1 实现Web文件上传
项目例子:教育局招生系统,沙井小学2的学校管理员导入学生信息。
Firefox浏览器下实现导入学生信息过程:
1.查看沙井小学2登录账号:286728,登录密码默认:123456
2.用沙井小学2学校管理员帐户登录系统
3.学生管理->导入学生信息
4. 选择导入的文件
导入的学生信息内容(导入2个学生信息)
导入文件存放在:D:\project\Educational\AutoItLibrary_project
下
Web实现附件上传的过程说明:
对于web 页面上打开的本地有Windows 上传窗口,Selenium 是无法进行识别和定位。
下面以操作“导入学生信息”弹出的窗口为例讲解AutoIt 实现上传过程。
1、首先打开AutoIt Windows
Info 工具,鼠标点击Finder Tool,鼠标将变成一个小风扇形状的图标,按住鼠标左键拖动到需要识别的控件上。
如上面的两张图,通过AutoIt
Windows Info 获得以下信息。
窗口的title 为“文件上传”,标题的Class 为“#32770”。
文件名输入框的class 为“Edit”,Instance 为“1”
,所以ClassnameNN 为“Edit1”。
打开按钮的class 为“Button”,Instance 为“1”
,所以ClassnameNN 为“Button1”。
2、根据AutoIt Windows
Info 所识别到的控件信息打开SciTE Script Editor 编辑器,编写脚本。
脚本内容:
;ControlFocus("title","text",controlID)
Edit1=Edit instance 1
ControlFocus("文件上传", "","Edit1")
; Wait 10
seconds for the Upload window to appear
WinWait("[CLASS:#32770]","",10)
; Set the
File name text on the Edit field
ControlSetText("文件上传", "", "Edit1",
"D:\\project\\Educational\\AutoItLibrary_project\\学生信息.xls")
Sleep(2000)
; Click
on the Open button
ControlClick("文件上传", "","Button1");
ControlFocus()方法用于识别Window 窗口。WinWait()设置10 秒钟用于等待窗口的显示,其用法与WebDriver 所提供的implicitly_wait()类似。ControlSetText()用于向“文件名”输入框内输入本地文件的路径。这里的Sleep()方法与Python 中time
模块提供的Sleep()方法用法一样,不过它是以毫秒为单位,Sleep(2000)表示固定休眠2000 毫秒。ControlClick()用于点击上传窗口中的“打开”按钮。
AutoIt 的脚本已经写好了,可以通过菜单栏“Tools”-->“Go”
(或按键盘F5)来运行一个脚本吧!注意在运行时上传窗口当前处于打开状态。
3、脚本运行正常,将其保存为upfile.au3,这里保存的脚本可以通过Run Script 工具将其打开运行,但我们的目的是希望这个脚本被Python 程序调用,那么就需要将其生成exe 程序。打开Compile Script to.exe工具,将其生成为exe 可执行文件。
点击“Browse”选择upfile.au3 文件,点击“Convert”按钮将其生成为upfile.exe 程序。
4、通过Robot Framework 加Selenium2Library 库实现Web 上传:
1)在测试套件中导入Selenium2Library 库
2)测试用例中用到os.system ,所以需要在测试套件中导入os 库。
3)代码实现上传功能
4)运行结果
查看学校列表记录,新增了2条导入的数据。
7.4.2 实现Web文件下载
项目例子:教育局招生系统,沙井小学2的学校管理员导出学生信息导入模板。
实现过程:
1.查看沙井小学2登录账号:286728,登录密码默认:123456
2.用沙井小学2学校管理员帐户登录系统
3.学生管理->导出学生信息导入模板
实现的方法跟上传也是差不多。