百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

AutoItLibrary 库的关键字

toyiye 2024-06-21 12:28 12 浏览 0 评论

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.学生管理->导出学生信息导入模板

实现的方法跟上传也是差不多。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码