本发明属于自动测试,尤其涉及一种基于appium实现的自动测试埋点方法、系统与介质。
背景技术:
1、在测试领域中,都是基于产品需求说明书进行白盒测试、黑盒测试、集成测试、系统测试、静态测试等,但是想要看产品的某个具体子功能、子菜单项等对于用户使用率是否达到预期,进行埋点测试就显得非常有必要。
2、埋点其实就是在程序中的某个位置加一个标记,当用户触发到某个行为的时候,就采集一下数据,然后将数据上报到某个位置进行存储,埋点的最终目的是收集到相关的数据,用于给运营人员提供数据支撑等。
3、埋点测试只是数据采集的一种术语,而数据采集是提供给运营工作人员去了解终端设备对于某些模块、场景的用户使用情况进行的一个触发埋点,将埋点采集到的数据到的数据进行上报的过程。采集数据只是起点,将数据进行分析、整理、汇总以及报表展示,最终得出用户对终端设备普遍对使用行为,从而实现终端设备面向用户的改良才是目的,为了产品更好符合用户需求体验才是终点。
4、在实际测试工作中,经常会有埋点的需求需要测试完成测试工作。而埋点是比较耗时的工作,需要业务方提供方案,开发工程师进行埋点,测试团队进行测试。对于测试人员而言,如何在短时间内既能完成需求方面功能测试的工作又能完成埋点的测试工作通常是一个难以兼顾解决的问题。
5、传统的埋点测试都是靠浏览器或者工具抓包,人工完成数据和字段的核对。这导致测试工作比较困难,耗时长,会造成测试周期延长,埋点的准确性和合理性也得不到验证和保障。
技术实现思路
1、为解决上述技术问题,本发明提出一种基于appium实现的自动测试埋点的方法、系统与介质。
2、在本发明的第一个方面,提出一种基于appium实现的自动测试埋点的方法,所述方法应用于电子设备,所述电子设备提供多种人机交互操作,所述方法包括:
3、设置配置文件config.py:所述配置文件config.py存储appium和后端接口的相关信息;
4、设置测试用例文件:所述测试用例文件为表格文件,所述表格文件记载待测试app的埋点事件集合,所述埋点事件集合包括每个埋点事件的用例编号、埋点事件名、id键、预期结果、实际结果、测试结果;
5、驱动函数初始化:通过appium框架初始化一个人机交互操作驱动,所述人机交互操作驱动用于模拟多种人机交互操作;
6、测试结果断言输出:基于所述驱动函数执行自动测试,基于断言函数判断埋点测试是否通过,并输出埋点测试结果。
7、所述方法应用的电子设备提供的多种人机交互操作包括接触式交互操作和无接触式交互操作,接触式交互操作包括滚动操作、点击操作、滑动操作等;无接触式交互操作包括空中无接触交互操作、语音交互操作等;
8、所述配置文件config.py存储appium和后端接口的相关信息包括:appium的设置信息以及后端接口的url信息;所述appium的设置信息包括设备名称、包名、activity进程名称。
9、在所述驱动函数初始化之后,所述方法还包括:
10、执行查询后端数据函数,通过调用后端提供的查询接口,查询是否存在有对应的埋点事件记录;
11、如果不存在,则重新执行所述驱动函数;
12、如果存在,运行app自动化埋点测试脚本,触发埋点事件并验证后台埋点事件的记录。
13、所述测试结果断言输出具体包括:
14、使用unittest库来执行所述断言判断测试是否通过;如果事件记录与预期相符,断言返回pass;如果不符,断言返回false。
15、为便于结果查看,所述方法还包括:针对每一个待测试app,输出所述埋点测试结果之后,生成测试报告。
16、在本发明的第二个方面,提供一种基于appium实现的自动测试埋点系统,所述系统连接测试设备,所述测试设备安装有多个待测试app,每个待测试app提供多种人机交互操作,可用于实现第一个方面所述的方法。
17、具体的,所述系统包括:
18、配置文件设置单元,用于设置配置文件config.py,所述配置文件config.py存储appium和后端接口的相关信息;
19、测试用例文件设置单元:用于设置测试用例文件;所述测试用例文件为表格文件,所述表格文件记载待测试app的埋点事件集合,所述埋点事件集合包括每个埋点事件的用例编号、埋点事件名、id键、预期结果、实际结果、测试结果;
20、驱动函数初始化单元:通过appium框架初始化一个人机交互操作驱动,所述人机交互操作驱动用于模拟多种人机交互操作;
21、测试结果断言输出单元:基于所述驱动函数执行自动测试,基于断言函数判断埋点测试是否通过,并输出埋点测试结果。
22、所述重执行单元,用于在所述驱动函数初始化之后,执行查询后端数据函数,通过调用后端提供的查询接口,查询是否存在有对应的埋点事件记录;如果不存在,则重新执行所述驱动函数;
23、如果存在,则运行当前的待测试app对应的自动化埋点测试脚本,触发埋点事件并验证后台埋点事件的记录。
24、第一个方面所述的基于appium实现的自动测试埋点的方法可以通过各种形式的电子设备,通过计算机程序指令自动化的实现;所述计算机程序指令可存储于不同形式的存储介质中,装载至计算机电子设备中执行。
25、因此,在本发明的第三个方面,还提供一种计算机可读存储介质,用于存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一个方面所述的基于appium实现的自动测试埋点的方法。
26、本发明的技术方案,利用appium工具框架结合脚本,自动整合测试数据生成测试文档,减轻了测试工作的时间压力,节省了大量的资源和时间成本,提高了测试的速度和质量。其中,通过appnium工具,编写自动化测试脚本,运行待测app,可进行相关埋点数据的检测,将埋点测试结果自动上报,解决了自动化埋点测试中需要解决的埋点的准确性和合理性问题。
27、本发明的进一步优点将结合说明书附图在具体实施例部分进一步详细体现。
1.一种基于appium实现的自动测试埋点的方法,所述方法应用于电子设备,所述电子设备提供多种人机交互操作,其特征在于,所述方法包括:
2.如权利要求1所述的一种基于appium实现的自动测试埋点的方法,其特征在于:
3.如权利要求1所述的一种基于appium实现的自动测试埋点的方法,其特征在于:
4.如权利要求1所述的一种基于appium实现的自动测试埋点的方法,其特征在于:
5.如权利要求1所述的一种基于appium实现的自动测试埋点的方法,其特征在于:
6.如权利要求1或4所述的一种基于appium实现的自动测试埋点的方法,其特征在于:
7.如权利要求1-5任一项所述的一种基于appium实现的自动测试埋点的方法,其特征在于:
8.一种基于appium实现的自动测试埋点系统,所述系统连接测试设备,所述测试设备安装有多个待测试app,每个待测试app提供多种人机交互操作,其特征在于,所述系统包括:
9.如权利要求8所述的一种基于appium实现的自动测试埋点系统,其特征在于,所述系统还包括重执行单元;
10.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至7中任一项所述的一种基于appium实现的自动测试埋点的方法。
