CN113791967B - 一种用于手机app无障碍读屏软件的焦点陷入检测方法 - Google Patents

一种用于手机app无障碍读屏软件的焦点陷入检测方法 Download PDF

Info

Publication number
CN113791967B
CN113791967B CN202110850858.7A CN202110850858A CN113791967B CN 113791967 B CN113791967 B CN 113791967B CN 202110850858 A CN202110850858 A CN 202110850858A CN 113791967 B CN113791967 B CN 113791967B
Authority
CN
China
Prior art keywords
focus
trapping
detection
component
barrier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110850858.7A
Other languages
English (en)
Other versions
CN113791967A (zh
Inventor
卜佳俊
唐李君
周晟
王炜
于智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202110850858.7A priority Critical patent/CN113791967B/zh
Publication of CN113791967A publication Critical patent/CN113791967A/zh
Application granted granted Critical
Publication of CN113791967B publication Critical patent/CN113791967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

一种用于手机APP无障碍读屏软件的焦点陷入检测方法,本发明结合了软硬件方法,利用系统的无障碍功能,实现了非侵入式、普适性强、错误率低的一种移动端焦点陷入检测方法。首先,打开手机无障碍读屏软件和被测软件,使用机械臂模拟人的点击行为,服务端通过焦点检测算法获取到当前焦点的位置。然后,把得到的焦点位置作为识别方法的数据输入,依次使用单组件焦点陷入检测模块和多组件循环焦点陷入检测模块进行检测,循环以上步骤直到完成单页面的遍历,得到检测结果。该方法覆盖率高,面对复杂的页面也能够达到100%的检测,当遇到焦点陷入情况就会退出程序,减少冗余遍历,时间消耗少,并且此方法具有高召回率,几乎可以覆盖所有的焦点陷入情况。

Description

一种用于手机APP无障碍读屏软件的焦点陷入检测方法
技术领域:
本发明涉及信息无障碍领域,特别是涉及一种用于手机APP无障碍读屏软件焦点陷入的检测方法。
背景技术:
2020年3月1日,由全国信息技术标准化技术委员会提出、浙江大学牵头、深圳市信息无障碍研究会参与起草的新国标《GB/T 37668-2019信息技术互联网内容无障碍可访问性技术要求与测试方法》正式实施,是我国互联网信息无障碍领域第一个国家标准。标准指出:“在网页中,如果焦点能移到某个组件上,则应将焦点从该组件上移开;如果除了点击未经更改的方向键、制表键或使用其他标准退出方式之外还需要其他的操作,则应告知用户移开焦点的方法。”这强调了在读屏情况下,软件在任何时刻都必须有退出或者前进入口,保证用户可以离开当前页面。这意味着,当用户无法通过左滑右滑操作进行APP遍历的时候,就认为页面产生了焦点陷入。例如,当电商APP大促时,软件通常会弹出红包浮层来提醒用户参与活动或者领取红包,当读屏软件打开时,会出现聚焦框锁死的情况,用户无法通过左滑、右滑来关闭浮窗,从而无法继续使用软件,给用户造成了使用障碍。其他类似的例子还有,轮播图或者滚动组件容易出现焦点框小范围循环遍历的情况,即用户只能遍历滚动组件中的内容,影响了用户遍历页面的其他内容。可以看出焦点陷入是一个十分影响用户体验的同时也是十分容易发生的问题,一旦页面出现了焦点陷入,APP此页的功能对于盲人来说就是一片漆黑。
目前,网页端已实现了对焦点陷入规则的检测,但是客户端与网页端有很大不同,网页端可以从代码侧轻松的获取到tab焦点的位置信息,而客户端无法通过非侵入的手段获取到焦点框的位置。另外,两者的页面布局也不同。网页端的页面布局相对来说单一,移动端的页面布局则要复杂很多,并且Android与iOS系统间的布局也存在一定的差异。除此以外,网页端的发生滚动时,获取的tab信息是相对于UI原点的绝对位置信息,但是移动端是相对于屏幕左上角的相对位置。
因此网页端的方法无法直接用于客户端。客户端的焦点陷入规则检测存在以下的困难和挑战:
(1)数据获取难:移动端的封装特性以及系统差异,导致焦点框位置的获取成为了问题。
(2)如何更好的定义焦点陷入:如何通过代码的角度去定义一种现象属于焦点陷入是检测问题的核心。
(3)如何解决两端差异:Android与iOS系统底层对于无障碍的实现差异,导致焦点的遍历表现出现差异,如何提高代码复用率,尽量做到一份代码两侧复用。
发明内容:
针对以上问题和难点,本发明提出了一种用于手机APP无障碍读屏软件的焦点陷入检测方法,使用本发明的方法可以自动化、非侵入式地检测APP是否存在焦点陷入问题,本方法具有高覆盖率、低时间消耗、高召回率等优点,可以方便地作为一个功能模块接入到现有的无障碍检测系统,具有很好的实用性。
一种用于手机APP无障碍读屏软件的焦点陷入检测方法,包括如下步骤:
S1:打开手机上的无障碍读屏软件,获取手机为无障碍功能提供的额外信息,用焦点框框出当前聚焦的位置,并用语音描述当前的元素;
S2:打开被测软件,调用机械臂在屏幕上做一次滑动操作后截屏并上传到服务端;
S3:服务端通过焦点检测算法识别并返回当前焦点的位置信息;
步骤S3中所使用的焦点检测算法,具体步骤如下:
S31:对S2中的得到的截图,提取焦点框的颜色对应的RGB矩阵,叠加背景得到RGB的范围;
S32:对S2中得到的截图提取S31中得到的RGB范围的像素,得到一个单通道图像;
S33:对S32得到的单通道图像进行边缘检测,得到焦点框的边缘;
S34:对S33得到的边缘进行直线检测,得到直线的直角坐标系方程;
S35:筛选S34得到的方程,得到焦点框对应的直线,由此计算得到焦点框的左下角坐标和高度、宽度;
S36:定义焦点框位置信息矩阵为[X,Y,H,W],其中X,Y代表当前焦点框左下角的横纵坐标,H,W代表高和宽,通过S35中获得的左下角坐标和长宽,填入后得到当前定位的焦点框位置信息矩阵;
S4:把S3中获取到的焦点框位置信息矩阵记录到检测历史中,然后输入到单组件焦点陷入检测模块,得到单组件检测结果;
步骤S4中所使用的单组件焦点陷入检测模块,具体如下:
S41:判断当前焦点框信息矩阵是否和过往n次焦点信息矩阵相同,即任意的F(x-i)=F(x),i∈[1,n]2T;
S42:若相同,则说明当前页面存在单组件焦点陷入问题,不需要继续执行程序,可以直接输出结果;
S43:若不同,则说明不存在单组件焦点陷入问题,继续执行检测流程;
S5:把S3中获取到的焦点框位置信息矩阵输入到多组件循环焦点陷入检测模块,得到多组件循环焦点陷入的检测结果;
步骤S5中所使用的多组件循环焦点陷入检测模块,具体如下:
S51:首先判断新进入的信息矩阵是否在任意的检测历史中出现过,即存在F(n)=F(x);
S52:若不存在,则未检测出多组件循环焦点陷入问题;
S53:若存在,则需要进一步判断是否在最近n次历史中是否存在结构上的重复,即任意F(n-i)=F(x-i),i∈[1,n];
S531:若不存在,则说明没有检测到多组件循环焦点陷入问题;
S532:若存在,则需要计算最大连续组合的覆盖率,覆盖率的计算公式为:其中w、h代表焦点框的宽和高,即计算从n开始到m位置的所有聚焦框的面积之和是否大于指定的阈值,若大于阈值,则需要排除,若小于阈值,则说明存在多组件循环焦点陷入问题;
S6:结果输出模块输出当前页面的焦点陷入检测结果。
优选地,步骤S4中检测历史的具体存储结构为哈希表。
优选地,步骤S41中,选择过往5次的焦点信息矩阵。
优选地,步骤S53中,选择最近5次历史。
优选地,步骤S532中,指定的阈值为0.9。
本发明结合了软硬件方法,利用系统的无障碍功能,实现了非侵入式、普适性强、错误率低的一种移动端焦点陷入检测方法。
综上,本发明创建了一种用于手机APP无障碍读屏软件的焦点陷入检测方法,具有如下优点:(1)覆盖率高:相较于使用时间特性的网页端解决方案,该方案不设置遍历基数,无论是面对何种复杂程度的页面,都能够达到100%的检测。2)时间消耗少:由于一旦出现了焦点陷入情况,程序便会立刻给出结果,因此冗余遍历带来的多余时间消耗得到了很好的解决。(3)召回率高:该方案根据国标的要求并收集了大量的实际案例,设计归纳了两种焦点陷入规则,可以覆盖几乎所有的焦点陷入情况,且解决了焦点跳变问题,排除干扰,相较于网页端方案有很高的召回率。
附图说明:
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的用于手机APP的焦点陷入检测方法的总体流程图;
图2是本发明提供的用于手机APP的焦点陷入检测方法的单次焦点陷入规则检测流程图。
具体实施方法:
下面结合附图进一步说明本发明的技术方案。
一种用于手机APP无障碍读屏软件的焦点陷入检测方法,包括如下步骤:
S1:打开手机上的无障碍读屏软件,获取手机为无障碍功能提供的额外信息,用焦点框框出当前聚焦的位置,并用语音描述当前的元素;
S2:打开被测软件,调用机械臂在屏幕上做一次滑动操作后截屏并上传到服务端;
S3:服务端通过焦点检测算法识别并返回当前焦点的位置信息;
步骤S3中所使用的焦点检测算法,具体步骤如下:
S31:对S2中的得到的截图,提取焦点框的颜色对应的RGB矩阵,叠加背景得到RGB的范围;
S32:对S2中得到的截图提取S31中得到的RGB范围的像素,得到一个单通道图像;
S33:对S32得到的单通道图像进行边缘检测,得到焦点框的边缘;
S34:对S33得到的边缘进行直线检测,得到直线的直角坐标系方程;
S35:筛选S34得到的方程,得到焦点框对应的直线,由此计算得到焦点框的左下角坐标和高度、宽度;
S36:定义焦点框位置信息矩阵为[X,Y,H,W],其中X,Y代表当前焦点框左下角的横纵坐标,H,W代表高和宽,通过S35中获得的左下角坐标和长宽,填入后得到当前定位的焦点框位置信息矩阵;
S4:把S3中获取到的焦点框位置信息矩阵记录到检测历史中,然后输入到单组件焦点陷入检测模块,得到单组件检测结果;
步骤S4中所使用的单组件焦点陷入检测模块,具体如下:
S41:判断当前焦点框信息矩阵是否和过往n次焦点信息矩阵相同,即任意的F(x-i)=F(x),i∈[1,n];
S42:若相同,则说明当前页面存在单组件焦点陷入问题,不需要继续执行程序,可以直接输出结果;
S43:若不同,则说明不存在单组件焦点陷入问题,继续执行检测流程;
S5:把S3中获取到的焦点框位置信息矩阵输入到多组件循环焦点陷入检测模块,得到多组件循环焦点陷入的检测结果;
步骤S5中所使用的多组件循环焦点陷入检测模块,具体如下:
S51:首先判断新进入的信息矩阵是否在任意的检测历史中出现过,即存在F(n)=F(x);
S52:若不存在,则未检测出多组件循环焦点陷入问题;
S53:若存在,则需要进一步判断是否在最近n次历史中是否存在结构上的重复,即任意F(n-i)=F(x-i),i∈[1,n];
S531:若不存在,则说明没有检测到多组件循环焦点陷入问题;
S532:若存在,则需要计算最大连续组合的覆盖率,覆盖率的计算公式为:其中w、h代表焦点框的宽和高,即计算从n开始到m位置的所有聚焦框的面积之和是否大于指定的阈值,若大于阈值,则需要排除,若小于阈值,则说明存在多组件循环焦点陷入问题;
S6:结果输出模块输出当前页面的焦点陷入检测结果。
本发明覆盖率高,面对复杂的页面也能够达到100%的检测,当遇到焦点陷入情况就会退出程序,减少冗余遍历,时间消耗少,并且此方法具有高召回率,几乎可以覆盖所有的焦点陷入情况。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (5)

