一种电视应用的自动化测试方法及系统技术方案

技术编号:16156415 阅读:45 留言:0更新日期:2017-09-06 20:47
本发明专利技术公开了一种电视应用的自动化测试方法及系统,对电视机进行APK包安装后,根据不同应用服务或业务场景搭建正常或异常的测试环境;根据搭建的测试环境,设置电视机集群的测试场景,在该测试场景上运行所述Python自动化测试脚本,并根据所述Python自动化测试脚本模拟电视机按键操作,实现电视端的自动化操作,在电视端的自动化操作过程中,采用Python日志服务程序保存电视端应用服务的测试数据,然后编写Python测试验证脚本,解析当前的日志或数据,并与预期结果分析比较,最终返回测试结果。本发明专利技术大大提高了测试效率,降低了人工成本,保障了测试正确率,降低了误差率,采用异常测试环境模拟,大大提高了测试覆盖率;实现了电视机集群的自动化测试。

【技术实现步骤摘要】
一种电视应用的自动化测试方法及系统
本专利技术涉及计算机测试
,特别是一种电视应用的自动化测试方法及系统。
技术介绍
随着科技发展,智能电视的概念从诞生之日起,便以星火燎原的态势迅速发展。当前,智能电视产业发展十分迅速,规模持续扩大,新兴技术不断涌现,应用服务日益丰富,生态体系加速构建,融合态势愈发显著。随着智能电视的应用服务不断的更新发布,在带给用户最佳体验的前提下,应用服务在上线发布前,都需要进行大量的测试。但当前的电视应用的测试,大部分公司依旧采用手工测试,很少涉及到自动化测试。现有的电视应用测试方法具有以下不足:(1)手工测试的验证时间过长不能满足快速上线需求,同时大量的重复工作导致测试人员的加班时间长。(2)单次测试仅针对优化功能点,导致单次测试覆盖率低。(3)手工测试同时存在误差率较高的情况。(4)模拟电视机的操作行为是当前电视应用自动化测试的一大难点。(5)电视应用的自动化测试无法模拟异常场景。(6)电视应用在操作过程中的数据反馈的验证问题一直未得到妥善解决。因此,为了解决上述问题,需要一种适合电视应用的自动化测试方法及系统。
技术实现思路
本专利技术旨在提供一种电视应用的自动化测试方法及系统,减少测试时间,提高测试效率;大大节约人力,无需重复工作;保障测试正确率,降低误差率;提高测试覆盖率。为解决上述技术问题,本专利技术所采用的技术方案是:一种电视应用的自动化测试方法,包括以下步骤:1)在同一个局域网内,通过自动化测试终端上传电视应用APK安装包至处于同一个局域网内的多个独立的电视机,即电视机集群,并下发安装指令给所述电视机集群,自动化测试终端对待测试的电视机进行APK包安装;2)根据不同应用服务或业务场景搭建正常或异常的测试环境,同时将所述测试环境配置下发至完成APK包安装的电视机集群,从而使得待测试的电视机一一对应彼此独立的测试环境;同时编写Python自动化测试脚本,并动态等待页面响应,自动操作电视机,然后通过自动化测试终端,下发测试指令给电视机集群,针对待测电视机及其应用服务进行测试;3)根据步骤2)中搭建的测试环境,设置电视机集群的测试场景,在该测试场景上运行所述Python自动化测试脚本,并根据所述Python自动化测试脚本模拟电视机按键操作,实现电视端的自动化操作,在电视端的自动化操作过程中,采用Python日志服务程序保存电视端应用服务的测试数据,然后编写Python测试验证脚本,解析当前的日志或数据,并与预期结果分析比较,最终返回测试结果。步骤2)中,针对不同应用服务或业务搭建测试环境时,采用Python服务程序构建的测试环境,不但解决了电视应用无法模拟异常测试环境的问题,而且明确开发与测试的职责界限,此后,测试环境不需要开发人员干预或提供,保证测试流程的独立性,测试结果的可靠性。其后续将所述测试环境配置下发至电视机集群的具体实现过程包括:1)针对不同的应用服务或业务场景,截获其线上环境的请求,根据测试需求返回不同的请求结果,从而模拟各种测试场景;针对搭建测试环境服务,采用Django框架,编写Python服务程序(Python服务程序即用Python语言实现截获线上环境的请求,并返回不同的请求结果的整个流程);启动Python服务程序,外部通过端口访问Python服务程序,对外提供服务;2)搭建nginx服务器,配置nginx文件,提供对外服务时将端口访问转为设置域名host;3)自动化测试终端下发ADB命令至待测电视机,该命令为配置相应的host,或取消相应的host,即为待测电视机设置相应的测试环境,或取消测试环境。步骤2)中,采用Appium自动化测试框架,基于所述Appium自动化测试框架编写Python自动化测试脚本。基于该测试框架编写的Python自动化测试脚本通过实现模拟电视机的遥控器按键操作,完美解决了自动化操作电视机的问题,从而能够实现电视机应用的自动化测试。本专利技术中,Python自动化测试脚本的具体编写过程包括:设置Appium的基本参数;编写测试函数,所述测试函数内部包括模拟键盘发送内容和验证电视响应反馈的页面元素是否正确,测试函数内部采用python的异常处理机制来处理程序中的异常情况,当存在异常的情况下,进入程序报错退出流程,否则,进入正常的后续处理流程(例如,比如搜索“快乐大本营”,然后播放快乐大本营的某一个节目,正常的后续处理流程,就是指搜索成功后的播放流程)。该Python自动化测试脚本采用异常机制巧妙解决了测试中面临的人工不能已知并干预的问题。测试脚本的稳定性明显降低测试过程中的误差率;脚本反复多次运行,大大提高了测试效率;针对单次测试,测试脚本的回归功能覆盖(非单个功能点),大大提高了覆盖率。Python日志服务程序的具体编写过程为:截获日志请求接口;将全部的日志请求接口返回的数据采用文件的形式存入日志服务器。Python测试验证脚本的的具体编写过程为:解析日志服务器中众多不同的日志数据;一一比较分析并验证以上数据的正确性。本专利技术采用Python日志服务程序摒弃了传统采用软件抓包方式,不但彻底解决了软件抓包中的丢包问题,而且其在电视应用的解决数据反馈验证的问题的方案,为后续测试技术在其他服务端的扩展打开了新的思路。相应地,本专利技术还提供了一种电视应用的自动化测试系统,包括:APK安装模块:用于在同一个局域网内,通过自动化测试终端上传电视应用APK安装包至处于同一个局域网内的多个独立的电视机,即电视机集群,并下发安装指令给所述电视机集群,自动化测试终端对待测试的电视机进行APK包安装;测试环境搭建模块:用于根据不同应用服务或业务场景搭建正常或异常的测试环境,同时将所述测试环境配置下发至完成APK包安装的电视机集群,从而使得待测试的电视机一一对应彼此独立的测试环境;自动化测试模块:用于编写Python自动化测试脚本,并动态等待页面响应,自动操作电视机,然后通过自动化测试终端,下发测试指令给电视机集群,针对待测电视机及其应用服务进行测试;测试结果分析模块:用于根据搭建的测试环境,设置电视机集群的测试场景,在该测试场景上运行所述Python自动化测试脚本,并根据所述Python自动化测试脚本模拟电视机按键操作,实现电视端的自动化操作,在电视端的自动化操作过程中,采用Python日志服务程序保存电视端应用服务的测试数据,然后编写Python测试验证脚本,解析当前的日志或数据,并与预期结果分析比较,最终返回测试结果。与现有技术相比,本专利技术所具有的有益效果为:本专利技术解决了电视机的自动化测试关键问题,针对电视机遥控器的操作行为采用了按键模拟操作的方式实现电视机的自动化;通过对电视应用的自动化测试,大大提高测试效率,降低人工成本,保障测试正确率,降低误差率,采用异常测试环境模拟,大大提高了测试覆盖率;实现了电视机集群的自动化测试。附图说明图1为本专利技术电视应用的测试框架;图2为本专利技术电视应用的测试流程。具体实施方式本专利技术具体实现过程如下:步骤1:在同一个局域网内,通过自动化测试终端上传电视应用APK安装包至处于同一个局域网内的众多独立的搭载安卓操作系统(Android)的电视机(简称电视机集群),并下发安装指令给电视机集群,自动化测试终端对待测试的本文档来自技高网...
一种电视应用的自动化测试方法及系统

