CN105446752B - 应用程序中控件的触发方法、装置及移动终端 - Google Patents

应用程序中控件的触发方法、装置及移动终端 Download PDF

Info

Publication number
CN105446752B
CN105446752B CN201410309642.XA CN201410309642A CN105446752B CN 105446752 B CN105446752 B CN 105446752B CN 201410309642 A CN201410309642 A CN 201410309642A CN 105446752 B CN105446752 B CN 105446752B
Authority
CN
China
Prior art keywords
page
control
click
clicking
trigger
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
CN201410309642.XA
Other languages
English (en)
Other versions
CN105446752A (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.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
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 Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201410309642.XA priority Critical patent/CN105446752B/zh
Priority to US15/322,609 priority patent/US10372300B2/en
Priority to PCT/CN2015/082119 priority patent/WO2016000547A1/zh
Publication of CN105446752A publication Critical patent/CN105446752A/zh
Application granted granted Critical
Publication of CN105446752B publication Critical patent/CN105446752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Virology (AREA)
  • Quality & Reliability (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用程序中控件的触发方法,包括:获取应用程序中第一页面的布局信息;根据第一页面的布局信息提取第一页面中的可点击控件和可点击控件对应的控件类型;以及根据对应的控件类型获取对应的点击触发模式,并通过对应的点击触发模式触发可点击控件。本发明实施例的方法能够实现有序智能的触发应用行为,大大的减轻了人力工作量,提高了效率,并且能够保证应用行为被触发的完整性。本发明还公开了一种应用程序中控件的触发装置及一种移动终端。

Description

应用程序中控件的触发方法、装置及移动终端
技术领域
本发明涉及移动终端设备技术领域,尤其涉及一种应用程序中控件的触发方法、装置及移动终端。
背景技术
目前,在很多应用场景下都需要应用程序的每个功能均能够被使用,以保证该应用程序对应的文件、网络及其他所有行为能够被触发。例如,在病毒自动化检测过程中,当所有的行为都能够被触发时,就可以很容易地判断应用程序是否是病毒文件;又如,在垃圾自动识别过程中,当所有的文件都可以被触发时,就可以识别出应用程序是否是垃圾文件。然而,这些都需要求一个完整的点击触发来保证,因此全自动的自动触发很有必要。
目前的自动化点击方法一般是根据屏幕的像素点将屏幕划分成不同的区块,然后依次去点击区块。但是,这样的点击不仅耗时,而且会有很多无用点击,并且不能确保将所有的可点击控件都被点击,从而导致效率变低,准确率变低。
发明内容
本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种应用程序中控件的触发方法。该方法能够实现有序智能的触发应用行为,大大的减轻了人力工作量,提高了效率,并且能够保证应用行为被触发的完整性。
本发明的第二个目的在于提出一种应用程序中控件的触发装置。
本发明的第三个目的在于提出一种移动终端。
为了实现上述目的,本发明第一方面实施例的应用程序中控件的触发方法,包括:获取应用程序中第一页面的布局信息;根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型;以及根据所述对应的控件类型获取对应的点击触发模式,并通过所述对应的点击触发模式触发所述可点击控件。
本发明实施例的应用程序中控件的触发方法,可通过递归的方式获取应用程序当前运行的页面布局信息,解析布局信息以获取全部可以点击的控件,然后,依次根据不同的控件类型采取不同的点击触发方式,最后达到一个所有页面可以被完全触发点击的效果,从而能够实现有序智能的触发应用行为,大大的减轻了人力工作量,提高了效率,并且能够保证应用行为被触发的完整性。
为了实现上述目的,本发明第二方面实施例的应用程序中控件的触发装置,包括:获取模块,用于获取应用程序中第一页面的布局信息;第一提取模块,用于根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型;以及第一触发模块,用于根据所述对应的控件类型获取对应的点击触发模式,并通过所述对应的点击触发模式触发所述可点击控件。
本发明实施例的应用程序中控件的触发装置,可通过递归的方式获取应用程序当前运行的页面布局信息,解析布局信息以获取全部可以点击的控件,然后,依次根据不同的控件类型采取不同的点击触发方式,最后达到一个所有页面可以被完全触发点击的效果,从而能够实现有序智能的触发应用行为,大大的减轻了人力工作量,提高了效率,并且能够保证应用行为被触发的完整性。
为了实现上述目的,本发明第三方面实施例的移动终端,包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:获取应用程序中第一页面的布局信息;根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型;以及根据所述对应的控件类型获取对应的点击触发模式,并通过所述对应的点击触发模式触发所述可点击控件。
本发明实施例的移动终端,可通过递归的方式获取应用程序当前运行的页面布局信息,解析布局信息以获取全部可以点击的控件,然后,依次根据不同的控件类型采取不同的点击触发方式,最后达到一个所有页面可以被完全触发点击的效果,从而能够实现有序智能的触发应用行为,大大的减轻了人力工作量,提高了效率,并且能够保证应用行为被触发的完整性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的应用程序中控件的触发方法的流程图;
图2是根据本发明另一个实施例的应用程序中控件的触发方法的流程图;
图3是根据本发明又一个实施例的应用程序中控件的触发方法的流程图;
图4是根据本发明再一个实施例的应用程序中控件的触发方法的流程图;
图5是根据本发明一个实施例的应用程序中控件的触发装置的结构示意图;
图6是根据本发明另一个实施例的应用程序中控件的触发装置的结构示意图;
图7是根据本发明又一个实施例的应用程序中控件的触发装置的结构示意图;以及
图8是根据本发明再一个实施例的应用程序中控件的触发装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述根据本发明实施例的应用程序中控件的触发方法、装置及移动终端。
图1是根据本发明一个实施例的应用程序中控件的触发方法的流程图。如图1所示,该应用程序中控件的触发方法可以包括:
S101,获取应用程序中第一页面的布局信息。
其中,在本发明的实施例中,应用程序可工作于Android操作系统,可通过ADB(Android Debug Bridge,起到调试桥作用的接口)接口获取第一页面的布局信息。
举例而言,可先启动应用程序,之后可通过Android操作系统提供的ADB接口,使用该ADB接口中的“adb shell uiautomator”命令来获取应用程序中第一页面(即当前运行的当前页面)的布局信息。其中,布局信息可包括控件的名称、属性及类型等。
S102,根据第一页面的布局信息提取第一页面中的可点击控件和可点击控件对应的控件类型。
应当理解,控件可理解为系统提供的接口。控件是对数据和方法的封装,控件可以有自己的属性和方法,其中,属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能。
此外,不同的控件具有不同的控件类型,控件类型可包括但不限于用户界面控件、图表控件、报表控件、表格控件、条形码控件、图像处理控件、文档处理控件等。
S103,根据对应的控件类型获取对应的点击触发模式,并通过对应的点击触发模式触发可点击控件。
具体地,由于不同的控件类型具有不同的点击触发模式,所以可依次根据不同的控件类型采取对应的点击触发模式,并通过该对应的点击触发模式触发可点击控件,从而达到一个所有页面均被完全触发点击的效果。例如,button类的控件需要点击或长点击、text文本框则需要输入文本等。
本发明实施例的应用程序中控件的触发方法,可通过递归的方式获取应用程序当前运行的页面布局信息,解析布局信息以获取全部可以点击的控件,然后,依次根据不同的控件类型采取不同的点击触发方式,最后达到一个所有页面可以被完全触发点击的效果,从而能够实现有序智能的触发应用行为,大大的减轻了人力工作量,提高了效率,并且能够保证应用行为被触发的完整性。
可选的,根据本发明的一个实施例,如图2所示,在根据第一页面的布局信息提取第一页面中的可点击控件和可点击控件对应的控件类型(即上述S102)之后,该应用程序中控件的触发方法还可包括:
S203,根据可点击控件的数量判断第一页面是否为导航页面。
具体而言,在提取出第一页面中的可点击控件和可点击控件对应的类型之后,可根据第一页面中的可点击控件的数量来判断第一页面是否是应用程序的导航页面。如果第一页面中的可点击控件的数量小于预设阀值,则可判断第一页面为导航页面。其中,在本发明的实施例中,预设阀值可由系统设定,如预设阀值可为6。
S204,如果判断第一页面为导航页面,则在第一页面中输入第一方向的划屏操作。
其中,第一方向可为向左、或者向右、或者向上、或者向下。
具体地,由于导航页面可通过向左、或者向右、或者向上、或者向下划屏即可进入下一级页面,所以在启动应用程序,进入应用程序的第一页面时,可先判断第一页面是否为导航页面。如果判断第一页面为导航页面,则先对导航页面中所引导的所有页面进行触发操作。
S205,判断第一页面是否发生变化。
S206,如果判断第一页面未发生变化,则进一步在第一页面中输入第二方向的划屏操作。
S207,如果判断第一页面发生变化,则继续在第一页面生成的第二页面中输入第一方向的划屏操作,直至第二页面不再发生变化,且第二页面中具有至少一个可点击控件,且至少一个可点击控件被触发之后第二页面发生变化。
具体地,当在第一页面中输入第一方向的划屏操作之后,判断第一页面发生了变化时,则可继续在第一页面生成的第二页面(即第一页面的下一级页面)中输入第一方向的划屏操作,直至第二页面不再发生变化,即可判断该页面为最终页面。应当理解,由于输入的第一方向使得第一页面发生了变化,所以可理解为一直输入第一方向的划屏操作即可进入最终页面。
可选的,在本发明的实施例中,在在第一页面中输入第二方向的划屏操作(即上述S206)之后,可执行上述S205,即判断此时第一页面是否发送变化。如果判断第一页面未发生变化,则进一步在第一页面中输入第三方向的划屏操作;如果判断第一页面发生变化,则继续在第一页面生成的第三页面中输入第二方向的划屏操作,直至第三页面不再发生变化,且第三页面中具有至少一个可点击控件,且至少一个可点击控件被触发之后第三页面发生变化。
本发明实施例的应用程序中控件的触发方法,可根据可点击控件的数量判断第一页面是否为导航页面,当判断第一页面为导航页面时,可通过变化不同的划屏方向来获取并进入该导航页面的最终页面,这样可使得所有页面均能够完全触发点击,保证了所有的可点击控件均被点击,提高了准确率。
可选的,根据本发明的一个实施例,如图3所示,在根据第一页面的布局信息提取第一页面中的可点击控件和可点击控件对应的控件类型(即上述S102)之后,该应用程序中控件的触发方法还可包括:
S303,判断第一页面是否为登录页面。
具体地,当判断第一页面不是导航页面,或者进入到导航页面的最终页面之后,可判断当前的应用程序是否需要登录。
S304,如果判断第一页面为登录页面,则在第一页面中填写预设的登录信息,并触发登录。
具体地,当判断应用程序需要登录时,可根据该应用程序的名称、ID等获取预先申请的登录信息(如账户/用户名、密码等),并在第一页面中自动录入该登录信息以触发登录。
需要说明的是,在本发明的实施例中,当判断第一页面不为登录页面(即应用程序不需要登录),或者根据预设的登录信息已经完成了登录操作时,可继续执行上述S103。
本发明实施例的应用程序中控件的触发方法,当判断第一页面不是导航页面,或者进入到导航页面的最终页面之后,可判断当前的应用程序是否需要登录,当判断应用程序需要登录时,在第一页面中填写预设的登录信息,并触发登录,这样可使得应用行为在登录的状态下进行触发,避免有可点击控件的遗漏,大大提高了准确率。
可选的,根据本发明的一个实施例,如图4所示,在通过对应的点击触发模式触发可点击控件(即上述S103)之后,该应用程序中控件的触发方法还可包括:
S404,提取第一页面生成的第四页面中的可点击控件和可点击控件对应的控件类型。
S405,根据第四页面中对应的控件类型获取对应的点击触发模式,并以遍历的方式通过对应的点击触发模式触发第四页面中的可点击控件。
S406,如果第四页面跳转至第五页面,则重复执行上述S404-S405,直至第五页面中的可点击控件均被触发。
S407,如果第四页面跳转至第一页面,则进一步触发第一页面中未触发的可点击控件,直至第一页面中的可点击控件均被触发。
也就是说,首先可获取当前页面的控件信息(即可点击控件、可点击控件对应的控件类型),之后点击获取到的第一个可点击控件。如果发生页面切换则继续获取切换后页面的控件信息(即可点击控件、可点击控件对应的控件类型)并点击。如果点击后没有发生页面切换,则可按顺序点击下一个可点击控件。这样反复上述过程直至全部可点击控件被触发点击。
本发明实施例的应用程序中控件的触发方法,通过深度遍历的递归方式以完成应用程序中的所有页面内的可点击控件均被点击,从而使得应用行为触发完成,保证了应用行为被触发的完整性,且提高了准确率。
另外,本发明还提出了一种应用程序中控件的触发装置。
图5是根据本发明一个实施例的应用程序中控件的触发装置的结构示意图。如图5所示,该应用程序中控件的触发装置可以包括:获取模块10、第一提取模块20和第一触发模块30。
具体地,获取模块10可用于获取应用程序中第一页面的布局信息。其中,在本发明的实施例中,应用程序可工作于Android操作系统,可通过ADB接口获取第一页面的布局信息。
第一提取模块20可用于根据第一页面的布局信息提取第一页面中的可点击控件和可点击控件对应的控件类型。第一触发模块30可用于根据对应的控件类型获取对应的点击触发模式,并通过对应的点击触发模式触发可点击控件。
可选的,根据本发明的一个实施例,如图6所示,该应用程序中控件的触发装置还可包括第一判断模块40、输入模块50和第二判断模块60。具体地,第一判断模块40可用于在第一提取模块20根据第一页面的布局信息提取第一页面中的可点击控件和可点击控件对应的控件类型之后,根据可点击控件的数量判断第一页面是否为导航页面。
具体而言,在第一提取模块20提取出第一页面中的可点击控件和可点击控件对应的类型之后,第一判断模块40可根据第一页面中的可点击控件的数量来判断第一页面是否是应用程序的导航页面,在第一页面中的可点击控件的数量小于预设阀值时,可判断第一页面为导航页面。
输入模块50可用于在第一判断模块40判断第一页面为导航页面时,在第一页面中输入第一方向的划屏操作。第二判断模块60可用于判断第一页面是否发生变化。如果未发生变化,输入模块50还可进一步在第一页面中输入第二方向的划屏操作;如果发生变化,输入模块50还可继续在第一页面生成的第二页面中输入第一方向的划屏操作,直至第二页面不再发生变化,且第二页面中具有至少一个可点击控件,且至少一个可点击控件被触发之后第二页面发生变化。
可选的,在本发明的一个实施例中,当输入模块50在第一页面中输入第二方向的划屏操作之后,触发第二判断模块60,即判断第一页面是否发生变化。当第二判断模块60判断第一页面未发生变化时,输入模块50还可进一步在第一页面中输入第三方向的划屏操作;当第二判断模块60判断第一页面发生变化时,输入模块50还可继续在第一页面生成的第三页面中输入第二方向的划屏操作,直至第三页面不再发生变化,且第三页面中具有至少一个可点击控件,且至少一个可点击控件被触发之后第三页面发生变化。
由此,上述实施例可根据可点击控件的数量判断第一页面是否为导航页面,当判断第一页面为导航页面时,可通过变化不同的划屏方向来获取并进入该导航页面的最终页面,这样可使得所有页面均能够完全触发点击,保证了所有的可点击控件均被点击,提高了准确率。
可选的,根据本发明的一个实施例,如图7所示,该应用程序中控件的触发装置还可包括:第三判断模块70和填写模块80。具体地,第三判断模块70可用于在第一提取模块20根据第一页面的布局信息提取第一页面中的可点击控件和可点击控件对应的控件类型之后,判断第一页面是否为登录页面。如果判断第一页面为登录页面,则可触发填写模块80。
填写模块80可用于在第一页面中填写预设的登录信息,并触发登录。
由此,上述实施例当判断第一页面不是导航页面,或者进入到导航页面的最终页面之后,可判断当前的应用程序是否需要登录,当判断应用程序需要登录时,在第一页面中填写预设的登录信息,并触发登录,这样可使得应用行为在登录的状态下进行触发,避免有可点击控件的遗漏,大大提高了准确率。
可选的,根据本发明的一个实施例,如图8所示,该应用程序中控件的触发装置还可包括:第二提取模块90和第二触发模块100。具体地,第二提取模块90可用于在第一触发模块30通过对应的点击触发模式触发可点击控件之后,提取第一页面生成的第四页面中的可点击控件和可点击控件对应的控件类型。
第二触发模块100可用于根据第四页面中对应的控件类型获取对应的点击触发模式,并以遍历的方式通过对应的点击触发模式触发第四页面中的可点击控件。
如果第四页面跳转至第五页面,则重复触发第二提取模块90和第二触发模块100,直至第五页面中的可点击控件均被触发。如果第四页面跳转至第一页面,则触发第二触发模块100,第二触发模块100还可用于触发第一页面中未触发的可点击控件,直至第一页面中的可点击控件均被触发。
由此,上述实施例通过深度遍历的递归方式以完成应用程序中的所有页面内的可点击控件均被点击,从而使得应用行为触发完成,保证了应用行为被触发的完整性,且提高了准确率。
本发明实施例的应用程序中控件的触发装置,可通过递归的方式获取应用程序当前运行的页面布局信息,解析布局信息以获取全部可以点击的控件,然后,依次根据不同的控件类型采取不同的点击触发方式,最后达到一个所有页面可以被完全触发点击的效果,从而能够实现有序智能的触发应用行为,大大的减轻了人力工作量,提高了效率,并且能够保证应用行为被触发的完整性。
此外,本发明还提出了一种移动终端,其包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为移动终端的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
S101’,获取应用程序中第一页面的布局信息。
S102’,根据第一页面的布局信息提取第一页面中的可点击控件和可点击控件对应的控件类型。
S103’,根据对应的控件类型获取对应的点击触发模式,并通过对应的点击触发模式触发可点击控件。
本发明实施例的移动终端,可通过递归的方式获取应用程序当前运行的页面布局信息,解析布局信息以获取全部可以点击的控件,然后,依次根据不同的控件类型采取不同的点击触发方式,最后达到一个所有页面可以被完全触发点击的效果,从而能够实现有序智能的触发应用行为,大大的减轻了人力工作量,提高了效率,并且能够保证应用行为被触发的完整性。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (13)

1.一种应用程序中控件的触发方法,其特征在于,包括以下步骤:
获取应用程序中第一页面的布局信息;
根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型;
根据所述对应的控件类型获取对应的点击触发模式,并通过所述对应的点击触发模式触发所述可点击控件;
其中,在根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型之后,所述触发方法还包括:
根据所述可点击控件的数量判断所述第一页面是否为导航页面;
如果判断所述第一页面为导航页面,则在所述第一页面中输入第一方向的划屏操作;
判断所述第一页面是否发生变化;
如果判断所述第一页面未发生变化,则进一步在所述第一页面中输入第二方向的划屏操作;
如果判断所述第一页面发生变化,则继续在所述第一页面生成的第二页面中输入所述第一方向的划屏操作,直至所述第二页面不再发生变化,且所述第二页面中具有至少一个可点击控件,且所述至少一个可点击控件被触发之后所述第二页面发生变化。
2.如权利要求1所述的应用程序中控件的触发方法,其特征在于,所述根据所述可点击控件的数量判断所述第一页面是否为导航页面具体包括:
如果所述第一页面中的可点击控件的数量小于预设阈值,则判断所述第一页面为导航页面。
3.如权利要求1所述的应用程序中控件的触发方法,其特征在于,在所述在第一页面中输入第二方向的划屏操作之后,还包括:
判断所述第一页面是否发生变化;
如果判断所述第一页面未发生变化,则进一步在所述第一页面中输入第三方向的划屏操作;
如果判断所述第一页面发生变化,则继续在所述第一页面生成的第三页面中输入所述第二方向的划屏操作,直至所述第三页面不再发生变化,且第三页面中具有至少一个可点击控件,且所述至少一个可点击控件被触发之后所述第三页面发生变化。
4.如权利要求1所述的应用程序中控件的触发方法,其特征在于,在根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型之后,还包括:
判断所述第一页面是否为登录页面;
如果判断所述第一页面为所述登录页面,则在所述第一页面中填写预设的登录信息,并触发登录。
5.如权利要求1所述的应用程序中控件的触发方法,其特征在于,在所述通过所述对应的点击触发模式触发所述可点击控件之后,还包括:
S1:提取所述第一页面生成的第四页面中的可点击控件和所述可点击控件对应的控件类型;以及
S2:根据所述第四页面中对应的控件类型获取对应的点击触发模式,并以遍历的方式通过所述对应的点击触发模式触发所述第四页面中的所述可点击控件;
S3:如果所述第四页面跳转至第五页面,则重复执行所述步骤S1-S2,直至所述第五页面中的可点击控件均被触发;以及
S4:如果所述第四页面跳转至所述第一页面,则进一步触发所述第一页面中未触发的可点击控件,直至所述第一页面中的可点击控件均被触发。
6.如权利要求1所述的应用程序中控件的触发方法,其特征在于,所述应用程序工作于Android操作系统,通过ADB接口获取所述第一页面的布局信息。
7.一种应用程序中控件的触发装置,其特征在于,包括:
获取模块,用于获取应用程序中第一页面的布局信息;
第一提取模块,用于根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型;以及
第一触发模块,用于根据所述对应的控件类型获取对应的点击触发模式,并通过所述对应的点击触发模式触发所述可点击控件;
第一判断模块,用于在所述第一提取模块根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型之后,根据所述可点击控件的数量判断所述第一页面是否为导航页面;
输入模块,用于在所述第一判断模块判断所述第一页面为导航页面时,在所述第一页面中输入第一方向的划屏操作;
第二判断模块,用于判断所述第一页面是否发生变化;
所述输入模块还可用于在所述第二判断模块判断所述第一页面未发生变化时,进一步在所述第一页面中输入第二方向的划屏操作;
所述输入模块还可用于在所述第二判断模块判断所述第一页面发生变化时,继续在所述第一页面生成的第二页面中输入所述第一方向的划屏操作,直至所述第二页面不再发生变化,且所述第二页面中具有至少一个可点击控件,且所述至少一个可点击控件被触发之后所述第二页面发生变化。
8.如权利要求7所述的应用程序中控件的触发装置,其特征在于,所述第一判断模块具体用于:
在所述第一页面中的可点击控件的数量小于预设阈值时,判断所述第一页面为导航页面。
9.如权利要求7所述的应用程序中控件的触发装置,其特征在于,
当所述输入模块在所述第一页面中输入第二方向的划屏操作之后,触发所述第二判断模块;
所述输入模块还可用于在所述第二判断模块判断所述第一页面未发生变化时,进一步在所述第一页面中输入第三方向的划屏操作;
所述输入模块还可用于在所述第二判断模块判断所述第一页面发生变化时,继续在所述第一页面生成的第三页面中输入所述第二方向的划屏操作,直至所述第三页面不再发生变化,且第三页面中具有至少一个可点击控件,且所述至少一个可点击控件被触发之后所述第三页面发生变化。
10.如权利要求7所述的应用程序中控件的触发装置,其特征在于,还包括:
第三判断模块,用于在所述第一提取模块根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型之后,判断所述第一页面是否为登录页面;
填写模块,用于在所述第三判断模块判断所述第一页面为所述登录页面时,在所述第一页面中填写预设的登录信息,并触发登录。
11.如权利要求7所述的应用程序中控件的触发装置,其特征在于,还包括:
第二提取模块,用于在所述第一触发模块通过所述对应的点击触发模式触发所述可点击控件之后,提取所述第一页面生成的第四页面中的可点击控件和所述可点击控件对应的控件类型;
第二触发模块,用于根据所述第四页面中对应的控件类型获取对应的点击触发模式,并以遍历的方式通过所述对应的点击触发模式触发所述第四页面中的所述可点击控件;
如果所述第四页面跳转至第五页面,则重复触发所述第二提取模块和所述第二触发模块,直至所述第五页面中的可点击控件均被触发;以及
如果所述第四页面跳转至所述第一页面,则触发所述第二触发模块,所述第二触发模块还用于触发所述第一页面中未触发的可点击控件,直至所述第一页面中的可点击控件均被触发。
12.如权利要求7所述的应用程序中控件的触发装置,其特征在于,所述应用程序工作于Android操作系统,通过ADB接口获取所述第一页面的布局信息。
13.一种移动终端,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:
获取应用程序中第一页面的布局信息;
根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型;
根据所述对应的控件类型获取对应的点击触发模式,并通过所述对应的点击触发模式触发所述可点击控件;
其中,所述处理器,还用于在根据所述第一页面的布局信息提取所述第一页面中的可点击控件和所述可点击控件对应的控件类型之后,根据所述可点击控件的数量判断所述第一页面是否为导航页面,如果判断所述第一页面为导航页面,则在所述第一页面中输入第一方向的划屏操作,并判断所述第一页面是否发生变化,如果判断所述第一页面未发生变化,则进一步在所述第一页面中输入第二方向的划屏操作;如果判断所述第一页面发生变化,则继续在所述第一页面生成的第二页面中输入所述第一方向的划屏操作,直至所述第二页面不再发生变化,且所述第二页面中具有至少一个可点击控件,且所述至少一个可点击控件被触发之后所述第二页面发生变化。
CN201410309642.XA 2014-06-30 2014-06-30 应用程序中控件的触发方法、装置及移动终端 Active CN105446752B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410309642.XA CN105446752B (zh) 2014-06-30 2014-06-30 应用程序中控件的触发方法、装置及移动终端
US15/322,609 US10372300B2 (en) 2014-06-30 2015-06-23 Method, apparatus and mobile terminal for triggering widget in application
PCT/CN2015/082119 WO2016000547A1 (zh) 2014-06-30 2015-06-23 应用程序中控件的触发方法、装置及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410309642.XA CN105446752B (zh) 2014-06-30 2014-06-30 应用程序中控件的触发方法、装置及移动终端

Publications (2)

Publication Number Publication Date
CN105446752A CN105446752A (zh) 2016-03-30
CN105446752B true CN105446752B (zh) 2019-05-28

Family

ID=55018431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410309642.XA Active CN105446752B (zh) 2014-06-30 2014-06-30 应用程序中控件的触发方法、装置及移动终端

Country Status (3)

Country Link
US (1) US10372300B2 (zh)
CN (1) CN105446752B (zh)
WO (1) WO2016000547A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109561010B (zh) * 2017-09-26 2020-11-20 北京金山安全软件有限公司 一种报文处理方法、电子设备及可读存储介质
CN107818162B (zh) * 2017-11-01 2019-02-01 平安科技(深圳)有限公司 埋点处理方法、装置、计算机设备和存储介质
CN108170415B (zh) * 2017-12-21 2021-01-22 博康智能信息技术有限公司 一种基于可配置控件的轻型应用程序创建方法
CN110597720A (zh) * 2019-09-04 2019-12-20 香港乐蜜有限公司 一种应用程序的测试方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484790A (zh) * 2001-01-04 2004-03-24 �Ҵ���˾ 测试带有图形用户界面的未知程序的方法和装置
CN102117470A (zh) * 2011-03-28 2011-07-06 中国建设银行股份有限公司 征信协查系统中基于互联网模拟浏览器获取数据的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0625577D0 (en) * 2006-12-21 2007-01-31 Ibm Method and system for graphical user interface testing
US9003315B2 (en) * 2008-04-01 2015-04-07 Litl Llc System and method for streamlining user interaction with electronic content
CN103164300A (zh) 2011-12-13 2013-06-19 腾讯科技(深圳)有限公司 一种移动终端触摸屏自动测试方法及装置
CN103186740B (zh) * 2011-12-27 2015-09-23 北京大学 一种Android恶意软件的自动化检测方法
US9107024B2 (en) * 2012-10-10 2015-08-11 Nec Mobile Communications, Ltd. Communication system, information processing apparatus, mobile terminal, and input method
US20150058826A1 (en) * 2013-08-26 2015-02-26 The Trustees Of Columbia University In The City Of New York Systems and methods for efficiently and effectively detecting mobile app bugs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484790A (zh) * 2001-01-04 2004-03-24 �Ҵ���˾ 测试带有图形用户界面的未知程序的方法和装置
CN102117470A (zh) * 2011-03-28 2011-07-06 中国建设银行股份有限公司 征信协查系统中基于互联网模拟浏览器获取数据的方法

Also Published As

Publication number Publication date
CN105446752A (zh) 2016-03-30
US10372300B2 (en) 2019-08-06
US20170153778A1 (en) 2017-06-01
WO2016000547A1 (zh) 2016-01-07

Similar Documents

Publication Publication Date Title
CN103336742B (zh) 一种基于Android的自动化软件黑盒测试系统及方法
CN105446752B (zh) 应用程序中控件的触发方法、装置及移动终端
CN104572446B (zh) 一种自动化测试方法及系统
CN106021257A (zh) 一种支持在线编程的爬虫抓取数据方法、装置及系统
CN107451040A (zh) 故障原因的定位方法、装置及计算机可读存储介质
CN107608951B (zh) 报表生成方法和系统
CN105512023A (zh) 一种Monkey测试方法及装置
WO2016084336A1 (ja) 追学習装置、追学習方法、および、記憶媒体
CN108399124A (zh) 应用测试方法、装置、计算机设备和存储介质
CN106055462A (zh) 一种时长获取方法和装置
CN106126424A (zh) 一种脚本可视化的自动化测试方法、装置和移动终端
CN104503957A (zh) 一种公式图形自动生成方法和装置
CN106325596A (zh) 一种书写笔迹自动纠错方法及系统
CN116088882B (zh) 一种基于智能穿戴设备的功能配置方法、系统及介质
CN108153454B (zh) 多点触摸切换方法、装置、存储介质及终端设备
CN105354138A (zh) 一种确定手机页面上特定控件属性的方法
CN105094669A (zh) 浏览器多标签页的切换方法及装置
CN106250020A (zh) 一种字体的输入和显示方法及移动终端
CN104375814A (zh) 接口文档的生成方法及装置
CN108829391B (zh) 一种Fragment中控件识别方法及系统
CN108052212A (zh) 一种输入文字的方法、终端及计算机可读介质
US20170308379A1 (en) Evaluating documentation coverage
CN105094671A (zh) 一种用于对输入区域的内容进行编辑的方法和装置
CN106227667A (zh) 一种基于扩展的ifml的移动应用的测试用例生成方法
CN102073685A (zh) 保存网站界面可视化编辑操作的方法

Legal Events

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