System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种基于flutter的ui测试方法、装置、设备以及存储介质。
技术介绍
1、ui(user interface,用户界面)测试是一种对应用程序上的ui组件进行测试的技术。比如,点击ui界面上的每个ui组件,检测被测试的应用程序的输出结果是否符合预期测试结果。
2、目前,在实际ui测试过程中存在一个待测试应用程序在多个平台(例如ios、android、mac和windows)上线的情况,此时往往需要分别为各平台编写特定的应用程序,才可以在各平台上进行ui测试,无法做到一体化集成测试,效率较低。有鉴于此,如何提高ui测试效率就成为了目前亟待解决的技术问题。
技术实现思路
1、本公开的实施例提供了一种基于flutter的ui测试方法、装置、设备以及存储介质。
2、第一方面,本公开的实施例提供了一种基于flutter的ui测试方法,该方法包括:
3、获取flutter应用程序对应的ui测试脚本,其中,flutter应用程序由待测试应用程序转换得到;
4、对ui测试脚本进行解析,得到多条测试指令及其对应的预期测试结果;
5、根据测试指令,调用flutter driver api中与测试指令对应的测试函数,对flutter应用程序中与测试指令对应的ui组件进行测试,并调用flutter driver api中的收集函数,对ui组件的测试结果进行收集,得到测试指令对应的实际测试结果;
6、分别对各
7、在第一方面的一些可实现方式中,在根据测试指令,调用flutter driver api中与测试指令对应的测试函数,对测试指令对应的ui组件进行测试之前,该方法还包括:
8、通过dart vm的isolate通信机制建立与flutter应用程序的通信连接。
9、在第一方面的一些可实现方式中,flutter应用程序对应的ui测试脚本是通过以下步骤生成的:
10、获取flutter应用程序对应的ui测试用例;
11、对ui测试用例进行解析,得到多条测试步骤及其对应的预期测试结果;
12、从测试指令库中查找各测试步骤对应的测试指令;
13、根据各测试步骤对应的测试指令和预期测试结果,生成flutter应用程序对应的ui测试脚本。
14、在第一方面的一些可实现方式中,flutter应用程序中与测试指令对应的ui组件是通过以下步骤查找的:
15、调用flutter driver api中的查找函数,查找flutter应用程序中与测试指令对应的ui组件。
16、在第一方面的一些可实现方式中,分别对各测试指令对应的实际测试结果和预期测试结果进行比对,生成测试报告,包括:
17、采用测试框架,分别对各测试指令对应的实际测试结果和预期测试结果进行比对,并采用测试报告工具,分别对各比对结果进行处理,生成测试报告。
18、在第一方面的一些可实现方式中,在根据测试指令,在根据测试指令,调用flutter driver api中与测试指令对应的测试函数,对flutter应用程序中与测试指令对应的ui组件进行测试期间,该方法还包括:
19、实时显示flutter应用程序的ui界面。
20、在第一方面的一些可实现方式中,在生成测试报告之后,该方法还包括:
21、向ui测试人员的用户终端发送测试报告,以便ui测试人员查看。
22、第二方面,本公开的实施例提供了一种基于flutter的ui测试装置,该装置包括:
23、获取模块,用于获取flutter应用程序对应的ui测试脚本,其中,flutter应用程序由待测试应用程序转换得到;
24、解析模块,用于对ui测试脚本进行解析,得到多条测试指令及其对应的预期测试结果;
25、调用模块,用于根据测试指令,调用flutter driver api中与测试指令对应的测试函数,对flutter应用程序中与测试指令对应的ui组件进行测试,并调用flutter driverapi中的收集函数,对ui组件的测试结果进行收集,得到测试指令对应的实际测试结果;
26、生成模块,用于分别对各测试指令对应的实际测试结果和预期测试结果进行比对,生成测试报告。
27、第三方面,本公开的实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如以上所述的方法。
28、第四方面,本公开的实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如以上所述的方法。
29、在本公开的实施例中,可以利用flutter应用程序支持ios、android、mac和windows等多个平台的特性,基于由待测试应用程序转换得到的flutter应用程序对应的ui测试脚本,调用flutter driver api的相应函数来对flutter应用程序进行ui测试,从而实现一体化集成测试,极大地提高ui测试效率。
30、应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
【技术保护点】
1.一种基于Flutter的UI测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述根据所述测试指令,调用FlutterDriver API中与所述测试指令对应的测试函数,对所述测试指令对应的UI组件进行测试之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述Flutter应用程序对应的UI测试脚本是通过以下步骤生成的:
4.根据权利要求1所述的方法,其特征在于,所述Flutter应用程序中与所述测试指令对应的UI组件是通过以下步骤查找的:
5.根据权利要求1所述的方法,其特征在于,所述分别对各测试指令对应的实际测试结果和预期测试结果进行比对,生成测试报告,包括:
6.根据权利要求1-5中任一项所述的方法,其特征在于,在根据所述测试指令,调用Flutter Driver API中与所述测试指令对应的测试函数,对所述Flutter应用程序中与所述测试指令对应的UI组件进行测试期间,所述方法还包括:
7.根据权利要求1-5中任一项所述的方法,其特征在于,在所述生
8.一种基于Flutter的UI测试装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种基于flutter的ui测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述根据所述测试指令,调用flutterdriver api中与所述测试指令对应的测试函数,对所述测试指令对应的ui组件进行测试之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述flutter应用程序对应的ui测试脚本是通过以下步骤生成的:
4.根据权利要求1所述的方法,其特征在于,所述flutter应用程序中与所述测试指令对应的ui组件是通过以下步骤查找的:
5.根据权利要求1所述的方法,其特征在于,所述分别对各测试指令对应的实际测试结果和预期测试结果进行比对,生成测试...
【专利技术属性】
技术研发人员:魏冬冬,
申请(专利权)人:乐视新生代北京文化传媒有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。