1.一种用于手机APP无障碍读屏软件的焦点陷入检测方法,其特征在于包括以下步骤:
S1:打开手机上的无障碍读屏软件,获取手机为无障碍功能提供的额外信息,用焦点框框出当前聚焦的位置,并用语音描述当前的元素;
S2:打开被测软件,调用机械臂在屏幕上做一次滑动操作后截屏并上传到服务端;
S3:服务端通过焦点检测算法识别并返回当前焦点的位置信息;
步骤S3中所使用的焦点检测算法,具体步骤如下:
S31:对S2中的得到的截图,提取焦点框的颜色对应的RGB矩阵,叠加背景得到RGB的范围;
S32:对S2中得到的截图提取S31中得到的RGB范围的像素,得到一个单通道图像;
S33:对S32得到的单通道图像进行边缘检测,得到焦点框的边缘;
S34:对S33得到的边缘进行直线检测,得到直线的直角坐标系方程;
S35:筛选S34得到的方程,得到焦点框对应的直线,由此计算得到焦点框的左下角坐标和高度、宽度;
S36:定义焦点框位置信息矩阵为[X,Y,H,W],其中X,Y代表当前焦点框左下角的横纵坐标,H,W代表高和宽,通过S35中获得的左下角坐标和长宽,填入后得到当前定位的焦点框位置信息矩阵;
S4:把S3中获取到的焦点框位置信息矩阵记录到检测历史中,然后输入到单组件焦点陷入检测模块,得到单组件检测结果;
步骤S4中所使用的单组件焦点陷入检测模块,具体如下:
S41:判断当前焦点框信息矩阵是否和过往n次焦点信息矩阵相同,即任意的F(x-i)=F(x),i∈[1,n];
S42:若相同,则说明当前页面存在单组件焦点陷入问题,不需要继续执行程序,可以直接输出结果;
S43:若不同,则说明不存在单组件焦点陷入问题,继续执行检测流程;
S5:把S3中获取到的焦点框位置信息矩阵输入到多组件循环焦点陷入检测模块,得到多组件循环焦点陷入的检测结果;
步骤S5中所使用的多组件循环焦点陷入检测模块,具体如下:
S51:首先判断新进入的信息矩阵是否在任意的检测历史中出现过,即存在F(n)=F(x);
S52:若不存在,则未检测出多组件循环焦点陷入问题;
S53:若存在,则需要进一步判断是否在最近n次历史中是否存在结构上的重复,即任意F(n-i)=F(x-i),i∈[1,n];
S531:若不存在,则说明没有检测到多组件循环焦点陷入问题;
S532:若存在,则需要计算最大连续组合的覆盖率,覆盖率的计算公式为:其中w、h代表焦点框的宽和高,即计算从n开始到m位置的所有聚焦框的面积之和是否大于指定的阈值,若大于阈值,则需要排除,若小于阈值,则说明存在多组件循环焦点陷入问题;
S6:结果输出模块输出当前页面的焦点陷入检测结果。
2.根据权利要求1所述的一种用于手机APP无障碍读屏软件的焦点陷入检测方法,其特征在于:所述步骤S4中,其中检测历史的具体存储结构的优选为哈希表。
3.根据权利要求1所述的一种用于手机APP无障碍读屏软件的焦点陷入检测方法,其特征在于:所述步骤S41中,其中过往n次焦点信息矩阵的优选值为5次。
4.根据权利要求1所述的一种用于手机APP无障碍读屏软件的焦点陷入检测方法,其特征在于:所述步骤S53中,其中最近n次历史的优选值为5次。
5.根据权利要求1所述的一种用于手机APP无障碍读屏软件的焦点陷入检测方法,其特征在于:所述步骤S532中,指定的阈值优选值为0.9。
CN202110850858.7A 2021-07-27 2021-07-27 一种用于手机app无障碍读屏软件的焦点陷入检测方法 Active CN113791967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110850858.7A CN113791967B (zh) 2021-07-27 2021-07-27 一种用于手机app无障碍读屏软件的焦点陷入检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110850858.7A CN113791967B (zh) 2021-07-27 2021-07-27 一种用于手机app无障碍读屏软件的焦点陷入检测方法

