找回密码
 立即注册
Qt开源社区 门户 查看内容

Qt应用自动化系列教程-02控件定位详解

2019-2-9 08:40| 发布者: admin| 查看: 1487| 评论: 0

摘要: 作者:聆播微布 从前面的教程中,我们借助LeanRunner 轻松实现了Qt应用的自动化。在实例中,创建的自动化脚本主要由model文件和JavaScript代码两部分组成。model文件又叫对象模型文件,存储着被测应用控件的测试对 ...
作者:聆播微布



从前面的教程中,我们借助LeanRunner 轻松实现了Qt应用的自动化。在实例中,创建的自动化脚本主要由model文件和JavaScript代码两部分组成。model文件又叫对象模型文件,存储着被测应用控件的测试对象信息,JavaScript代码包含了自动化操作逻辑。

做UI的自动化的时候,正确定位到控件是后面进行UI自动化的必要条件。本讲中我们来具体聊聊如何定位UI控件。

下图是上节创建的的对象模型,在介绍如何定位UI控件之前,我们先简要看下LeanRuner模型管理器提供的主要功能。



LeanRunner模型管理器中, 左边部分为模型的对象树,存放对应于控件的测试对象,右边栏某个选中对象的详细内容。

下面对主要功能进行说明:

导航栏部分:

  • 新建:创建新的文件

  • 打开:打开一个文件

  • 保存:保存文件

  • 添加对象:添加一个对象

  • 批量添加:添加多个对象

  • 侦测:对象侦测

  • 高亮:选中的对象高亮显示

  • 控件截图:对识别到的控件进行截图。

  • 删除:删除控件的节点树信息


对象详细内容部分:

  • 名字:节点名称

  • 类型:节点控件的类型

  • 描述:对此节点添加描述

  • 无图片:可以在【操作】中设置是否在查找控件时截图,设置此选项则此处会显示此节点控件的截图信息。

  • 识别属性:对象用于识别控件的属性。

  • 控件操作:对象上的操作方法,如点击,拖拽等方法,及动态属性。

  • 控件截屏:对此节点的控件进行的截图,可提高对象模型管理的可读性。


上一讲我们介绍了如何【添加对象】,除了使用【添加对象】这一种方式来添加之外,还可以通过【批量添加控件】和【侦测控件】的方式来添加控件。


批量添加控件



使用【批量添加控件】功能,可以一次获取多个控件对象的信息。



以 Address Book 应用为例,如果要获取导航栏上面的对象,就可以使用【批量添加控件】功能,一次将多个控件添加进来。



具体操作如下:

LeanRunner 模型管理器中选择【批量添加控件】按钮,Address Book中选择上述控件中的一个,比如选择某一个TabItem控件,如【ABC】,LeanRunner将自动识别到与此控件在同一层级的其它控件。如下图:



勾选对应的复选款即可添加此对象到对象模型中。




控件侦测



控件侦测器可以进行实时侦测定位,打开【控件侦测】弹出侦测面板。

点击【开始侦测】按钮,可以进行控件侦测:当你鼠标Windows界面移动的时候,识别到的元素控件会有红色边框,同时侦测窗口会显示侦测到的控件信息。

使用侦测器可以定位任意想要定位的对象,当你确定要选取的对象之后,只需要在对应的对象上鼠标单击即可。此时控件树中将显示此对象的节点信息。如果控件树信息确认无误,点击下面的【添加】按钮即可保存到对象模型中。




复杂元素添加



在工具栏中,选择子控件时往往需要先点击父控件,而在控件选取的时候鼠标单击控件即选定当前控件。这时候怎么办呢?

在LeanRunner 模型选择器中提供使用“Ctrl” 辅助控件获取。下面以一个常用的例子来说明。

在 Address Book 应用里面,当要操控【File】--【Open】 这样的操作菜单时,我们就可以使用Ctrl键来协助。



具体做法如下:


  1. 打开LeanRunner模型管理器,点击【添加对象】按钮,鼠标移动到【File】



此时,按下“Ctrl”键不要松开 ,鼠标点【 File 】,此时可以弹出显示出来下拉选项,



2.这个时候,“Ctrl” 键可以松开,之后鼠标移动到【Open...】处,按下鼠标约1秒时间,可以定位到【Open...】对象。



当所有选取的控件比较连续操作的时候,使用 “Ctrl” 可以有效辅助我们进行对象的控件选取。

总结



LeanRunner 模型选择器可以通过【添加对象】,【批量添加】,【侦测控件】的方式来添加控件,当遇到复杂操作的时候,可以借助 “Ctrl”键来进行定位。

相关资料:Qt应用自动化系列教程-01快速入门
构建行为驱动的iOS自动化测试
爱码哥 Android自动化测试解决方案
RPA - 机器人流程自动化知多少?
Node.js在自动化测试中的全面应用 - Node.js企业级实践峰会



聆播科技提供软件自动化方面的专业产品及服务,帮助您实现公司测试业务的及软件操作的自动化。欢迎联系我们,咨询商务合作事宜。


快,关注这个公众号,一起涨姿势~





也可以加QQ群:707467292  进行node.js自动化相关技术交流。



-------------------------------------------------------------------------
我们尊重原创,也注重分享,如若侵权请联系qter@qter.org。
-------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了