动态展示内容监控方法、系统及装置与流程

文档序号:11949934阅读:310来源:国知局
动态展示内容监控方法、系统及装置与流程

本发明涉及自动化测试技术领域,尤指一种动态展示内容监控方法、系统及装置。



背景技术:

随着移动互联网的发展,带动了移动终端应用(APP)市场的发展,从而引发了移动终端APP软件的开发热潮。在安卓应用市场中,免费应用占比65%以上对于这些免费的应用,开发者或者开发公司往往会在应用中以各种形式来嵌入移动商业广告,依靠用户点击这些内置广告而带来收益,这是获取经济利益最普遍且最主要的手段之一。移动商业广告是以超文本标记语言(Hyper Text Markup Language,HTML)5的格式嵌入到APP客户端中,用户点击短链接或者带有统一资源定位符(Uniform Resource Locator,URL)的文本或图片,客户端会跳转并加载相应的Html5页面,即广告页面。而用户在这个操作过程中,如果广告页面所在的服务器出现了异常,就会重定向到一个错误页面,用户点击无效,点击量自然会减少,从而影响收益。如何能够在第一时间发现这种异常,并向管理人员发送通知,是亟待解决的问题。

监控宝是现有技术方案中比较常用的一种解决方案,可以定时监控网站、服务和服务器,一旦网站无法连结、网页(Web)服务器负载过高、数据库压力过大、或是服务器发生错误,监控宝就会通知网站管理员。监控宝的原理架构图如图1所示。

该方式需要在被管理设备上安装简单网络管理协议(SNMP)代理程序,然后对SNMP进行配置,如设置SNMP版本、用户名、密码和验证方式等。在前端监控宝网页配置监控宝所要监控的服务器并设置SNMP代理。提交成功后可以添加监控项目,如中央处理器(CPU)使用率、内存使用率、磁盘输入/输出端口(Input/Output,I/O)和网络流量等。然后,可以选择监控的服务,最后填写需要监控的URL即可显示监控信息。监控宝的服务端相当于SNMP应用模型中的网络管理系统,负责接收前端网页发送过来的请求,取回数据,经过处理返回给前端网页。

监控宝要监控某一个状态页面,需要添加被监控的服务器地址和对应的URL,内嵌的移动商业广告一般会出现在应用中的滚动条上(手动或自动切换3-5条广告)、顶部栏(下拉自动更新一个广告)和首页的内容中(随机插入),内置广告是动态显示的,每隔一段时间会显示不同的广告。由于每条广告都会带有一个不同的URL,如果使用监控宝监控这些广告页,则需要不断地手动添加对应的URL,除了工作繁琐之外,随着要监控的广告页增加,以后的维护也会变得更加麻烦。再者,监控宝是通过在每台被管理设备上配置SNMP以获取监控信息,对于不同的广告服务提供商,都需要在其服务器上进行配置,配置起来比较费时费力,且如果发生服务器迁移、URL变换等情况,则需要修改已添加的服务器和URL信息,无法动态地管理。

由于上述方式需要在每一台被管理设备上配置并开启SNMP协议,在配置SNMP时,创建用户之后,需要将用户名和密码填入监控宝前端网页中,极有可能被木马程序盗取而泄露,存在安全隐患。

且监控宝从URL和协议层方面着手,虽然能够监控网页中是否包含特定的内容,但对于移动端的页面跳转无法模拟自动化监控。

因此,现有实现监控的方式存在诸多弊端,不能准确、有效地实现对动态显示的广告的监控,无法及时发现其显示异常等状况。



技术实现要素:

本发明实施例提供一种动态展示内容监控方法、系统及装置,用以解决现有技术中存在的无法动态监控应用中的动态展示内容,不能及时、有效的发现其异常显示,且操作费时费力,存在安全隐患的问题。

本发明实施例提供了一种动态展示内容监控方法,包括:

监控已启动的应用程序;

获取应用程序中的内置动态展示控件,模拟用户对内置动态展示控件进行操作;

判断模拟操作后内置动态展示控件的显示内容是否异常;

当判断为是时,通知用户动态展示内容异常。

在一些可选的实施例中,判断内置动态展示控件的显示内容是否异常,具体包括:

获取内置动态展示控件的显示内容;

将内置动态展示控件的显示内容与预设的异常展示内容进行匹配,当匹配成功时,判定内置动态展示控件的显示内容异常。

在一些可选的实施例中,所述通知用户动态展示内容异常,具体包括:

通过预先配置的邮箱向用户发送动态展示内容异常的提示邮件;或

通过预设的提示页面提示用户动态展示内容异常。

在一些可选的实施例中,所述通知用户动态展示内容异常,具体包括:

将内置动态展示控件的异常的显示展示内容进行截图;