【技术保护点】
一种电视应用的自动化测试方法,其特征在于,包括以下步骤:1)在同一个局域网内,通过自动化测试终端上传电视应用APK安装包至处于同一个局域网内的多个独立的电视机,即电视机集群,并下发安装指令给所述电视机集群,自动化测试终端对待测试的电视机进行APK包安装;2)根据不同应用服务或业务场景搭建正常或异常的测试环境,同时将所述测试环境配置下发至完成APK包安装的电视机集群,从而使得待测试的电视机一一对应彼此独立的测试环境;同时编写Python自动化测试脚本,并动态等待页面响应,自动操作电视机,然后通过自动化测试终端,下发测试指令给电视机集群,针对待测电视机及其应用服务进行测试;3)根据步骤2)中搭建的测试环境,设置电视机集群的测试场景,在该测试场景上运行所述Python自动化测试脚本,并根据所述Python自动化测试脚本模拟电视机按键操作,实现电视端的自动化操作,在电视端的自动化操作过程中,采用Python日志服务程序保存电视端应用服务的测试数据,然后编写Python测试验证脚本,解析当前的日志或数据,并与预期结果分析比较,最终返回测试结果。

【技术特征摘要】
1.一种电视应用的自动化测试方法,其特征在于,包括以下步骤:1)在同一个局域网内,通过自动化测试终端上传电视应用APK安装包至处于同一个局域网内的多个独立的电视机,即电视机集群,并下发安装指令给所述电视机集群,自动化测试终端对待测试的电视机进行APK包安装;2)根据不同应用服务或业务场景搭建正常或异常的测试环境,同时将所述测试环境配置下发至完成APK包安装的电视机集群,从而使得待测试的电视机一一对应彼此独立的测试环境;同时编写Python自动化测试脚本,并动态等待页面响应,自动操作电视机,然后通过自动化测试终端,下发测试指令给电视机集群,针对待测电视机及其应用服务进行测试;3)根据步骤2)中搭建的测试环境,设置电视机集群的测试场景,在该测试场景上运行所述Python自动化测试脚本,并根据所述Python自动化测试脚本模拟电视机按键操作,实现电视端的自动化操作,在电视端的自动化操作过程中,采用Python日志服务程序保存电视端应用服务的测试数据,然后编写Python测试验证脚本,解析当前的日志或数据,并与预期结果分析比较,最终返回测试结果。2.根据权利要求1所述的电视应用的自动化测试方法,其特征在于,步骤2)中,将所述测试环境配置下发至电视机集群的具体实现过程包括:1)针对不同的应用服务或业务场景,截获其线上环境的请求,根据测试需求返回不同的请求结果,从而模拟各种测试场景;针对搭建测试环境服务,采用Django框架,编写Python服务程序;启动Python服务程序,外部通过端口访问Python服务程序,对外提供服务;2)搭建nginx服务器,配置nginx文件,提供对外服务时将端口访问转为设置域名host;3)自动化测试终端下发ADB命令至待测电视机,该命令为配置相应的host,或取消相应的host,即为待测电视机设置相应的测试环境,或取消测试环境。3.根据权利要求1所述的电视应用的自动化测试方法,其特征在于,步骤2)中,采用Appium自动化测试框架,基于所述Appium自动化测试框架编写Python自动化测试脚本...

【专利技术属性】
技术研发人员:殷伟雄田甜孟韬
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1