一种基于Appium的自动化测试方法和系统技术方案

技术编号:35681719 阅读:19 留言:0更新日期:2022-11-23 14:24
本发明专利技术公开了一种基于Appium的自动化测试方法和系统,属于软件测试技术领域,所述方法包括数据管控的方法:获得自动化测试数据的数据表,所述数据表包括以下任一数据或它们的组合:配置参数、公共数据或UI对象;通过API接口从数据表中获取测试所需要的管控数据;基于管控数据,启动客户端服务或生成测试指令。通过调用API接口获得管控数据;通过数据表对自动化测试数据进行管控和维护,避免对脚本进行维护,降低维护成本和难度。降低维护成本和难度。降低维护成本和难度。

【技术实现步骤摘要】
一种基于Appium的自动化测试方法和系统


[0001]本专利技术涉及软件测试
,具体涉及一种基于Appium的自动化测试方法和系统。

技术介绍

[0002]软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。Appium是一款开源的自动化测试工具,其支持iOS和安卓平台上的原生的、基于移动浏览器的混合应用的测试。
[0003]目前业界使用Appium与其他测试工具结合使用非常普遍,也有很多通过对Appium方法进行进一步封装,形成具有自己特色的自动化测试框架。
[0004]在app自动化测试中,目前对于数据基本上都是在脚本中维护,如测试端参数、共用数据和UI数据等。但是这种数据管控方式会导致后期为成本很高,例如修改其中一项数据时,需要在脚本中指出该数据并进行替换。但是在,由于测试端、元素发生变化等现象时常发生,如果修改脚本,脚本维护成本很高、对于脚本维护人员的水平要求也有一定要求、而且修改脚本易发生脚本错误,甚至导致测试平台崩溃。

技术实现思路