Publications (2)

Publication Number Publication Date
CN113791967A CN113791967A (zh) 2021-12-14
CN113791967B true CN113791967B (zh) 2023-11-28

Family

ID=78876994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110850858.7A Active CN113791967B (zh) 2021-07-27 2021-07-27 一种用于手机app无障碍读屏软件的焦点陷入检测方法

Country Status (1)

Country Link
CN (1) CN113791967B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156268A (zh) * 2016-05-25 2016-11-23 烟台朱葛软件科技有限公司 无障碍网页控制方法
CN106341596A (zh) * 2016-08-31 2017-01-18 浙江宇视科技有限公司 一种聚焦方法和装置
CN109893852A (zh) * 2019-02-26 2019-06-18 北京心智互动科技有限公司 界面信息处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314436A (zh) * 2010-06-30 2012-01-11 国际商业机器公司 网页自动调整方法和系统
US10191610B2 (en) * 2016-08-19 2019-01-29 Oracle International Corporation Implementing focus indication of components displayed on a display device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156268A (zh) * 2016-05-25 2016-11-23 烟台朱葛软件科技有限公司 无障碍网页控制方法
CN106341596A (zh) * 2016-08-31 2017-01-18 浙江宇视科技有限公司 一种聚焦方法和装置
CN109893852A (zh) * 2019-02-26 2019-06-18 北京心智互动科技有限公司 界面信息处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于GUI的Android移动软件性能测试;谷林涛;徐立华;;计算机系统应用(第08期);全文 *