将截图嵌入到配置好的提示邮件中,将提示邮件发送给用户;或将截图嵌入到配置好的提示页面中,将提示页面展示给用户。

在一些可选的实施例中,按照预设的监控周期或监控频率监控已启动的应用程序;

所述获取应用程序中的内置动态展示控件之前,还包括:检测监控周期是否到期或检测是否达到监控频率,当监控周期到期或达到监控频率时,再执行获取应用程序中的内置动态展示控件的操作。

本发明实施例还提供一种动态展示内容监控装置,包括:

启动模块,用于监控已启动的应用程序;

获取模块,用于获取应用程序中的内置动态展示控件;

模拟模块,用于模拟用户对内置动态展示控件进行操作;

判断模块,用于判断模拟操作后内置动态展示控件的显示内容是否异常;

执行模块,用于当判断为是时,通知用户动态展示内容异常。

在一些可选的实施例中,所述判断模块,具体用于:

获取内置动态展示控件的显示内容;

将内置动态展示控件的显示内容与预设的异常展示内容进行匹配,当匹配成功时,判定内置动态展示控件的显示内容异常。

在一些可选的实施例中,所述执行模块,具体用于:

通过预先配置的邮箱向用户发送动态展示内容异常的提示邮件;或

通过预设的提示页面提示用户动态展示内容异常。

在一些可选的实施例中,所述启动模块,具体用于:按照预设的监控周期或监控频率监控已启动的应用程序;

所述启动模块,还用于检测监控周期是否到期或检测是否达到监控频率,当监控周期到期或达到监控频率时,再执行获取应用程序中的内置动态展示控件的操作。

本发明实施例还提供一种动态展示内容监控系统,包括:上述的动态展示内容监控装置、应用客户端和浏览器;

所述应用客户端,用于运行应用程序;

所述浏览器,用于显示动态展示内容异常信息。

上述技术方案具有如下有益效果:通过监控获取已启动的应用程序的内置动态展示控件,模拟用户对内置动态展示控件进行操作;判断模拟操作后内置动态展示控件的显示内容是否异常,从而实现了及时、有效地监控动态展示内容是否异常显示,该不需要针对每个动态展示内容提供方进行代理设置,操作简单省事;不需要用户信息交互,避免了安全隐患,实现了对动态展示内容的模拟自动监控。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是现有技术中监控宝的监控原理示意图;

图2是本发明实施例一中动态展示内容监控方法的流程图;

图3是本发明实施例二中动态展示内容监控方法的流程图;

图4是本发明实施例三中动态展示内容监控方法的原理示意图;

图5是本发明实施例中动态展示内容监控系统的结构示意图;

图6是本发明实施例中动态展示内容监控装置的结构示意图;

图7是本发明实施例以邮件通知为例,在该开发平台上运行安卓自动化测试框架Robotium、监控代码和JavaMail原理示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了解决现有技术中存在的对动态展示内容监控配置复杂,不能实现及时有效的模拟动态监控,操作费时费力等若干问题,本发明实施例提供一种动态展示内容监控方法,能够在不进行逐一分别配置的情况下,实现对动态展示内容的动态监控,其实现简单,没有安全隐患,能够及时发现动态展示内容的异常显示。

实施例一

本发明实施例一提供的动态展示内容监控方法,其流程如图2所示,包括如下步骤:

步骤S101:监控已启动的应用程序。

可以监控真机或模拟器上已启动的应用程序,通过预设的监控代码来实现,启动自动监控。

步骤S102:获取应用程序中的内置动态展示控件。

应用程序中可能有不止一个动态展示区域,获取应用程序中的动态展示控件,可以确定动态展示区域,例如:应用程序中的滚动条上、顶部栏、首页的内容中、其他选定区域(例如,每显示几条显示内容后插入一条动态展示内容)。

步骤S103:模拟用户对内置动态展示控件进行操作。

获取应用程序中的动态展示控件后,模拟用户对这些动态展示区域进行操作,比如点击、长按、滑动等操作。

步骤S104:判断模拟操作后内置动态展示控件的显示内容是否异常。

当判断为是时,执行步骤S105;当判断为否时,执行步骤S106。

模拟用户操作后,等待动态展示控件完成对动态展示内容的操作后,获取当前显示的内容,判断显示的内容是否异常。

步骤S105:通知用户动态展示内容异常。

当动态展示内容显示异常时,通过邮件或页面展示的方式通知用户,以便用户及时处理,使动态展示内容能够正常展示。

步骤S106:结束本次监控流程。

当动态展示内容能够正常显示时,结束本次监控流程,等待启动下次监控。

实施例二

本发明实施例二提供上述动态展示内容监控的一种具体实现方法,其流程如图3所示,包括如下步骤:

步骤S201:监控已启动的应用程序。

步骤S202:获取应用程序中的内置动态展示控件。

