一种实现多台手机自动化共同测试AndroidApp的方法与流程

文档序号:18600827发布日期:2019-09-03 22:38阅读:1583来源:国知局
一种实现多台手机自动化共同测试Android App的方法与流程

本发明属于androidapp自动化测试工具技术领域,具体地讲,是涉及一种实现多台手机自动化共同测试androidapp的方法。



背景技术:

android手机厂商可以自由定制自己的系统,导致现在android碎片化严重,在开发android应用时,需要在大量手机上做兼容性测试。这类测试一般都是手工进行,效率非常低,不仅费时费力,而且也很容易出错。通过引入自动化测试代替大量的手工机械重复性操作,把时间花在更全面的用例设计和新功能的测试上,代替人工无法完成的关键业务7x24小时持续运行的系统稳定性测试和高并发场景的压力测试等,同时可以避免人为遗漏和疏忽。目前市面上的自动化测试化工具,需要技术人员根据测试手机机型先编写一段代码,然后去测试另一段代码,所以实现自动化测试用例本身属于开发工作,需要投入大量时间和精力,并且已经开发完成的用例还必须随着被测对象的改变而不断更新,编写跟维护成本都很高。因此如何实现可视化管理和无需编写测试代码进行多机测试是本领域技术人员亟需解决的问题。



技术实现要素:

本发明的目的在于提供一种实现多台手机自动化共同测试androidapp的方法,主要解决现有技术中存在的现有自动化测试中需要根据不同机型不断更新测试代码的问题。

为了实现上述目的,本发明采用的技术方案如下:

一种实现多台手机自动化共同测试androidapp的方法,包括如下步骤:

(s1)开始时,将待测android手机与pc端实现连接并实现pc端同步手机屏幕;

(s2)在pc端新建一个测试项,根据新建的测试项选择对应待测app;

(s3)在pc端重新签名并安装相应的app;

(s4)在pc端启动测试应用app,并同步到手机屏幕;

(s5)待测手机app在应用开始时录制脚本;

(s6)将待测的其他android手机接入pc端,并重复步骤(s4)与步骤(s5);

(s7)在pc端回放所有待测手机的测试情况,测试完成后生成测试报告。

进一步地,所述步骤(s5)中录制脚本的步骤如下:

(s51)ide启动,拉起androidproxy服务;

(s52)在pc端监听手机连接事件;

(s53)当手机连接成功,检查android端proxy是否安装,未安装执行下一步,安装后直接执行步骤(s57);

(s54)提示用户选择相应的app;

(s55)重新签名app并进行安装;

(s56)生成测试proxy并安装;

(s57)拉起相应的app进行测试;

(s58)监听pc端用户操作步骤并进行记录;

(s59)将产生的事件发生到android端的proxy;

(s510)android端的proxy根据pc端传来的事件执行相应的操作。

进一步地,所述步骤(s7)中在pc端回放所有待测手机的测试情况的具体步骤如下:

(s71)ide启动,拉起androidproxy服务;

(s72)在pc端监听手机连接事件;

(s73)当手机连接成功,检查android端proxy是否安装,未安装执行下一步,安装后直接执行步骤(s77);

(s74)提示用户选择相应的app;

(s75)重新签名app并进行安装;

(s76)生成测试proxy并安装;

(s77)拉起相应的app进行测试;

(s78)根据录制时记录的用户操作步骤产生消息发生给androidproxy端;

(s79)android端的proxy根据pc端传来的事件执行相应的操作;

(s710)android反馈执行结果给pc端proxy,并记录执行情况;

(s711)所有步骤执行完成,生成测试报告。

进一步地,所述步骤(s7)中生成的测试报告在pc端通过网页自动打开显示。

具体地,所述步骤(s7)中生成的测试报告内容包括测试的基本信息、测试结果总览、测试用例中测试流启动的顺序显示。

与现有技术相比,本发明具有以下有益效果:

(1)本发明可以同时对不同机型进行androidapp自动化测试,自动化测试能力强,且能在pc端的界面进行编辑,并且测试完成后会自动生成测试报告,测试报告信息完整,可以清晰的查看测试手机的基本信息、所有手机的测试顺序及测试结果,重点是在进行不同机型测试时,无需再根据不同机型编写测试代码,可操作性强。

