AutoRunner如何在对象库中添加新的对象而不改变脚本

本文通过实例讲解如何在脚本执行失败时,通过丰富对象库来解决“找不到对象”的错误,确保自动化测试脚本的稳定性和准确性。

在录制一些对象时,有的对象属性比较固定,在录制脚本的时候我们只是录制到了有限个对象。在对脚本进行加强过后执行脚本就会报“找不到对象”这种错误。
出现这种错误的时候我们就需要对对象库进行丰富,也就是在对象库里新增对象,这里我们以录制计算器的脚本为例来做一个具体说明。
首先我们录制一个加法的脚本,当然四则运算都是类似的:
在这里插入图片描述
然后我们回放(执行)下脚本:
在这里插入图片描述
这里我们可以发现结果是执行成功!那么当我们对这个脚本进行参数化之后,我们再执行下脚本,会是什么情况呢?
在这里插入图片描述
做完参数化后我们直接回放脚本看看情况会不会和之前一样顺利呢?
在这里插入图片描述
呃呃呃,居然报错了,对象不在库中!!!这可怎么办尼?
进入对象库
在这里插入图片描述
在对象库里把这个对象加进去就好了
在这里插入图片描述
同时按住ctrl和alt键,在被测系统上拖动鼠标,直到被测对象上出现红框,被测对象就被抓取下来了
在这里插入图片描述
结束录制后脚本没有发生变化,但是对象库得到了丰富
在这里插入图片描述
接下来再执行脚本,接着就是见证奇迹的时刻!
在这里插入图片描述
恭喜大家脚本执行成功了!!!

### 使用 Autorunner 框架根据位置抓取 UI 元素 Autorunner 是一款用于自动化测试的框架,能够通过多种方式定位并操作移动应用程序中的 UI 元素。其中一种有效的方式是基于屏幕上的坐标 (position) 来识别特定的对象。 #### 方法概述 为了实现这一功能,在编写脚本时可以调用 `autorunner` 提供的相关 API 函数来获取屏幕上指定区域内的控件信息,并对其进行交互操作。通常情况下,这涉及到以下几个方面的工作: - **初始化设备连接**:确保目标手机已成功接入开发环境。 - **定义搜索范围**:设定要扫描的具体矩形区域,即左上角和右下角两点的位置坐标。 - **执行查找命令**:利用框架内置的功能去检索位于所设界限内部的所有可视组件。 - **筛选符合条件的目标**:依据属性匹配原则挑选出最合适的那个作为最终的操作对象。 下面给出一段 Python 代码片段展示如何运用上述思路完成任务[^1]: ```python import autorunner def find_element_by_position(x1, y1, x2, y2): device = autorunner.connect_device('your_device_id') # 替换为实际使用的设备ID elements = device.find_elements_in_area((x1,y1), (x2,y2)) if not elements: print("未找到任何元素") return None target_element = elements[0] # 假定第一个就是所需项;实际情况可根据更多条件进一步过滤 return target_element if __name__ == '__main__': element = find_element_by_position(50, 100, 300, 400) if element is not None: element.click() # 对选中元素执行点击动作 ``` 这段程序首先建立了与待测装置之间的通信链路,接着指定了一个矩形框用来限定寻找元件的大致方位,最后尝试对该区域内发现的第一个项目实施触碰指令。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值