买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种安卓自动化的方法与系统_安然_202110883968.3 

申请/专利权人:安然

申请日:2021-08-03

公开(公告)日:2024-04-19

公开(公告)号:CN113641574B

主分类号:G06F11/36

分类号:G06F11/36

优先权:

专利状态码:有效-授权

法律状态:2024.04.19#授权;2021.11.30#实质审查的生效;2021.11.12#公开

摘要:本发明提供的一种安卓自动化的方法与系统,属于安卓自动化测试技术领域,本发明的一种安卓自动化的方法,首先根据框架中的API,调用类和方法获取UiAutomation实例;然后调用所述实例获取当前界面的根节点;根据根节点遍历所有节点得到当前界面所有的元素信息;调用所述实例监听当前界面的变化;最后,当需要测试时,调用预设的函数,得到自动化测试结果。本发明通过调用类和方法获取实例,可以用底层的方式去搜索到所有元素,极大的弥补了原生框架很多控件和flutter元素无法识别的问题。本发明还提供了一种安卓自动化的系统。

主权项:1.一种安卓自动化的方法,其特征在于,包括以下步骤:步骤1:获取当前界面的根节点;步骤2:根据所述根节点遍历所有节点得到当前界面所有的元素信息;步骤3:将预设逻辑封装为函数;步骤4:当需要测试时,调用所述函数,得到自动化测试结果;所述步骤1:获取当前界面的根节点,包括:调用androidx.test.platform.app.InstrumentationRegistry的getInstrumentation方法获得Instrumentation的过程记为实例s;通过调用所述实例s的getUiAutomation方法获得UiAutomation实例;对UIAutomatorService进行能力配置得到配置后的UIAutomatorService;查询所述UiAutomation实例的getRootInActiveWindow方法来获取当前界面AccessibilityNodeInfo类型的根节点;所述步骤2:根据所述根节点遍历所有节点得到当前界面所有的元素信息,包括:根据所述根节点遍历搜索所有叶子节点和所有非叶子节点,得到当前界面所有的元素信息;所述元素信息包括元素的text属性、元素的classname属性和元素的id属性;其中,在搜索元素的text属性时,调用所述AccessbilityNodeInfo类型的根节点的getContentDescription方法或者gettext方法进行部分匹配搜索;所述步骤4:当需要测试时,调用所述函数,得到自动化测试结果,包括:利用安卓事件监听方法监听测试时界面的变化;所述安卓事件监听方法,包括:调用UiAutomation实例的setOnAccessibilityEventListener方法得到onAccessibilityEvent类;根据所述onAccessibilityEvent类来监听当前界面的变化;所述安卓事件监听方法应用于:可访问性事件的公共空白,int事件类型=获取事件类型;转换事件类型,案例可访问性事件,点击事件类型;案例可访问性事件,已更改windows状态:案例可访问性事件,已更改windows类型;案例可访问性事件,类型视图滚动;案例可访问性事件,已更windows内容种类;利用安卓事件监听方法绕过限制达到辅助服务的功能。

全文数据:

权利要求:

百度查询: 安然 一种安卓自动化的方法与系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。