Also Published As

Publication number Publication date
CN113791967A (zh) 2021-12-14

Similar Documents

Publication Publication Date Title
CN109344789B (zh) 人脸跟踪方法及装置
US8463075B2 (en) Dynamically resizing text area on a display device
AU2017302249B8 (en) Visual regression testing tool
JP2021516827A (ja) 識別コードの識別方法並びに、その装置、コンピュータ機器及びコンピュータプログラム
US10990814B2 (en) Converting an image into a structured table
US8917275B2 (en) Automated contrast verifications
US10068616B2 (en) Thumbnail generation for video
CN110517246A (zh) 一种图像处理方法、装置、电子设备及存储介质
CN109902617A (zh) 一种图片识别方法、装置、计算机设备和介质
US20210166015A1 (en) Certificate image extraction method and terminal device
CN111274957A (zh) 网页页面验证码识别方法、装置、终端和计算机存储介质
CN110708568B (zh) 一种视频内容突变检测方法及装置
CN111460355B (zh) 一种页面解析方法和装置
US20230334833A1 (en) Training method and apparatus for image processing network, computer device, and storage medium
JP2022536320A (ja) オブジェクト識別方法と装置、電子機器及び記憶媒体
CN108984070B (zh) 用于热力图成像的方法、装置、电子设备及可读介质
CN117112909A (zh) 应用于云数字业务的大数据推荐方法及大数据挖掘系统
CN113791967B (zh) 一种用于手机app无障碍读屏软件的焦点陷入检测方法
CN110781427A (zh) 一种首屏时间的计算方法、装置、设备和存储介质
CN109344730A (zh) 数据提取方法、装置及计算机可读存储介质
Agarwal et al. SPAM revisited for median filtering detection using higher‐order difference
CN110543799A (zh) 二维码处理方法、装置、存储介质与移动终端
Zeng et al. Subpixel image quality assessment syncretizing local subpixel and global pixel features
CN117593539B (zh) 一种图像边缘特征提取方法、装置、设备及存储介质
CN105989344A (zh) 条码识别方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant