System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及自动化测试,尤其涉及一种app自测试系统、方法、电子设备及存储介质。
技术介绍
1、近年来,随着移动互联网产业的快速发展,人们的习惯从pc端转移到了移动端,在数字政府领域办事“一趟不用跑”正悄然成为一种新常态,手机成为为民众服务的新窗口,在政府和群众之间搭建起零距离沟通和桥梁,老百姓随时随地享受到政府部门的贴心服务。“掌上政务”真正实现了“让数据多跑路,让百姓少跑腿”的效果。
2、随着数字政府的不断建设,政务服务的质量和效率受到了越来越多地关注和重视。因此,面对海量的移动端政务服务事项的测试和监管,传统方法采用人工测试、人工抽查等方式,这些方式存在测试成本高、测试周期长、测试一致性低(人工测试判定标准不一致,容易得出不同结果)、准确性低(人工测试受到测试人员技能、经验、疲劳、人为因素等影响)、覆盖率低等问题。
技术实现思路
1、鉴于此,为解决上述技术问题或部分技术问题,本专利技术实施例提供一种app自测试系统、方法、电子设备及存储介质。
2、第一方面,本专利技术实施例提供一种app自测试系统,包括:监测架构和执行器程序;
3、所述监测架构由移动设备、linux终端模拟器、自动化框架和目标app组成;
4、所述自动化框架包含自动化测试程序、自动化测试框架、自动化测试驱动;
5、所述执行器程序由pom模型、运行时框架、规则引擎、ai引擎组成,用于基于pom模型整合规则引擎、ai引擎判断目标app是否存在异常
6、所述移动设备为安卓系统的电子设备,用于为所述目标app、linux终端模拟器、自动化测试框架提供运行环境。
7、可选的,所述linux终端模拟器采用termux终端或ish终端实现,以使安卓系统的电子设备模拟运行linux系统,作为承载自动化测试框架运行的系统;
8、所述自动化测试程序包含执行器程序、appium client;
9、所述自动化测试框架包括appium server、android sdk、chrome driver;
10、所述自动化测试驱动在执行器程序第一次运行时自动安装。
11、所述目标app为待监测的目标app应用,支持原生应用和混合应用。
12、可选的,所述pom模型提供页面入口作为该页面的入口函数,所有页面继承自basepage类,所述basepage类用于封装公共操作、集成公共引擎和使用appium clint通过webdriver协议与appium server进行通信;
13、所述运行时框架包括驱动、日志记录功能、跳过机制、异常捕获机制、截图机制、超时控制机制、断点续测机制、遮挡元素滚动控制机制、离线缓存机制、提取要素重试机制、测试报告生成机制;
14、所述规则引擎提供规则解析功能,用于支持任务遍历规则、要素提取规则、异常判定规则的解析;
15、所述ai引擎通过监测记录和任务截图进行二次异常判断,并识别异常类型,其中,异常类型包括但不限于页面存在异常、页面加载异常、页面为pc页面、页面为移动页面、需要二次登录。
16、第二方面,本专利技术实施例提供一种app自测试方法,包括:
17、获取app自测试任务并基于所述app自测试任务配置监测参数用于初始化测试环境;
18、基于预设的任务遍历规则遍历待测页面,并基于预设的要素提取规则提取所述待测页面的页面要素信息并保存监测记录;
19、基于预设的异常判定规则对所述页面要素信息进行第一次异常判断,得到第一判定结果;
20、通过ai引擎调用外部神经网络对保存的监测记录进行第二次异常判断,得到第二判定结果;
21、基于所述第一判定结果和第二判定结果确定所述app自测试任务的异常判定结果。
22、在一个可能的实施方式中,所述方法还包括:
23、基于所述app自测试任务配置核心参数和自定义参数,其中,所述核心参数至少包括目标app包名、目标app的activity页面包名、chromedriver路径、设备uuid、设备平台版本、appiumserver地址,所述自定义参数至少包括任务标识、测试目标、测试场景、测试范围、测试平台、断点续测配置、要素提取清单信息;
24、解析所述监测参数实例化到内存,并初始化测试环境与appium server建立webdriver协议通道;
25、实例化入口页面程序和中间页程序,执行前置操作进入到待测页面。
26、在一个可能的实施方式中,所述方法还包括:
27、基于预设的任务遍历规则遍历待测页面,若页面有分页则进行页面下滑,若滑动预设次数阈值无变化,则完成页面遍历;
28、基于预设的要素提取规则提取所有遍历过的页面的页面要素信息;
29、对所述页面要素信息进行数据清洗并保存监测记录。
30、在一个可能的实施方式中,所述方法还包括:
31、实例化异常判定规则引擎,读取异常判定规则清单;
32、基于所述异常判定规则清单,对所述页面要素信息进行第一次异常判断,得到第一判定结果并输出。
33、在一个可能的实施方式中,所述方法还包括:
34、调用测试报告生成机制将所述app自测试任务的异常判定结果生成测试报告并将所述测试报告上报至服务器。
35、第三方面,本专利技术实施例提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的app自测试程序,以实现上述第一方面中所述的app自测试方法。
36、第四方面,本专利技术实施例提供一种存储介质,包括:所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面中所述的app自测试方法。
37、本专利技术实施例提供的app自测试系统,包括监测架构和执行器程序;所述监测架构由移动设备、linux终端模拟器、自动化框架和目标app组成;所述自动化框架包含自动化测试程序、自动化测试框架、自动化测试驱动;所述执行器程序由pom模型、运行时框架、规则引擎、ai引擎组成,用于基于pom模型整合规则引擎、ai引擎判断目标app是否存在异常;所述移动设备为安卓系统的电子设备,用于为所述目标app、linux终端模拟器、自动化测试框架提供运行环境。相比于传统的监测方法采用人工测试、人工抽查等方式,这些方式存在测试成本高、测试周期长、测试一致性低、准确性低、覆盖率低等问题。由本系统,通过模拟真实场景下的人机交互习惯及使用场景,仿真操作查询、办理等场景产生测试数据,利用程序内置规则引擎和ai引擎分析研判政府服务是否存在异常的情况,从而实现海量政务事项服务、便民服务等移动政务服务场景的自动化测试和监管,此外本系统设计的架构做到了仅使用一台电子设备即可完成测试,能够兼容原生应用、混合应用,相比人工测试节省了大本文档来自技高网...
【技术保护点】
1.一种App自测试系统,其特征在于,包括:监测架构和执行器程序;
2.根据权利要求1所述的系统,其特征在于,所述Linux终端模拟器采用Termux终端或iSH终端实现,以使安卓系统的电子设备模拟运行Linux系统,作为承载自动化测试框架运行的系统;
3.根据权利要求2所述的系统,其特征在于,所述POM模型提供页面入口作为该页面的入口函数,所有页面继承自BasePage类,所述BasePage类用于封装公共操作、集成公共引擎和使用Appium Clint通过WebDriver协议与Appium Server进行通信;
4.一种App自测试方法,其特征在于,应用于如权利要求1-3任一项所述的App自测试系统,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,所述获取App自测试任务并基于所述App自测试任务配置监测参数用于初始化测试环境,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于预设的任务遍历规则遍历待测页面,并基于预设的要素提取规则提取所述待测页面的页面要素信息并保存监测记录,包括:
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的App自测试程序,以实现权利要求4~8中任一项所述的App自测试方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求4~8中任一项所述的App自测试方法。
...【技术特征摘要】
1.一种app自测试系统,其特征在于,包括:监测架构和执行器程序;
2.根据权利要求1所述的系统,其特征在于,所述linux终端模拟器采用termux终端或ish终端实现,以使安卓系统的电子设备模拟运行linux系统,作为承载自动化测试框架运行的系统;
3.根据权利要求2所述的系统,其特征在于,所述pom模型提供页面入口作为该页面的入口函数,所有页面继承自basepage类,所述basepage类用于封装公共操作、集成公共引擎和使用appium clint通过webdriver协议与appium server进行通信;
4.一种app自测试方法,其特征在于,应用于如权利要求1-3任一项所述的app自测试系统,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,所述获取app自测试任务并基于所述app自测试任务配置...
【专利技术属性】
技术研发人员:陶志强,魏晟坤,周钰,周海燕,靳学文,刘鹏飞,贾少辉,汪瑞,
申请(专利权)人:中通服公众信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。