广告测试方法及其装置、存储介质、程序产品与流程

文档序号:33320631发布日期:2023-03-03 20:21阅读:23来源:国知局
广告测试方法及其装置、存储介质、程序产品与流程

1.本技术涉及软件测试技术领域,尤其涉及一种广告测试方法及其装置、存储介质、程序产品。


背景技术:

2.随着媒体信息技术的发展,用户可以通过更多的途径获取信息,进而满足用户获取各种信息的需求。为了迎合用户获取信息的更大需求,广告信息提供方往往会通过各种互联网平台以及各种推送途径向用户推送广告信息。
3.为了使用户能够有效获取广告信息,往往需要进行广告测试,以确定广告的跳转链接是否存在异常问题。目前,大部分的广告测试操作都是由测试人员手动进行的,存在测试过程繁琐、工作量大、重复性工作多等缺点,容易导致测试效率低下、测试有效性不高等问题。


技术实现要素:

4.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
5.本技术实施例提供了一种广告测试方法及其装置、存储介质、程序产品,能够实现广告的自动化测试,并提高广告测试的测试效率以及测试有效性。
6.一方面,本技术实施例提供了一种广告测试方法,包括以下步骤:
7.响应于测试操作指令,通过交互式应用的目标广告位入口进入内容页面,其中,所述内容页面包括广告界面;所述交互式应用包括多个广告位入口,所述目标广告位入口为在多个所述广告位入口中随机选择的一个;
8.根据所述目标广告位入口和所述广告界面,确定所述广告界面在所述内容页面的位置信息;
9.根据所述位置信息在所述广告界面中随机确定目标触发位置;
10.根据所述目标触发位置进行触发测试得到测试结果。
11.另一方面,本技术实施例还提供了一种广告测试装置,包括:
12.交互模块,用于响应于测试操作指令,通过交互式应用的目标广告位入口进入内容页面,其中,所述内容页面包括广告界面;所述交互式应用包括多个广告位入口,所述目标广告位入口为在多个所述广告位入口中随机选择的一个;
13.第一确定模块,用于根据所述目标广告位入口和所述广告界面,确定所述广告界面在所述内容页面的位置信息;
14.第二确定模块,用于根据所述位置信息在所述广告界面中随机确定目标触发位置;
15.第一测试模块,用于根据所述目标触发位置进行触发测试得到测试结果。
16.可选地,所述广告界面包括广告标识和广告元素,其中,所述广告元素为所述广告
界面中用于显示广告信息的信息承载元素;所述第一确定模块包括:
17.识别模块,用于识别所述广告界面中的所述广告标识和所述广告元素;
18.范围确定模块,用于根据所述广告元素确定所述广告界面的界面范围;
19.位置信息确定模块,用于根据所述广告标识和所述界面范围确定所述广告界面在所述内容页面的位置信息。
20.可选地,所述范围确定模块包括:
21.样式确定模块,用于根据所述广告元素确定所述广告界面的界面样式;
22.范围确定子模块,用于根据所述目标广告位入口和所述广告界面的界面样式确定所述广告界面的界面范围。
23.可选地,所述位置信息确定模块包括:
24.坐标获取模块,用于获取所述广告标识在所述内容页面的坐标信息;
25.位置信息确定子模块,用于根据所述坐标信息和所述界面范围确定所述广告界面在所述内容页面的位置信息。
26.可选地,所述识别模块包括:
27.图像截取模块,用于截取所述内容页面得到第一图像;
28.识别子模块,用于在所述第一图像中识别所述广告界面的所述广告标识和所述广告元素。
29.可选地,所述广告测试装置还包括:
30.信息获取模块,用于随机获取广告信息;
31.渲染处理模块,用于根据所述广告信息在所述广告界面进行图像渲染处理;
32.识别处理模块,用于对所述广告界面进行广告标识的识别处理,当识别到所述广告标识,确定所述广告界面成功显示所述广告信息。
33.可选地,所述识别处理模块包括:
34.元素判断模块,用于遍历所述广告界面中的页面元素,判断所述页面元素是否包括目标页面元素,其中,所述目标页面元素用于显示所述广告标识;
35.或者,
36.文本判断模块,用于截取所述内容页面得到第二图像,提取所述第二图像中的文本信息,判断所述文本信息是否包括所述广告标识。
37.可选地,所述第二确定模块包括:
38.区域划分模块,用于将所述广告界面划分为第一区域和第二区域;
39.面积计算模块,用于根据所述位置信息计算所述第一区域的第一区域面积和所述第二区域的第二区域面积;
40.概率确定模块,用于根据所述第一区域面积和所述第二区域面积确定第一概率值和第二概率值,其中,所述第一概率值表征目标触发位置出现在所述第一区域的概率,所述第二概率表征所述目标触发位置出现在所述第二区域的概率;
41.位置确定模块,用于根据所述第一概率值和所述第二概率值在所述广告界面中随机确定所述目标触发位置。
42.可选地,所述位置确定模块包括:
43.目标区域选择模块,用于根据所述第一概率值和所述第二概率值,选择所述第一
区域和所述第二区域中的一个作为目标区域;
44.关系确定模块,用于随机选择候选触发位置,确定所述候选触发位置与所述目标区域的关系;
45.位置确定子模块,用于根据所述候选触发位置与所述目标区域的关系确定所述目标触发位置。
46.可选地,所述位置确定子模块包括:
47.第一位置确定子模块,用于当所述候选触发位置处于所述目标区域之内,将所述候选触发位置确定为所述目标触发位置;
48.或者,
49.第二位置确定子模块,用于当所述候选触发位置处于所述目标区域之外,确定所述候选触发位置在所述目标区域之内的映射位置,将所述映射位置确定为所述目标触发位置。
50.可选地,所述广告测试装置还包括:
51.日志生成模块,用于在进行触发测试的过程中生成日志信息;
52.信息发送模块,用于向服务器发送所述测试结果、所述第一图像和所述日志信息,使得所述服务器保存所述测试结果、所述第一图像和所述日志信息。
53.可选地,所述信息发送模块包括:
54.第一发送模块,用于向所述第一数据库发送所述第一图像和所述日志信息,使得所述第一数据库保存所述第一图像和所述日志信息;
55.第二发送模块,用于向所述第二数据库发送所述测试结果,使得所述第二数据库保存所述测试结果;
56.其中,所述第二数据库还保存有来自所述第一数据库的第一存储链接和第二存储链接,所述第一存储链接为所述第一数据库存储所述第一图像的链接,所述第二存储链接为所述第一数据库存储所述日志信息的链接。
57.可选地,所述第二发送模块包括:
58.发送子模块,用于向所述第二数据库发送所述测试结果,使得所述第二数据库保存所述测试结果,以及,使得所述第二数据库在接收到来自操作终端的信息下载请求的情况下,根据所述第一存储链接从所述第一数据库获取所述第一图像,根据所述第二存储链接从所述第一数据库获取所述日志信息,并向所述操作终端发送所述日志信息、所述第一图像和所述测试结果,其中,所述日志信息、所述第一图像和所述测试结果用于供所述操作终端生成测试报告。
59.可选地,所述广告测试装置还包括:
60.第三确定模块,用于根据所述位置信息在所述广告界面中随机确定新的目标触发位置;
61.第二测试模块,用于根据所述新的目标触发位置重新进行触发测试得到新的测试结果,直到进行触发测试的次数达到预设阈值。
62.另一方面,本技术实施例还提供了一种广告测试装置,包括:
63.至少一个处理器;
64.至少一个存储器,用于存储至少一个程序;
65.当至少一个所述程序被至少一个所述处理器执行时实现如前面所述的广告测试方法。
66.另一方面,本技术实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时用于实现如前面所述的广告测试方法。
67.另一方面,本技术实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述计算机设备执行如前面所述的广告测试方法。
68.响应于测试操作指令,通过交互式应用的目标广告位入口进入内容页面,其中,该内容页面包括广告界面,该交互式应用包括多个广告位入口,目标广告位入口为在这些广告位入口中随机选择的一个,然后根据该目标广告位入口和该广告界面,确定该广告界面在该内容页面的位置信息,接着根据该位置信息在该广告界面中随机确定目标触发位置,并根据该目标触发位置进行触发测试得到测试结果。由于整个广告测试的过程都是响应于测试操作指令而执行的,因此不需要测试人员手动进行测试操作,实现了对广告的自动化测试,能够提高广告测试的测试效率;另外,由于进行触发测试的目标触发位置是在广告界面中的,因此不会对内容页面中除了广告界面之外的其他位置进行触发测试,能够提高广告测试的测试有效性;此外,由于内容页面是根据随机选择的广告位入口而进入的,并且目标触发位置也是随机确定的,即随机自动生成了测试用例,因此能够提高广告测试的随机性,使得广告测试更加有效。
69.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
70.附图用来提供对本技术技术方案的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
71.图1是本技术实施例提供的一种实施环境的示意图;
72.图2是本技术实施例提供的一种实施环境的软件架构图;
73.图3是本技术一个实施例提供的一种广告测试方法的流程图;
74.图4是本技术实施例提供的一种内容页面的示意图;
75.图5是本技术实施例提供的另一种内容页面的示意图;
76.图6是本技术实施例提供的另一种内容页面的示意图;
77.图7是图3中步骤120的一种具体方法流程图;
78.图8是本技术另一实施例提供的一种广告测试方法的流程图;
79.图9是图3中步骤130的一种具体方法流程图;
80.图10是本技术实施例提供的一种广告界面的示意图;
81.图11是图9中步骤134的一种具体方法流程图;
82.图12是本技术一个实施例提供的目标区域的示意图;
83.图13是本技术另一实施例提供的目标区域的示意图;
84.图14是本技术另一实施例提供的目标区域的示意图;
85.图15是本技术一个具体示例提供的广告测试方法的流程图;
86.图16是本技术一个实施例提供的一种广告测试装置的示意图;
87.图17是本技术另一实施例提供的一种广告测试装置的示意图。
具体实施方式
88.下面结合说明书附图和具体的实施例对本技术进行进一步的说明。所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
89.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
90.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
91.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
92.1)交互式应用,是指能够向用户提供用户界面(user interface,ui)以进行交互式操作的应用,例如即时通讯应用、资讯浏览应用等。
93.2)广告位入口,是指能够进入显示有广告界面的内容页面的跳转端口。交互式应用中可以包括多个广告位入口,例如,在一些即时通讯应用中,可以包括社交程序广告位入口、公众服务平台广告位入口、轻便式应用程序广告位入口、轻便式游戏程序广告位入口等。不同的广告位入口,可以对应有不同的广告界面。其中,社交程序是指以信息流的方式显示社交好友信息的应用程序,例如,社交程序可以为朋友圈;公众服务平台是指能够为目标对象提供各种服务信息以及资讯信息的服务平台,例如,公众服务平台可以为公众号;轻便式应用程序是指不需要下载安装就可以使用的应用程序,例如,轻便式应用程序可以为小程序;轻便式游戏程序是指不需要下载安装就可以使用的游戏程序,例如,轻便式游戏程序可以为小游戏。
94.3)广告界面,是指用于显示广告信息的终端屏幕界面。广告界面在终端屏幕中的位置以及范围较为灵活,可以根据实际需求设置广告界面在终端屏幕中的位置以及范围。不同的广告界面可以有不同的界面样式。
95.4)广告元素,是指广告界面中用于显示广告信息的信息承载元素,其中,广告信息可以包括图片、文本、链接、头像、昵称等。广告元素构成了广告界面的界面样式。
96.5)区块链(blockchain),是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层
以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
97.为了迎合用户获取信息的需求,广告信息提供方往往会通过各种互联网平台以及各种推送途径向用户推送广告信息,例如,在各个应用的特定页面中推送广告信息。为了使用户能够有效获取广告信息,往往需要进行广告测试,以确定广告的跳转链接是否存在异常问题。目前,大部分的广告测试操作都是由测试人员手动进行的,存在测试过程繁琐、工作量大、重复性工作多等缺点,容易导致测试效率低下、测试有效性不高等问题。为了解决手动测试所带来的技术问题,在相关技术中,提出了基于monkey测试的广告测试方式。monkey测试能够向终端的操作系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用的压力测试,即能够随机产生点击或触摸等操作来模拟用户的操作,从而实现对应用的压力测试。但是,基于monkey测试的广告测试方式,只能够针对特定页面进行测试,该特定页面是在测试的脚本程序中预先设定好的,例如是原生(native)页面,或者是webview页面(webview是安卓系统中的用于显示网页的一个控件)。当需要针对不同页面进行广告测试时,需要对测试的脚本程序进行对应的修改,所以,基于monkey测试的广告测试方式,在一定程度上仍然存在测试效率不高、测试有效性不高等问题。
98.为了能够提高广告测试的测试效率以及测试有效性,本技术实施例提供了一种广告测试方法、广告测试装置、计算机可读存储介质以及计算机程序产品,在接收到测试操作指令之后,先通过交互式应用的目标广告位入口进入内容页面,其中,该内容页面包括广告界面,该交互式应用包括多个广告位入口,目标广告位入口为在这些广告位入口中随机选择的一个,然后根据该目标广告位入口和该广告界面,确定该广告界面在该内容页面的位置信息,接着根据该位置信息在该广告界面中随机确定目标触发位置,并根据该目标触发位置进行触发测试得到测试结果。由于整个广告测试的过程都是响应于测试操作指令而执行的,因此不需要测试人员手动进行测试操作,实现了对广告的自动化测试,能够提高广告测试的测试效率;另外,由于进行触发测试的目标触发位置是在广告界面中的,因此不会对内容页面中除了广告界面之外的其他位置进行触发测试,能够提高广告测试的测试有效性;此外,由于内容页面是根据随机选择的广告位入口而进入的,并且目标触发位置也是随
机确定的,即随机自动生成了测试用例,而且该测试用例并不限制于特定页面中,因此能够提高广告测试的随机性,使得广告测试更加有效。
99.图1是本技术实施例提供的一种实施环境的示意图。参照图1,该实施环境包括操作终端101、测试终端102和服务器103,服务器103分别与操作终端101和测试终端102通信连接。操作终端101、测试终端102和服务器103可以为区块链中的节点,本实施例对此并不作具体限定。
100.操作终端101可以是平板电脑、笔记本电脑、台式计算机等终端设备,但并不局限于此。可选地,操作终端101上安装有测试客户端,操作终端101可以通过测试客户端对测试终端102中显示的广告进行随机点击或者随机触摸等测试。
101.测试终端102可以是部署有安卓系统、ios系统或者鸿蒙系统等的平板电脑、智能手机、车载终端、智能手表、智能手环等终端设备,但并不局限于此。测试终端102和操作终端101之间可以通过有线或无线的通信方式进行直接或间接的连接,本技术实施例对此并不作具体限定。
102.服务器103可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。
103.如图2所示,图2是该实施环境的软件架构图。参照图2,该实施环境的软件架构包括广告位选择单元、应用基础服务单元、广告异常诊断单元、测试自动化单元、信息存储单元、测试报告生成单元、测试异常通知单元和测试位置随机选取单元等。其中,广告位选择单元、应用基础服务单元、广告异常诊断单元、测试自动化单元和测试位置随机选取单元是测试终端102所具备的功能单元,信息存储单元是服务器103所具备的功能单元,测试报告生成单元和测试异常通知单元是操作终端101所具备的功能单元。
104.广告位选择单元,能够在公众服务平台、轻便式应用程序、轻便式游戏程序和社交程序等广告位入口中随机选择一个广告位入口。
105.应用基础服务单元,能够为应用的正常运行提供相关的基础服务,例如广告服务、轻便式应用程序服务、公众服务平台服务和应用的基础客户端服务等。其中,广告服务是指与广告相关的服务,例如获取广告信息并渲染展示、识别广告内容等;轻便式应用程序服务是指与轻便式应用程序相关的服务,例如打开轻便式应用程序、推送轻便式应用程序版本等;公众服务平台服务是指与公众服务平台的内容相关的服务,例如关注公众服务平台中的某个账号内容、取消关注公众服务平台中的某个账号内容等;应用的基础客户端服务,包括与应用客户端相关的基础服务(如发送聊天信息等)和自动化执行的相关服务(如获取自动化执行结果等)。
106.广告异常诊断单元,能够判断广告测试是否存在异常,例如判断是否导致应用宕机、广告展示页面是否出现白屏、广告展示页面是否出现黑屏、应用是否出现异常弹框等。
107.测试自动化单元,能够实现对测试终端102的自动化测试处理。当测试终端102为安卓系统的终端时,可以采用uiautomator自动化框架对测试终端102进行广告测试处理;当测试终端102为ios系统的终端时,可以采用webdriveragent自动化框架对测试终端102进行广告测试处理。其中,uiautomator自动化框架是针对采用安卓系统的终端的自动化测
试工具,其提供了api(application programming interface,应用程序编程接口)用以自定义ui测试的库。webdriveragent自动化框架是可用于端对端的ui测试的开源框架,其可以调用ios底层的xctest框架,然后由xctest框架调用ios系统的api执行ui指令。
108.信息存储单元,能够保存测试终端102上报的测试相关信息,例如广告信息、测试步骤信息、测试时间、屏幕显示内容和日志信息等。
109.测试报告生成单元,能够根据测试结果生成对应的测试报告,例如根据广告信息、测试步骤信息、测试时间、屏幕显示内容和日志信息等生成测试报告。
110.测试异常通知单元,能够在广告测试出现异常时进行告警通知,例如通过短信、邮件、即时通讯信息等方式对测试人员进行告警通知。
111.测试位置随机选取单元,能够随机选择进行点击测试或者触摸测试的测试位置,例如在广告界面中随机选择测试位置进行点击测试或者触摸测试。
112.操作终端101至少具有对测试终端102中显示的广告进行随机点击测试或者随机触摸测试等功能,例如,能够响应于用户在测试客户端中的操作,向测试终端102发送操作指令,使得测试终端102能够对其所显示的广告进行随机点击或者随机触摸等测试。另外,操作终端101还具有下载测试结果、根据测试结果生成测试报告、显示测试报告以及提供测试报告的下载路径等功能,例如,当完成广告测试后,操作终端101可以从服务器103下载测试结果,并根据测试结果生成测试报告,当操作终端101生成测试报告后,可以显示该测试报告或者向用户提供该测试报告的下载路径。
113.测试终端102至少具有根据操作终端101发送的操作指令随机选择广告位入口进入对应的内容页面、确定内容页面中的广告界面、针对广告界面进行随机点击测试或者随机触摸测试等功能,例如,能够响应于由操作终端101发送的操作指令,随机选择交互式应用的一个广告位入口并进入对应的内容页面,再根据该广告位入口和该广告界面确定该广告界面在该内容页面的位置信息,接着根据该位置信息在该广告界面中随机确定触发位置,然后根据该触发位置进行触发测试得到测试结果。另外,在进行广告测试的过程中,测试终端102还能够截取屏幕显示内容以及生成日志信息,并且在完成广告测试后,测试终端102还能够向服务器103发送该屏幕显示内容和该日志信息,使得服务器103能够保存该屏幕显示内容和该日志信息。
114.服务器103至少具有接收及保存测试终端102发送的屏幕显示内容和日志信息、供操作终端101下载屏幕显示内容和日志信息等功能,例如,能够响应于操作终端101发送的信息下载请求,向操作终端101发送由测试终端102上传的屏幕显示内容和日志信息,使得操作终端101能够根据该屏幕显示内容和该日志信息生成测试报告,以及显示该测试报告或者向用户提供该测试报告的下载路径。
115.在一可行的实施方式中,参照图1,服务器103可以包括云数据库1031和本地数据库1032,云数据库1031和本地数据库1032通信连接。其中,云数据库1031可以保存测试终端102上报的屏幕显示内容和日志信息,并生成屏幕显示内容的存储链接和日志信息的存储链接;本地数据库1031可以保存测试终端102上报的广告信息、测试步骤信息和测试时间等,另外,本地数据库1031还可以保存云数据库1031发送的存储链接(包括屏幕显示内容的存储链接和日志信息的存储链接)。响应于操作终端101发送的信息下载请求,本地数据库1032根据存储链接从云数据库1031获取对应的屏幕显示内容和对应的日志信息,然后向操
作终端101发送广告信息、测试步骤信息、测试时间、屏幕显示内容和日志信息等,使得操作终端101能够根据这些信息生成测试报告。
116.在一种可选的实现方式中,操作终端101为安装有测试客户端的台式计算机,测试终端102为wetest测试平台中的云真机(即部署在云端的移动终端)。响应于用户在测试客户端中的测试操作,操作终端101获取当前可用云真机的数量,然后调用云真机的兼容性测试接口,向当前空闲的云真机(即测试终端102)发送测试操作指令;响应于该测试操作指令,测试终端102在交互式应用的多个广告位入口中随机选择一个作为目标广告位入口,并通过该目标广告位入口进入内容页面,其中,该内容页面包括广告界面,然后,测试终端102根据该目标广告位入口和该广告界面,确定该广告界面在该内容页面的位置信息,接着,测试终端102根据该位置信息在该广告界面中随机确定目标触发位置,并根据该目标触发位置进行触发测试得到测试结果,其中,在进行广告测试的过程中,测试终端102会截取屏幕显示内容以及生成日志信息,并且,在完成广告测试后,测试终端102会向云数据库1031发送该屏幕显示内容和该日志信息,以及向本地数据库1032发送广告信息、测试步骤信息和测试时间等测试结果信息;响应于接收到测试终端102发送的屏幕显示内容和日志信息,云数据库1031会保存该屏幕显示内容和该日志信息,并生成屏幕显示内容的存储链接和日志信息的存储链接,以及向本地数据库1032发送屏幕显示内容的存储链接和日志信息的存储链接;响应于操作终端101发送的信息下载请求,本地数据库1032会根据存储链接从云数据库1031获取对应的屏幕显示内容和对应的日志信息,然后向操作终端101发送广告信息、测试步骤信息、测试时间、屏幕显示内容和日志信息等测试结果信息,使得操作终端101能够根据这些测试结果信息生成测试报告;响应于接收到本地数据库1032发送的测试结果信息,操作终端101会根据这些测试结果信息生成测试报告,当操作终端101生成测试报告后,可以显示该测试报告或者向用户提供该测试报告的下载路径。
117.图3是本技术实施例提供的一种广告测试方法的流程图。在本实施例中,以图1中的测试终端102作为执行主体为例进行说明。参照图3,该广告测试方法包括但不限于步骤110至步骤140。
118.步骤110:响应于测试操作指令,通过交互式应用的目标广告位入口进入内容页面,其中,内容页面包括广告界面。
119.本步骤中,当接收到来自操作终端的测试操作指令,可以响应于该测试操作指令,通过交互式应用的目标广告位入口进入内容页面,以便于后续步骤可以对该内容页面中的广告界面进行随机点击测试或随机触摸测试等操作,实现随机执行广告测试的目的。
120.需要说明的是,交互式应用可以包括多个广告位入口,目标广告位入口为在这多个广告位入口中随机选择的一个。在一具体示例中,对于某个即时通讯应用,具有公众服务平台广告位入口、轻便式应用程序广告位入口、轻便式游戏程序广告位入口和社交程序广告位入口这4类广告位入口,其中,不同类的广告位入口可以对应有不同的广告位数量,例如,社交程序广告位入口对应有1个广告位,轻便式游戏程序广告位入口对应有5个广告位,轻便式应用程序广告位入口对应有8个广告位,公众服务平台广告位入口对应有6个广告位,一个广告位对应有一个用于显示广告信息的广告界面。
121.在一可选的实施方式中,可以通过选取随机数的方式,在交互式应用的多个广告位入口中随机选择的一个广告位入口作为目标广告位入口。具体地,可以先将该交互式应
用的所有广告位入口的数量作为一个数组,并对这些广告位入口进行按号排序,接着在该数组中随机选取一个数字,该数字所对应的广告位入口即为随机选取的目标广告位入口。以一个具体示例进行说明,假设某个即时通讯应用中,具有公众服务平台广告位入口、轻便式应用程序广告位入口、轻便式游戏程序广告位入口和社交程序广告位入口,其中,社交程序广告位入口对应有1个广告位,轻便式游戏程序广告位入口对应有5个广告位,轻便式应用程序广告位入口对应有8个广告位,公众服务平台广告位入口对应有6个广告位,也就是说,该即时通讯应用具有20个广告位,此时,将这些广告位按照从1至20的序号进行排序,然后,使用python语言中的random()函数,在从数字0至数字19的20个数字中随机得到一个数字n,那么,序号为n+1的广告位所对应的广告位入口即为随机选取的目标广告位入口。
122.需要说明的是,对于不同的广告位入口,会有不同的方式进入对应的内容页面。例如,对于社交程序广告位入口,可以通过该即时通讯应用的社交程序选项进入社交程序页面。此时,如果刷新社交程序页面,如图4和图5所示,将可以在社交程序页面中显示用于展示广告信息的广告界面104。又如,对于公众服务平台广告位入口,可以先在该即时通讯应用的主页面中查找到公众服务平台选项,然后点击该公众服务平台选项进入公众服务平台主页面,接着点击该公众服务平台主页面中的具体服务账号,进入具体的资讯信息页面。此时,如图6所示,将可以在该资讯信息页面中显示用于展示广告信息的广告界面104。再如,对于轻便式应用程序广告位入口,可以通过该即时通讯应用的轻便式应用程序选项进入轻便式应用程序主页面,接着点击该轻便式应用程序主页面中的具体应用程序,进入具体的轻便式应用程序内容页面。
123.步骤120:根据目标广告位入口和广告界面,确定广告界面在内容页面的位置信息。
124.本步骤中,由于在步骤110中通过目标广告位入口进入了包括广告界面的内容页面,因此可以根据该目标广告位入口和该广告界面,确定该广告界面在该内容页面的位置信息,以便于后续步骤可以根据该位置信息确定执行点击操作或者触摸操作的具体触发位置。
125.需要说明的是,广告界面具有对应的界面样式,不同广告位入口对应的广告界面会对应有不同的界面样式,不同界面样式的广告界面在内容页面中会具有不同的界面范围和位置信息,因此,在进入到包括广告界面的内容页面之后,可以根据目标广告位入口和广告界面确定该广告界面在内容页面中的具体位置信息。需要说明的是,广告界面在内容页面中的位置信息,是指广告界面的边角在内容页面中的坐标信息。
126.需要说明的是,由于不同广告位入口对应的广告界面会对应有不同的界面样式,而不同界面样式的广告界面在内容页面中会具有不同的界面范围和位置信息,因此,在根据目标广告位入口和广告界面确定广告界面在内容页面的位置信息的过程中,可以有不同的实施方式,本实施例对此并不作具体限定。例如,可以先获取该目标广告位入口所对应的全部候选广告界面的界面样式,然后在这些候选广告界面中找出与该广告界面具有相同界面样式的目标候选广告界面,接着获取预存的与该目标候选广告界面对应的界面范围和位置信息,从而确定该广告界面在内容页面中的位置信息。又如,可以先识别该广告界面的界面样式,然后根据该广告界面的界面样式,在该目标广告位入口所对应的全部候选广告界面的界面样式中,找出与该广告界面的界面样式相同的候选界面样式,接着根据该候选界
面样式获取预存的与该候选界面样式对应的界面范围和位置信息,从而确定该广告界面在内容页面中的位置信息。
127.步骤130:根据位置信息在广告界面中随机确定目标触发位置。
128.本步骤中,由于在步骤120中确定了广告界面在内容页面中的位置信息,因此可以根据该位置信息在该广告界面中随机确定目标触发位置,以便于后续步骤可以根据该目标触发位置进行触发测试以得到测试结果,达到随机执行广告测试的目的。
129.需要说明的是,由于广告界面在内容页面中的位置信息是指广告界面的边角在内容页面中的坐标信息,因此,根据该位置信息可以计算得到广告界面范围内的所有像素点的坐标信息,所以,可以在这些像素点的坐标信息中随机选择一个像素点的坐标信息,从而实现在广告界面中随机确定目标触发位置的目的,此时,被选择的像素点的坐标信息即为该目标触发位置在广告界面中的位置信息。此外,根据位置信息在广告界面中随机确定目标触发位置,还可以有其他的实施方式,例如,可以先根据该位置信息在广告界面中随机选择一个界面区域,然后在该界面区域中随机选择一个像素点的坐标信息,从而实现在广告界面中随机确定目标触发位置的目的。需要说明的是,在该实施方式中,由于是在广告界面的一个界面区域中随机选择像素点,因此可以降低随机选择像素点的计算量,从而能够提高随机选择像素点的计算效率,进而能够提高广告测试的测试效率。
130.步骤140:根据目标触发位置进行触发测试得到测试结果。
131.本步骤中,由于在步骤130中随机确定了目标触发位置,因此可以根据该目标触发位置进行触发测试以得到测试结果,达到随机执行广告测试的目的。
132.需要说明的是,当随机确定了目标触发位置之后,测试终端可以在该目标触发位置产生一个触发信息,模拟用户的点击操作或者触摸操作,进而执行触发测试,达到随机执行广告测试的目的。
133.需要说明的是,根据目标触发位置进行的触发测试,具体可以为不同的测试操作,本实施例对此并不作具体限定。例如,当测试终端产生的触发信息是模拟用户的点击操作,则进行的触发测试是点击测试;又如,当测试终端产生的触发信息是模拟用户的触摸操作,则进行的触发测试是触摸测试。
134.本实施例中,通过采用包括前面步骤110至步骤140的广告测试方法,在接收到测试操作指令之后,先通过交互式应用的目标广告位入口进入内容页面,其中,该内容页面包括广告界面,该交互式应用包括多个广告位入口,目标广告位入口为在这些广告位入口中随机选择的一个,然后根据该目标广告位入口和该广告界面,确定该广告界面在该内容页面的位置信息,接着根据该位置信息在该广告界面中随机确定目标触发位置,并根据该目标触发位置进行触发测试得到测试结果。由于整个广告测试的过程都是响应于测试操作指令而执行的,因此不需要测试人员手动进行测试操作,实现了对广告的自动化测试,能够提高广告测试的测试效率;另外,由于进行触发测试的目标触发位置是在广告界面中的,因此不会对内容页面中除了广告界面之外的其他位置进行触发测试,能够提高广告测试的测试有效性;此外,由于内容页面是根据随机选择的广告位入口而进入的,并且目标触发位置也是随机确定的,即随机自动生成了测试用例,而且该测试用例并不限制于特定页面中,因此能够提高广告测试的随机性,使得广告测试更加有效。
135.参照图7所示,本技术的一个实施例,对步骤120进行进一步的说明,在广告界面包
括广告标识和广告元素的情况下,步骤120可以包括但不限于步骤121至步骤123。
136.步骤121:识别广告界面中的广告标识和广告元素。
137.需要说明的是,广告标识是用于指示当前界面是广告界面的标识信息。广告标识可以是文本信息,也可以是图像信息等,本实施例对此并不作具体限定,例如图4、图5和图6所示,广告界面104中包括有广告标识1041,该广告标识1041为文本信息“广告”。另外,在图4、图5和图6中,广告界面104中还包括有广告元素1042。
138.需要说明的是,广告元素构成了广告界面的界面样式,不同界面样式的广告界面中,广告标识的具体位置可能是不相同的,但是,对于界面样式确定的广告界面,广告标识的具体位置是固定的,并且广告标识与广告界面的边界的距离也是固定的,而且,对于界面样式确定的广告界面,其在内容页面中会具有确定的界面范围,其中,广告界面的界面范围,是指广告界面的边界在内容页面中所围成的区域范围。因此,在本步骤中,在广告界面包括广告标识和广告元素的情况下,可以先识别广告界面中的广告标识和广告元素,以便于后续步骤可以根据广告标识和广告元素确定广告界面在内容页面中的具体位置信息。
139.步骤122:根据广告元素确定广告界面的界面范围。
140.需要说明的是,对于界面样式确定的广告界面,其在内容页面中会具有确定的界面范围,也就是说,对于界面样式确定的广告界面,其在内容页面中的边界的长度是确定的,因此,在识别出了广告界面中的广告元素之后,可以根据该广告元素确定广告界面的界面范围,以便于后续步骤可以根据该界面范围确定广告界面在内容页面的具体位置信息。
141.步骤123:根据广告标识和界面范围确定广告界面在内容页面的位置信息。
142.本步骤中,由于在步骤122中确定了广告界面的界面范围,并且,对于确定的广告界面,广告标识的具体位置、广告标识与广告界面的边界的距离,都是固定的,因此,可以根据该广告标识和该界面范围确定广告界面在内容页面的位置信息,以便于后续步骤可以根据该位置信息确定执行点击操作或者触摸操作的具体触发位置。
143.另外,本技术的一个实施例,对步骤122进行进一步的说明,步骤122可以包括但不限于以下步骤:
144.根据广告元素确定广告界面的界面样式;
145.根据目标广告位入口和广告界面的界面样式确定广告界面的界面范围。
146.需要说明的是,广告界面的界面样式,是指广告元素在广告界面中的布局样式。由于广告元素的不同布局会构成不同界面样式的广告界面,而不同界面样式的广告界面会有不同的界面范围,因此可以先根据广告元素确定广告界面的界面样式,然后再根据广告界面的界面样式确定广告界面的界面范围。但是,根据广告元素确定的广告界面的界面样式,只是体现了各个广告元素之间的位置关系,而在不同广告位入口对应的广告界面中,各个广告元素之间的位置距离可能是不同的,因此,为了能够准确确定广告界面的界面范围,在根据广告元素确定广告界面的界面样式之后,需要根据目标广告位入口和广告界面的界面样式确定广告界面的界面范围。在一可选的实施方式中,在根据广告元素确定广告界面的界面样式之后,可以根据目标广告位入口和广告界面的界面样式,确定广告界面中的各个广告元素之间的位置距离,然后根据各个广告元素之间的位置距离确定广告界面的界面范围。
147.另外,本技术的一个实施例,对步骤123进行进一步的说明,步骤123可以包括但不
限于以下步骤:
148.获取广告标识在内容页面的坐标信息;
149.根据坐标信息和界面范围确定广告界面在内容页面的位置信息。
150.本实施例中,在执行步骤123的过程中,由于广告标识在界面样式确定的广告界面中的具体位置是固定的,并且广告标识与广告界面的边界的距离也是固定的,因此可以先获取广告标识在内容页面中的坐标信息,然后根据该坐标信息和广告界面的界面范围确定广告界面在内容页面的位置信息,以便于后续步骤可以根据广告界面在内容页面的位置信息确定执行点击操作或者触摸操作的具体触发位置。
151.在一可选的实施方式中,可以先对内容页面进行截屏,得到内容页面图像,然后识别内容页面图像中的广告标识,并且获取广告标识在内容页面图像中的坐标信息,接着根据广告标识的坐标信息和广告界面的界面范围,计算广告界面的边角在内容页面中的坐标信息,得到广告界面在内容页面中的位置信息。
152.另外,本技术的一个实施例,对步骤121进行进一步的说明,步骤121可以包括但不限于以下步骤:
153.截取内容页面得到第一图像;
154.在第一图像中识别广告界面的广告标识和广告元素。
155.需要说明的是,内容页面在屏幕可视区域中显示的内容并非是固定的,例如,当对内容页面进行滑动操作时,会改变内容页面在屏幕可视区域中显示的内容,也就是说,当对内容页面进行滑动操作时,广告界面在屏幕可视区域中的位置会发生变化,从而影响识别广告标识和广告元素的准确性。为了能够更加准确地识别广告界面中的广告标识和广告元素,本实施例中,先对内容页面进行截取操作,得到内容页面在屏幕可视区域中的第一图像,然后在该第一图像中识别广告界面的广告标识和广告元素。
156.参照图8所示,本技术的一个实施例,对该广告测试方法进行进一步的说明,在执行步骤120之前,该广告测试方法还可以包括但不限于以下步骤:
157.步骤150:随机获取广告信息;
158.步骤160:根据广告信息在广告界面进行图像渲染处理;
159.步骤170:对广告界面进行广告标识的识别处理,当识别到广告标识,确定广告界面成功显示广告信息。
160.需要说明的是,在响应于测试操作指令而通过目标广告位入口进入到内容页面之后,测试终端需要先从广告服务后台获取广告信息,并通过广告界面显示该广告信息,即通过广告界面提供该广告信息的跳转链接,然后才能执行针对该广告信息的随机测试操作,否则,广告界面只会是一个空白的区域,在这种情况下,即使在广告界面中进行随机点击或者随机触摸,内容页面无法跳转到对应的广告页面,继而无法实现针对广告信息的随机测试操作。
161.另外,为了进一步提高广告测试的随机性,本实施例中,在响应于测试操作指令而通过目标广告位入口进入到内容页面之后,首先从广告服务后台随机获取广告信息,然后根据该广告信息在广告界面进行图像渲染处理,使得广告界面能够通过显示该广告信息而提供该广告信息的跳转链接,以便于后续步骤能够针对该广告信息的随机测试操作。
162.值得注意的是,虽然测试终端在广告界面对该广告信息进行了图像渲染处理,但
是测试终端无法确定该广告信息是否能够在广告界面中正常显示,如果该广告信息未能在广告界面中正常显示,那么广告界面也只会是一个空白的区域,无法实现针对该广告信息的随机测试操作。因此,本实施例中,在根据广告信息在广告界面进行图像渲染处理之后,还会对广告界面进行广告标识的识别处理,当识别到广告标识,即可确定广告界面成功显示了该广告信息,也就是说,广告界面成功提供了该广告信息的跳转链接,所以,在后续步骤中,可以针对该广告信息进行有效的随机测试操作。
163.在一可选的实施方式中,如果没有识别到广告标识,并且交互式应用出现了异常,则测试终端会结束该广告测试,并且截取该交互式应用出现异常的屏幕显示信息以及生成相关的日志信息,然后把该屏幕显示信息和该日志信息上报给服务器,此时,操作终端可以通过服务器下载该屏幕显示信息和该日志信息,并生成对应的测试报告。
164.在另一可选的实施方式中,在交互式应用处于正常状态的情况下,如果没有识别到广告标识,则可以刷新该内容页面,重新获取新的广告信息,执行新的随机广告测试操作。
165.需要说明的是,在对广告界面进行广告标识的识别处理时,可以有不同的实施方式,本实施例对此并不作具体限定。
166.例如,在一可选的实施方式中,可以遍历广告界面中的页面元素,判断广告界面中的页面元素是否包括用于显示广告标识的目标页面元素,实现对广告界面进行广告标识的识别处理。需要说明的是,页面元素是用于显示页面的信息内容的信息承载元素,例如,页面元素可以包括图片元素、文本元素、链接元素等。内容页面中包括有多个页面元素,广告界面中的广告标识、广告图片、广告文本、广告链接等,都会通过页面元素进行渲染呈现。因此,在对广告界面进行广告标识的识别处理时,可以遍历广告界面中的页面元素,判断广告界面中的页面元素是否包括用于显示广告标识的目标页面元素。
167.又如,在另一可选的实施方式中,可以先截取内容页面得到第二图像,然后提取第二图像中的文本信息,接着判断第二图像中的文本信息是否包括广告标识,实现对广告界面进行广告标识的识别处理。需要说明的是,广告界面中的广告标识,一般都是采用文本信息“广告”,也就是说,如果能够识别到广告界面中包括有“广告”字样,即可认为完成了对广告标识的识别处理。因此,在对广告界面进行广告标识的识别处理时,可以先截取内容页面得到第二图像,然后提取第二图像中的文本信息,接着判断第二图像中的文本信息是否包括广告标识。
168.参照图9所示,本技术的一个实施例,对步骤130进行进一步的说明,步骤130可以包括但不限于以下步骤:
169.步骤131:将广告界面划分为第一区域和第二区域;
170.步骤132:根据位置信息计算第一区域的第一区域面积和第二区域的第二区域面积;
171.步骤133:根据第一区域面积和第二区域面积确定第一概率值和第二概率值;
172.步骤134:根据第一概率值和第二概率值在广告界面中随机确定目标触发位置。
173.需要说明的是,第一概率值表征目标触发位置出现在第一区域的概率,第二概率表征目标触发位置出现在第二区域的概率。
174.在相关技术中,当确定了广告界面在内容页面的位置信息之后,一般都会根据该
位置信息直接在广告界面中随机确定目标触发位置,但是,由于整个广告界面包括有较多的像素点,因此根据位置信息直接在广告界面中随机确定目标触发位置,需要涉及较大的数据处理量,这会导致需要较长的数据处理时间,不利于提高广告测试的测试效率。为了解决这个问题,本实施例中,先将广告界面划分为第一区域和第二区域,再根据位置信息计算第一区域的第一区域面积和第二区域的第二区域面积,然后根据第一区域面积和第二区域面积确定第一概率值和第二概率值,接着根据第一概率值和第二概率值在广告界面中随机确定目标触发位置,也就是说,本实施例是在第一区域或第二区域中随机确定目标触发位置,所以,本实施例能够降低数据处理量,从而能够降低数据处理时间,有利于提高广告测试的测试效率。
175.下面以一个具体示例对本实施例进行详细的说明。
176.在一具体示例中,如图10所示,假设广告界面的形状为四边形,并且广告界面包括边角a、边角b、边角c和边角d。在根据位置信息在广告界面中随机确定目标触发位置的过程中,首先,从边角a向边角b连线形成第一线段,如果边角c和边角d分别在该第一线段的两侧,即认为成功将广告界面划分为第一区域和第二区域,也就是说,边角a、边角b和边角c构成了第一区域,边角a、边角b和边角d构成了第二区域;如果边角c和边角d处于该第一线段的同一侧,则认为区域划分不成功,此时,从边角a向边角c连线形成第二线段,并判断是否成功将广告界面划分为第一区域和第二区域,以此类推,直到成功将广告界面划分为第一区域和第二区域。如图10所示,边角a、边角c和边角b构成了第一区域,边角a、边角c和边角d构成了第二区域。然后,根据位置信息计算第一区域的第一区域面积和第二区域的第二区域面积,并根据第一区域面积和第二区域面积确定第一概率值和第二概率值。例如,假设根据位置信息计算得到的第一区域面积为m1,根据位置信息计算得到的第二区域面积为m2,那么可以确定第一概率值为p1,第二概率值为p2,其中,p1/p2=m1/m2,p1+p2=1。接着,根据第一概率值和第二概率值在广告界面中随机确定目标触发位置。例如,可以将第一概率值和第二概率值中数值更大的一个所对应的区域作为目标区域,然后在目标区域中随机确定目标触发位置;或者,可以将第一概率值和第二概率值输入至预训练的随机预测模型得到预测结果,然后根据该预测结果在第一区域和第二区域中确定目标区域,接着在目标区域中随机确定目标触发位置。需要说明的是,随机预测模型可以由相关技术中常用的深度神经网络模型或者随机森林模型等构成,因此,对于随机预测模型的结构,此处不再赘述。
177.参照图11所示,本技术的一个实施例,对步骤134进行进一步的说明,步骤134可以包括但不限于步骤1341至步骤1343。
178.步骤1341:根据第一概率值和第二概率值,选择第一区域和第二区域中的一个作为目标区域。
179.本步骤中,由于在步骤133中得到了第一概率值和第二概率值,因此可以根据第一概率值和第二概率值,选择第一区域和第二区域中的一个作为目标区域。例如,可以将第一概率值和第二概率值中数值更大的一个所对应的区域作为目标区域,或者,可以将第一概率值和第二概率值中数值更小的一个所对应的区域作为目标区域。
180.步骤1342:随机选择候选触发位置,确定候选触发位置与目标区域的关系。
181.本步骤中,由于在步骤1341中确定了目标区域,因此可以先随机选择候选触发位置,然后确定候选触发位置与目标区域的关系,以便于后续步骤能够根据候选触发位置与
目标区域的关系确定目标触发位置。
182.需要说明的是,随机选择的候选触发位置,可以处于目标区域之内,也可以处于目标区域之外,本实施例对此并不作具体限定。
183.需要说明的是,由于目标区域可能为不规则的形状,从而可能会影响针对目标触发位置的计算,因此,在执行步骤1342之前,可以先根据目标区域构建规则形状的目标图形区域,以便于降低针对目标触发位置的计算的影响。
184.步骤1343:根据候选触发位置与目标区域的关系确定目标触发位置。
185.本步骤中,由于在步骤1342中确定了候选触发位置与目标区域的关系,因此可以根据候选触发位置与目标区域的关系确定目标触发位置,以便于后续步骤可以根据该目标触发位置进行触发测试以得到测试结果,达到随机执行广告测试的目的。
186.需要说明的是,由于候选触发位置可以处于目标区域之内,也可以处于目标区域之外,因此,根据候选触发位置与目标区域的关系确定目标触发位置,可以有不同的实施方式。例如,当候选触发位置处于目标区域之内,可以将该候选触发位置确定为目标触发位置;又如,当候选触发位置处于目标区域之外,可以先确定该候选触发位置在目标区域之内的映射位置,然后将该映射位置确定为目标触发位置。
187.下面以一个具体示例对本实施例进行详细的说明。
188.在一具体示例中,如图12所示,假设选择第一区域(即三角形区域abc)作为目标区域,那么在执行步骤1342时,可以先根据第一区域构建目标图形区域(即矩形区域adec),其中,三角形区域abc中的b点在矩形区域adec的边de上,然后在矩形区域adec中随机选取候选触发位置f,接着根据候选触发位置f与三角形区域abc的关系,确定目标触发位置。如图13所示,候选触发位置f处于三角形区域abc中,因此可以将候选触发位置f确定为目标触发位置。如图14所示,候选触发位置f处于三角形区域adb中,即候选触发位置f没有处于三角形区域abc中,此时,可以先确定候选触发位置f相对于边ab的轴对称点f’(即候选触发位置f在三角形区域abc中的映射位置),然后将该轴对称点f’确定为目标触发位置。
189.另外,本技术的一个实施例,对该广告测试方法进行进一步的说明,该广告测试方法还可以包括但不限于以下步骤:
190.在进行触发测试的过程中生成日志信息;
191.向服务器发送测试结果、第一图像和日志信息,使得服务器保存测试结果、第一图像和日志信息。
192.本实施例中,在对广告信息进行触发测试的过程中,可以生成日志信息,并向服务器发送测试结果、第一图像和日志信息,使得服务器能够保存测试结果、第一图像和日志信息,以便于后续可以根据测试结果、第一图像和日志信息进行测试结果分析、优化交互式应用等处理。
193.需要说明的是,在进行触发测试的过程中,还可以每执行一步测试操作,对屏幕显示内容进行一次截图处理。当完成随机广告测试之后,可以将这些截图图像、日志信息和测试结果发送给服务器进行保存。
194.需要说明的是,服务器在保存截图图像、日志信息和测试结果等信息时,可以根据执行时间戳、执行脚本和操作步骤,对这些信息进行命名保存,达到对这些信息进行分类保存的目的,有利于提高后续针对这些信息的检索效率。
195.另外,本技术的一个实施例,对上述步骤向服务器发送测试结果、第一图像和日志信息,使得服务器保存测试结果、第一图像和日志信息进行进一步的说明,在服务器包括第一数据库和第二数据库的情况下,该步骤可以包括但不限于以下步骤:
196.向第一数据库发送第一图像和日志信息,使得第一数据库保存第一图像和日志信息;
197.向第二数据库发送测试结果,使得第二数据库保存测试结果。
198.需要说明的是,第二数据库还保存有来自第一数据库的第一存储链接和第二存储链接,第一存储链接为第一数据库存储第一图像的链接,第二存储链接为第一数据库存储日志信息的链接。
199.需要说明的是,第一数据库可以为云数据库,第二数据库可以为本地数据库。在服务器包括本地数据库和云数据库的情况下,可以将日志信息和测试过程中截图得到的截图图像(如第一图像等)保存至云数据库中,并将云数据库存储截图图像的存储链接(即第一存储链接)、云数据库存储日志信息的存储链接(即第二存储链接)、广告信息、测试步骤信息和测试时间等信息保存至本地数据库中。本实施例中,通过将不同的测试数据分别存储于不同的数据库,能够有效利用区块链的分布式数据存储技术,提高数据存储的效率,满足广告测试过程中产生的大量测试数据的存储需求。
200.另外,本技术的一个实施例,对上述步骤向第二数据库发送测试结果,使得第二数据库保存测试结果进行进一步的说明,该步骤可以包括但不限于以下步骤:
201.向第二数据库发送测试结果,使得第二数据库保存测试结果,以及,使得第二数据库在接收到来自操作终端的信息下载请求的情况下,根据第一存储链接从第一数据库获取第一图像,根据第二存储链接从第一数据库获取日志信息,并向操作终端发送日志信息、第一图像和测试结果。
202.需要说明的是,日志信息、第一图像和测试结果用于供操作终端生成测试报告。
203.在一具体示例中,在向第二数据库发送测试结果使得第二数据库保存该测试结果之后,由于第二数据库还保存有来自第一数据库的第一存储链接和第二存储链接,因此,当第二数据库接收到来自操作终端的信息下载请求时,第二数据库可以先根据第一存储链接和第二存储链接从第一数据库中获取对应的截图图像和日志信息,然后向操作终端发送存储于第二数据库中的广告信息、测试步骤信息、测试时间、截图图像和日志信息等测试结果信息,使得操作终端能够根据这些测试结果信息生成对应测试报告,当操作终端根据这些测试结果信息生成测试报告之后,操作终端可以显示该测试报告或者向用户提供该测试报告的下载路径,以便于用户能够了解广告测试的相关结果以及测试情况,为后续的应用优化或者广告优化提供良好的数据支撑。
204.本实施例中,由于广告信息、测试步骤信息、测试时间、截图图像和日志信息等测试结果信息都是保存在数据库中,因此不需要占用操作终端的存储空间,充分利用了区块链的分布式数据存储的特性,另外,当操作终端需要生成测试报告时,从距离更近的第二数据库(即本地数据库)获取相关的测试结果信息,能够有效降低网络的通信开销、交互延迟和带宽成本,从而能够提高操作终端生成测试报告的效率。
205.另外,本技术的一个实施例,对该广告测试方法进行进一步的说明,在执行步骤140之后,该广告测试方法还可以包括但不限于以下步骤:
206.根据位置信息在广告界面中随机确定新的目标触发位置;
207.根据新的目标触发位置重新进行触发测试得到新的测试结果,直到进行触发测试的次数达到预设阈值。
208.本实施例中,为了实现更加准确有效的随机广告测试,可以预先设置进行随机广告测试的次数上限(即预设阈值),在每一次进行触发测试得到测试结果后,根据广告界面在内容页面的位置信息在广告界面中随机确定新的目标触发位置,然后根据该新的目标触发位置重新进行触发测试得到新的测试结果,直到进行触发测试的次数达到预设阈值。
209.需要说明的是,在进行触发测试的过程中,如果内容页面基于触发测试没有产生相应的响应,则可以重新随机确定新的目标触发位置,并根据该新的目标触发位置重新进行触发测试,直到进行触发测试的次数达到预设阈值,当进行触发测试的次数达到预设阈值时,可以将全部测试结果上报至服务器进行保存。如果内容页面基于触发测试产生了相应的响应,则可以判断内容页面是否成功进行了跳转,如果内容页面没有进行跳转,则可以认为广告信息的跳转出现了异常,此时,可以结束随机广告测试,并把相关的日志信息和截图图像等信息上报至服务器进行保存。如果内容页面成功进行了跳转,则可以进一步判断跳转后的页面是否为对应的广告页面,如果跳转后的页面不是对应的广告页面,则可以认为广告信息的链接出现了异常,此时,可以结束随机广告测试,并把相关的日志信息和截图图像等信息上报至服务器进行保存。如果跳转后的页面是对应的广告页面,则可以返回内容页面,并重新随机确定新的目标触发位置,然后根据该新的目标触发位置重新进行触发测试,直到进行触发测试的次数达到预设阈值,当进行触发测试的次数达到预设阈值时,可以将全部测试结果上报至服务器进行保存。
210.需要说明的是,预设阈值可以根据实际应用情况进行适当的选择,本实施例对此并不作具体限定。
211.为了更加清楚的说明本技术实施例提供的广告测试方法的处理流程,下面以具体的示例进行说明。
212.如图15所示,图15是本技术一个具体示例提供的广告测试方法的流程图。在图15中,该广告测试方法包括步骤210至步骤300。
213.步骤210:响应于来自操作终端的测试操作指令,测试终端在交互式应用的多个广告位入口中随机选择一个作为目标广告位入口,并通过目标广告位入口进入包括广告界面的内容页面。
214.需要说明的是,在测试终端执行步骤210之前,操作终端需要先与测试终端连接,并启动测试终端中的交互式应用。例如,当测试终端为部署安卓系统的移动终端时,操作终端可以通过uiautomator自动化框架启动测试终端,然后使用uiautomator自动化框架中的uidevice类的executeshellcommand函数,通过命令行“am start-n包名/activity名”启动交互式应用。其中,uidevice类是一个用于获取设备信息的类,可以通过该类获得设备的各项信息。executeshellcommand函数是组件对象模型(componet object model,com)对象中的一个函数,该函数可用来执行命令。又如,当测试终端为部署ios系统的移动终端时,操作终端可以通过webdriveragent自动化框架启动测试终端,然后通过交互式应用的bundle id来启动该交互式应用。其中,bundle id是ios系统中的应用的唯一标识。
215.步骤220:测试终端随机获取广告信息,并通过广告界面显示该广告信息。
216.需要说明的是,由于该交互式应用的正常普通账号具有获取广告信息的时间限制和频率限制,当获取广告信息的次数或者使用时间达到上限阈值时,正常普通账号将不能再获取广告信息,从而会影响随机广告测试的有效执行。为了避免这种影响,在启动测试终端中的交互式应用后,可以登录该交互式应用的测试账号,并为该测试账号添加广告白名单,使其没有获取广告信息的时间限制和频率限制,从而能够有效执行随机广告测试。
217.步骤230:判断是否成功获取广告信息,若否,跳转到步骤240;若是,跳转到步骤250。
218.本步骤中,判断是否成功获取广告信息,可以有不同的实施方式,例如,其中的一种实施方式可以是:通过遍历广告界面中的页面元素,判断广告界面中的页面元素是否包括具有文字属性“广告”的目标页面元素。另外,判断是否成功获取广告信息的另一种实施方式可以是:先截取内容页面得到第二图像,然后提取第二图像中的文本信息,接着判断提取出来的文本信息是否包括“广告”字样。需要说明的是,判断是否成功获取广告信息,还可以通过结合上述两种实施方式而实现,例如,可以先执行上述两种实施方式中的其中一种,在执行失败的情况下,再执行这两种实施方式中的另外一种。
219.步骤240:结束随机广告测试。
220.步骤250:确定广告界面在内容页面中的位置信息。
221.本步骤中,可以根据目标广告位入口、广告界面中“广告”字样在内容页面中的坐标信息和广告界面的界面样式,确定广告界面在内容页面中的位置信息。
222.步骤260:设置随机点击测试的上限次数。
223.步骤270:在广告界面中进行随机点击测试,并对屏幕显示内容进行截图处理得到截图图像。
224.步骤280:判断内容页面是否基于随机点击测试产生了相应的反应,若否,跳转到步骤270;若是,进一步判断内容页面是否执行页面跳转,若执行页面跳转,跳转到步骤290;若不执行页面跳转,则跳转到步骤300。
225.步骤290:判断内容页面是否跳转为对应的广告页面,若是,则返回内容页面,并跳转到步骤270;若否,跳转到步骤300。
226.步骤300:结束随机广告测试,并把相关的日志信息和截图图像上传至服务器进行保存。
227.参照图16,本技术实施例还公开了一种广告测试装置,该广告测试装置400能够作为如图1所示实施例中的测试终端102以实现如前面实施例所述的广告测试方法,该广告测试装置400包括:
228.交互模块410,用于响应于测试操作指令,通过交互式应用的目标广告位入口进入内容页面,其中,内容页面包括广告界面;交互式应用包括多个广告位入口,目标广告位入口为在多个广告位入口中随机选择的一个;
229.第一确定模块420,用于根据目标广告位入口和广告界面,确定广告界面在内容页面的位置信息;
230.第二确定模块430,用于根据位置信息在广告界面中随机确定目标触发位置;
231.第一测试模块440,用于根据目标触发位置进行触发测试得到测试结果。
232.在一实施例中,在广告界面包括广告标识和广告元素的情况下,第一确定模块420
包括:
233.识别模块,用于识别广告界面中的广告标识和广告元素;
234.范围确定模块,用于根据广告元素确定广告界面的界面范围;
235.位置信息确定模块,用于根据广告标识和界面范围确定广告界面在内容页面的位置信息;
236.其中,广告元素为广告界面中用于显示广告信息的信息承载元素。
237.在一实施例中,范围确定模块包括:
238.样式确定模块,用于根据广告元素确定广告界面的界面样式;
239.范围确定子模块,用于根据目标广告位入口和广告界面的界面样式确定广告界面的界面范围。
240.在一实施例中,位置信息确定模块包括:
241.坐标获取模块,用于获取广告标识在内容页面的坐标信息;
242.位置信息确定子模块,用于根据坐标信息和界面范围确定广告界面在内容页面的位置信息。
243.在一实施例中,识别模块包括:
244.图像截取模块,用于截取内容页面得到第一图像;
245.识别子模块,用于在第一图像中识别广告界面的广告标识和广告元素。
246.在一实施例中,广告测试装置400还包括:
247.信息获取模块,用于随机获取广告信息;
248.渲染处理模块,用于根据广告信息在广告界面进行图像渲染处理;
249.识别处理模块,用于对广告界面进行广告标识的识别处理,当识别到广告标识,确定广告界面成功显示广告信息。
250.在一实施例中,识别处理模块包括:
251.元素判断模块,用于遍历广告界面中的页面元素,判断页面元素是否包括目标页面元素,其中,目标页面元素用于显示广告标识;
252.或者,
253.文本判断模块,用于截取内容页面得到第二图像,提取第二图像中的文本信息,判断文本信息是否包括广告标识。
254.在一实施例中,第二确定模块430包括:
255.区域划分模块,用于将广告界面划分为第一区域和第二区域;
256.面积计算模块,用于根据位置信息计算第一区域的第一区域面积和第二区域的第二区域面积;
257.概率确定模块,用于根据第一区域面积和第二区域面积确定第一概率值和第二概率值,其中,第一概率值表征目标触发位置出现在第一区域的概率,第二概率表征目标触发位置出现在第二区域的概率;
258.位置确定模块,用于根据第一概率值和第二概率值在广告界面中随机确定目标触发位置。
259.在一实施例中,位置确定模块包括:
260.目标区域选择模块,用于根据第一概率值和第二概率值,选择第一区域和第二区
域中的一个作为目标区域;
261.关系确定模块,用于随机选择候选触发位置,确定候选触发位置与目标区域的关系;
262.位置确定子模块,用于根据候选触发位置与目标区域的关系确定目标触发位置。
263.在一实施例中,位置确定子模块包括:
264.第一位置确定子模块,用于当候选触发位置处于目标区域之内,将候选触发位置确定为目标触发位置;
265.或者,
266.第二位置确定子模块,用于当候选触发位置处于目标区域之外,确定候选触发位置在目标区域之内的映射位置,将映射位置确定为目标触发位置。
267.在一实施例中,广告测试装置400还包括:
268.日志生成模块,用于在进行触发测试的过程中生成日志信息;
269.信息发送模块,用于向服务器发送测试结果、第一图像和日志信息,使得服务器保存测试结果、第一图像和日志信息。
270.在一实施例中,信息发送模块包括:
271.第一发送模块,用于向第一数据库发送第一图像和日志信息,使得第一数据库保存第一图像和日志信息;
272.第二发送模块,用于向第二数据库发送测试结果,使得第二数据库保存测试结果;
273.其中,第二数据库还保存有来自第一数据库的第一存储链接和第二存储链接,第一存储链接为第一数据库存储第一图像的链接,第二存储链接为第一数据库存储日志信息的链接。
274.在一实施例中,第二发送模块包括:
275.发送子模块,用于向第二数据库发送测试结果,使得第二数据库保存测试结果,以及,使得第二数据库在接收到来自操作终端的信息下载请求的情况下,根据第一存储链接从第一数据库获取第一图像,根据第二存储链接从第一数据库获取日志信息,并向操作终端发送日志信息、第一图像和测试结果,其中,所述日志信息、所述第一图像和所述测试结果用于供所述操作终端生成测试报告。
276.在一实施例中,广告测试装置400还包括:
277.第三确定模块,用于根据位置信息在广告界面中随机确定新的目标触发位置;
278.第二测试模块,用于根据新的目标触发位置重新进行触发测试得到新的测试结果,直到进行触发测试的次数达到预设阈值。
279.需要说明的是,由于本实施例的广告测试装置400能够实现如前面实施例中以测试终端作为执行主体的广告测试方法,因此本实施例的广告测试装置400与前面实施例中以测试终端作为执行主体的广告测试方法,具有相同的技术原理以及相同的有益效果,为了避免内容重复,此处不再赘述。
280.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
281.参照图17,本技术实施例还公开了一种广告测试装置,该广告测试装置500包括:
282.至少一个处理器501;
283.至少一个存储器502,用于存储至少一个程序;
284.当至少一个所述程序被至少一个所述处理器501执行时,实现如前面任意实施例所述的广告测试方法。
285.本技术实施例还公开了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序被处理器执行时,用于实现如前面任意实施例所述的广告测试方法。
286.本技术实施例还公开了一种计算机程序产品,包括计算机程序或计算机指令,该计算机程序或计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序或计算机指令,处理器执行该计算机程序或计算机指令,使得该计算机设备执行前面任意实施例所述的广告测试方法。
287.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其他步骤或单元。
288.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
289.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
290.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
291.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
292.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机、服务器或者网络装置等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
293.对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1