[0005]针对现有技术中存在的上述技术问题,本专利技术提供一种基于Appium的自动化测试方法和系统,在测试过程中,通过数据表对自动化测试数据进行管控和维护,避免对脚本进行维护,降低维护成本和难度。
[0006]本专利技术公开了一种基于Appium的自动化测试方法,所述方法包括数据管控的方法:获得自动化测试数据的数据表,所述数据表包括以下任一数据或它们的组合:配置参数、公共数据或UI对象;通过API接口从数据表中获取测试所需要的管控数据;基于管控数据,启动客户端服务或生成测试指令。
[0007]优选的,所述数据表的键值包括分类、属性名、属性值/路径、以及属性说明。
[0008]优选的,所述客户端启动测试端服务器,或者向测试端服务器发送测试指令,所述测试端服务器用于启动待测试软件或根据测试指令执行测试操作。
[0009]优选的,通过API接口从数据表中获取所需要的管控数据的方法包括:
[0010]调用所述API接口,进行数据查询;
[0011]所述API接口调用数据表查询语句,获得返回的管控数据;
[0012]所述API接口对管控数据进行检测,并判断是否通过检测;
[0013]若是,返回管控数据;
[0014]若否,保存检测结果。
[0015]优选的,所述检测包括:数据可见和/或查询没有超时。
[0016]优选的,所述配置参数包括以下任一数据或它们的组合:
[0017]Appium服务器地址、Appium服务器端口、Bootstrap端口、chromedriver端口及其路径、测试平台、物理设备标识、系统版本、测试端名称、不重新签名、是否重新安装应用、使用Unicode输入法和使用默认输入法;
[0018]所述公共数据包括以下任一数据或它们的组合:
[0019]node.exe路径、main.js路径、app路径、AppPackage、要启动的Activity、测试账户名、密码、验证码、以及错误截图路径;
[0020]所述UI对象库包括以下任一数据或它们的组合:
[0021]登录用户名文本框、登录密码文本框、登录验证码文本框、跳过按钮、系统首页、首页菜单、首页帐户注销、首页我的、以及首页网点巡店。
[0022]优选的,自动化测试方法包括:
[0023]通过API接口从数据表中获得所需要的管控数据,所述管控数据包括配置参数、公共数据和UI对象;
[0024]基于所述配置参数和公共数据,启动客户端服务;
[0025]所述客户端服务根据配置参数和公共数据,在测试端启动基于Web的测试端服务器;
[0026]所述测试端服务器根据app路径及其名称,在测试端安装待测试的软件后、启动所述软件;
[0027]基于Web通过客户端服务向测试端服务器发送测试指令,所述测试指令包括操控命令和待操控的UI对象;
[0028]所述测试端服务器根据测试指令操控测试端,并保存操控失败的测试结果。
[0029]本专利技术还提供一种用于实现上述自动化测试方法的系统,包括数据表查询模块和业务测试模块,所述数据表查询模块用于通过API接口从数据表中获得测试所需要的管控数据;所述业务测试模块用于基于管控数据,启动客户端服务或生成测试指令。
[0030]优选的,本专利技术的系统还包括测试端,
[0031]所述客户端服务通过Web在所述测试端启动测试端服务器、向测试端服务器发送测试指令、并接收测试结果。
[0032]优选的,所述数据表查询模块包括查询子模块、检测子模块,
[0033]所述查询子模块用于从数据表中获得测试所需要的管控数据;
[0034]所述检测子模块用于对所述管控数据进行检测,若通过检测返回管控数据;若不通过保存检测结果。
[0035]与现有技术相比,本专利技术的有益效果为:通过调用API接口获得管控数据;通过数据表对自动化测试数据进行管控和维护,避免对脚本进行维护,降低维护成本和难度。
附图说明
[0036]图1是本专利技术的基于Appium的自动化测试方法流程图;
[0037]图2是本专利技术的系统逻辑框图。
具体实施方式
[0038]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例
中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0039]下面结合附图对本专利技术做进一步的详细描述:
[0040]一种基于Appium的自动化测试方法,如图1所示,所述方法包括数据管控的方法:
[0041]步骤101:获得自动化测试数据的数据表,所述数据表包括以下任一数据或它们的组合:配置参数、公共数据或UI对象库。所述数据表的键值包括分类、属性名、属性值/路径、以及属性说明。其中数据表可以是Excel表,也可以是数据库的数据表。
[0042]步骤102:通过API接口从数据表中获取测试所需要的管控数据。例如业务脚本中调用API接口,从而获得管控数据。
[0043]步骤103:基于管控数据,启动客户端服务或生成测试指令。
[0044]其中,所述客户端用于启动测试端服务器,或者向测试端服务器发送测试指令,所述测试端服务器用于安装/启动待测试软件、根据测试指令执行测试操作、并返回测试结果。
[0045]通过调用API接口获得管控数据;通过数据表对自动化测试数据进行管控和维护,避免对脚本进行维护,降低维护成本和难度,例如修改测试端参数时,修改数据表中相应的数据即可。
[0046]步骤102中,通过API接口从数据表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Appium的自动化测试方法,其特征在于,所述方法包括数据管控的方法:获得自动化测试数据的数据表,所述数据表包括以下任一数据或它们的组合:配置参数、公共数据或UI对象;通过API接口从数据表中获取测试所需要的管控数据;基于所述管控数据,启动客户端服务或生成测试指令。2.根据权利要求1所述的自动测试方法,其特征在于,所述客户端启动测试端服务器,或者向测试端服务器发送测试指令,所述测试端服务器用于启动待测试软件或根据测试指令执行测试操作。3.根据权利要求1所述的自动测试方法,其特征在于,所述数据表的键值包括分类、属性名、属性值/路径、以及属性说明。4.根据权利要求1所述的自动测试方法,其特征在于,通过API接口从数据表中获取所需要的管控数据的方法包括:调用所述API接口,进行数据查询;所述API接口调用数据表查询语句,获得返回的管控数据;所述API接口对管控数据进行检测,并判断是否通过检测;若是,返回管控数据;若否,保存检测结果。5.根据权利要求4所述的自动测试方法,其特征在于,所述检测包括:数据可见和/或查询没有超时。6.根据权利要求1所述的自动测试方法,其特征在于,所述配置参数包括以下任一数据或它们的组合:Appium服务器地址、Appium服务器端口、Bootstrap端口、chromedriver端口及其路径、测试平台、物理设备标识、系统版本、测试端名称、不重新签名、是否重新安装应用、使用Unicode输入法和使用默认输入法;所述公共数据包括以下任一数据或它们的组合:node.exe路径、main.js路径、app路径、AppPackage、要启动的Activity、测试账户名、...

【专利技术属性】
技术研发人员:鞠放
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:

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

1