步骤S203:模拟用户对内置动态展示控件进行操作。

步骤S204:获取内置动态展示控件的显示内容。

模拟用户操作后,等待动态展示控件完成对动态展示内容的操作后,获取当前显示的内容,若有不止一个动态展示区域,则可以获取所有展示区域的显示内容,也可以抽样获取其中一个或几个展示区域的显示内容。比如应用程序中的滚动条上、顶部栏、首页的内容中、其他选定区域等区域的展示内容都逐一获取或选择性获取。

步骤S205:将内置动态展示控件的显示内容与预设的异常展示内容进行匹配。

当匹配成功时,执行步骤S206;当匹配失败时,执行步骤S207。

获取预设的异常展示内容,可以通过Html5格式的页面获取,也可以通过其他方式获取。然后进行匹配,当匹配成功时,说明内置动态展示控件的显示内容为异常内容,即判定动态展示内容异常;当匹配失败时,说明内置动态展示控件的显示内容为正常显示的内容。

步骤S206:通过预先配置的邮箱向用户发送动态展示内容异常的提示邮件。

可以通过向用户发送邮件的方式进行通知用户动态展示内容异常,将内置动态展示控件的异常的显示内容进行截图;将截图嵌入到配置好的提示邮件中,将提示邮件发送给用户。

当确认动态展示内容异常时,对展示的内容进行截图,并构造Html格式的邮件内容,调用Java邮件收发协议(JavaMail)的发送邮件接口,将构造的邮件发送到指定的邮箱。

以微博应用程序为例,在首页上有动态展示内容,该动态展示内容包含展示物品图片、展示物品描述文本和展示物品详情文本,可以使用展示物品详情文本作为进入展示页面的入口控件,即点击展示物品详情文本实现模拟操作。设置用于匹配的异常展示内容为“抱歉!页面无法访问……”,根据匹配内容获取web元素实现显示内容的获取,并进行判断,如果web显示内容为设置的用于匹配的异常展示内容,则表示跳转失败,立即发送警报邮件。

发送邮件需要设置邮件主题、邮件内容、接收者、图片名字、发送邮件的服务器,邮箱前缀和邮箱密码。这些邮件配置参数可以通过邮件配置函数代码实现。根据邮件配置参数配置提示邮件后,可以将邮件以设置的发送者的名义发送给设置的接收者,其显示主题为设置的邮件主题,异常显示的截图可以以Html格式嵌入。

步骤S207:结束本次监控流程。

可以通过点击返回按钮,返回等待下次监控流程。

实施例三

本发明实施例三提供上述动态展示内容监控的一种具体实现方法,其流程如图4所示,包括如下步骤:

步骤S301:按照预设的监控周期或监控频率监控已启动的应用程序。

可以设置一定的监控周期或监控频率,例如30秒为一个监控周期,或监控频率为1分钟2次。

步骤S302:检测监控周期是否到期或检测是否达到监控频率。当监控周期到期或达到监控频率时,执行步骤S303,否则,等待并继续检测监控周期是否到期或检测是否达到监控频率。

检测监控周期是否到达,或监控频率是否到达,若没有到达,则继续等待,若到达后,再寻找应用程序内置的动态内容展示控件,执行后续操作。

步骤S303:获取应用程序中的内置动态展示控件。

步骤S304:模拟用户对内置动态展示控件进行操作。

步骤S305:获取内置动态展示控件的显示内容。

步骤S306:将内置动态展示控件的显示内容与预设的异常展示内容进行匹配。

当匹配成功时,认为动态展示内容异常,执行步骤S307;当匹配失败时,执行步骤S308。

步骤S307:通过预设的提示页面提示用户动态展示内容异常。

可以通过向用户展示提示页面的方式进行通知用户动态展示内容异常,将内置动态展示控件的异常展示内容进行截图,将截图嵌入到配置好的提示页面中,将提示页面展示给用户。

当确认动态展示内容异常时,对展示的内容进行截图,并构造Html格式的提示页面,调用页面显示接口,将构造的提示页面展示给用户。

步骤S308:结束本次监控流程。

等到下一个监控周期到期或监控频率到达时继续重复这个过程。

基于同一发明构思,本发明实施例还提供一种动态展示内容监控系统,其结构如图5所示,包括:动态展示内容监控装置501、应用客户端502和浏览器503。

动态展示内容监控装置501,用于监控已启动的应用程序;获取应用程序中的内置动态展示控件,模拟用户对内置动态展示控件进行操作;判断模拟操作后内置动态展示控件的显示内容是否异常;当判断为是时,通知用户动态展示内容异常。

应用客户端502,用于运行应用程序。

浏览器503,用于显示动态展示内容异常信息。