(2)本发明能够实现将测试脚本与测试对象的分离的自动化测试方法,支持支持脚本录制、android应用截屏、录屏、支持脚本的回放功能,支持生成自动化测试报告,每个脚本对应一个测试对象库,支持脚本模块属性的编辑管理、支持测试流属性界面化的操作,支持创建多用例、多模块界面化操作设计,做到一次录制、多机执行、并最终生成测试报告。

附图说明

图1为本发明的系统流程图。

图2为本发明录制脚本的流程图。

图3为本发明pc端回放所有待测手机测试情况的流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。

实施例

如图1至图3所示,一种实现多台手机自动化共同测试androidapp的方法,包括如下步骤:(s1)开始时,将待测android手机与pc端实现连接并实现pc端同步手机屏幕;(s2)在pc端新建一个测试项,根据新建的测试项选择对应待测app;(s3)在pc端重新签名并安装相应的app;(s4)在pc端启动测试应用app,并同步到手机屏幕;(s5)待测手机app在应用开始时录制脚本;(s6)将待测的其他android手机接入pc端,并重复步骤(s4)与步骤(s5);(s7)在pc端回放所有待测手机的测试情况,测试完成后生成测试报告。

采用关键字驱动的理念以简化测试用例的创建和维护。自动录制机制能够将测试人员的每一个操作步骤及被操作的对象记录下来,自动生成测试脚本语句和脚本代码。与其他自动测试工具录制脚本有所不同的是,除了以python脚本语言的方式生成脚本语句以外,还将被操作的对象及相应的动作按照层次和顺序保存在一个基于表格、关键字于测试模块视图中。录制过程中允许测试人员自己添加步骤、监测点和删除不需要的步骤,并提供检查点验证功能。非专业测试者也可以通过本软件提供的录制功能录制脚本,无需技术员编写代码,然则可以零门槛使用本软件。

用例回放功能,将存测试模块放入添加到测试流里,通过模块的组合形成一个完整的测试流进行自动化测试。回放原理主要从这个对象库中查找相应对象,大部分情况下,通过对象的一些特定属性值就可以识别对象(id、name、position),采用三种属性过滤方案解决那些频繁移动对象的识别问题。识别完成后在云主机上面还原操作,采用发送鼠标事件、键盘事件、ie接口、javascript等多种方案还原人工动作。其具体步骤如下:(s71)ide启动,拉起androidproxy服务;(s72)在pc端监听手机连接事件;(s73)当手机连接成功,检查android端proxy是否安装,未安装执行下一步,安装后直接执行步骤(s77);(s74)提示用户选择相应的app;(s75)重新签名app并进行安装;(s76)生成测试proxy并安装;(s77)拉起相应的app进行测试;(s78)根据录制时记录的用户操作步骤产生消息发生给androidproxy端;(s79)android端的proxy根据pc端传来的事件执行相应的操作;(s710)android反馈执行结果给pc端proxy,并记录执行情况;(s711)所有步骤执行完成,生成测试报告。

对于测试数据加载,使用json是一种轻量级的数据交换格式进行数据传输,采用多线程方式获取,界面采用异步加载。当线程获取数据完毕自动销毁,完全不占用系统资源。

用户可以在一台手机上创建的功能和录制的模块,在其他手机上面也能同步使用。用户还可以根据需求,通过移动测试流或者测试模块的顺序解决流回放的顺序。关于脚本的录制功能,根据人工操作生成自动测试化脚本代码,智能识别描述性属性并存储关键的信息。在录制产生app自动化测试脚本时,需要在pc端同步手机屏幕,方便用户在pc端进行操作,以便将测试操作步骤记录下来,并能够根据需要对操作步骤进行参数化配置。脚本回放时,需要支持不同android版本,不同屏幕分辨率的手机,以便实现一次录制,多机回放。

对于多用例和多模块管理问题,使用树控件界面化管理方式,测试人员可以创建多个文件夹,来分类化管理用例和模块。树控件节点上移、下移和重命名等操作。

当自动测试完成后,会自动生成测试报告,并通过网页自动打开测试报告,报告内容包括测试的基本信息、测试结果总览、测试用例中测试流启动顺序的显示,能够显示测试用例的整体通过率,测试人员还可以通过点击测试流打开查看详情,提供了测试流的操作步骤、参数对象和运行结果的显示,跟可以通过点击日志,能够直接观看日志信息。

上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有1条留言
  • 访客 来自[中国] 2022年05月19日 13:20
    我用过一款软件,叫Total Control。可以控制几十台到一百台同时进行测试
    0
1