优选的,上述动态展示内容监控装置501,具体用于获取内置动态展示控件的显示内容;将内置动态展示控件的显示内容与预设的异常展示内容进行匹配,当匹配成功时,判定动态展示控件的显示内容异常。

优选的,上述动态展示内容监控装置501,具体用于通过预先配置的邮箱向用户发送动态展示内容异常的提示邮件;或通过预设的提示页面提示用户动态展示内容异常。

优选的,上述动态展示内容监控装置501,具体用于将内置动态展示控件的异常的显示内容进行截图;将截图嵌入到配置好的提示邮件中,将提示邮件发送给用户;或将截图嵌入到配置好的提示页面中,将提示页面展示给用户。

优选的,上述动态展示内容监控装置501,具体用于按照预设的监控周期或监控频率监控已启动的应用程序;相应的,上述动态展示内容监控装置501,还用于检测监控周期是否到期或检测是否达到监控频率,当监控周期到期或达到监控频率时,再执行获取应用程序中的内置动态展示控件的操作。

上述动态展示内容监控装置501的结构如图6所示,包括:启动模块601、获取模块602、模拟模块603、判断模块604和执行模块605。

启动模块601,用于监控已启动的应用程序。

获取模块602,用于获取应用程序中的内置动态展示控件。

模拟模块603,用于模拟用户对内置动态展示控件进行操作。

判断模块604,用于判断模拟操作后内置动态展示控件的显示内容是否异常。

执行模块605,用于当判断为是时,通知用户动态展示内容异常。

优选的,上述判断模块604,具体用于获取内置动态展示控件的显示内容;将内置动态展示控件的显示内容与预设的异常展示内容进行匹配,当匹配成功时,判定动态展示控件的显示内容异常。

优选的,上述执行模块605,具体用于通过预先配置的邮箱向用户发送动态展示内容异常的提示邮件;或通过预设的提示页面提示用户动态展示内容异常。

优选的,上述启动模块604,具体用于按照预设的监控周期或监控频率监控已启动的应用程序;相应的,

上述启动模块601,还用于检测监控周期是否到期或检测是否达到监控频率,当监控周期到期或达到监控频率时,再执行获取应用程序中的内置动态展示控件的操作。

优选的,上述执行模块605,具体用于将内置动态展示控件的异常的显示内容进行截图;将截图嵌入到配置好的提示邮件中,将提示邮件发送给用户;或将截图嵌入到配置好的提示页面中,将提示页面展示给用户。

上述动态展示内容监控方法及系统,可以通过基于Java的可扩展开发平台Eclipse实现应用程序的开发运行,以邮件通知为例,在该开发平台上运行安卓自动化测试框架Robotium、监控代码和JavaMail,其原理如图7所示。监控代码启动模拟器或真机上已经安装好的被测应用,开始循环监控应用程序的内置动态展示内容,通过模拟用户点击内置动态展示内容,判断内置动态展示内容是否正常跳转,若出现异常则调用JavaMail发送警报邮件至指定邮箱。

自动化测试框架Robotium,能够驱动安卓(Android)设备模拟各种手势操作,例如:如点击、长按、滑动等,查找控件和断言机制的应用程序编程接口(Application Programming Interface,API)。它运行于Eclipse之上,通过添加监控代码,可以对被测设备(如图中所示的真机或模拟器)进行自动操作。

监控代码实现测试功能,是控制应用自动操作的逻辑部分,通过调用Robotium提供的用户界面(User Interface,UI)操作API,获取和操作动态展示控件,判断内置动态展示内容的跳转是否正常。

处理电子邮件相关的编程接口JavaMail,在监控代码执行过程中,当监控到动态展示控件渲染异常时,会调用JavaMail的API,向预定义到邮箱发送异常。

上述动态展示内容监控方法及系统,可采用其他自动化框架代替Robotium,如:移动设备自动化测试框架Appium和安卓原生应用UI自动化测试框架Selendroid。

上述动态展示内容监控方法及系统,无需预先设置被监控的状态页面URL,只需定位到APP中的动态展示控件,即可操作该控件,并对跳转后的动态展示内容进行验证,实现实时动态监控,在出现异常后能够在第一时间截图并发送警报邮件或页面提醒;由于采用了全自动化模拟手动点击屏幕,无需人工操作,提高监控效率。由于采用UI交互式的监控方式,只关注应用程序上的显示内容,根据文本或控件ID获取内置动态展示控件展示内容,不用关心动态展示内容的URL改动,无需在服务器上开启和配置SNMP,可以防止外界对服务器进行攻击,避免了信息泄露,能够保证服务器端的安全性。采用邮件通知或页面提示的方式,在第一时间发现动态展示内容的异常,并及时截图提醒用户,实现简单、方便、易维护,有效降低了维护成本,且具有较强的通用性和普遍适用性。

本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。

本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。

在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1