System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体而言,涉及一种测试方法、装置、系统及计算机可读存储介质。
技术介绍
1、在发布app之前,通常需要大量的测试用例对app进行测试,以确保app可以正常运行。但在对接口进行测试时,需要针对每个接口编写若干符合业务场景的测试用例代码,且需要针对不同平台使用对应的语言编写不同的但实现逻辑相同的用例代码,这将增加额外的开发工作量,测试效率较低。
技术实现思路
1、为了至少克服现有技术中的上述不足,本申请的目的在于提供一种测试方法、装置、系统及计算机可读存储介质。
2、第一方面,本申请实施例提供一种测试方法,所述测试方法包括:
3、获取于脚本编程语言编写的测试用例脚本,其中,所述脚本编程语言包括javascript脚本编程语言;
4、运行所述测试用例脚本,解析所述测试用例脚本中需要调用的测试终端中的原生接口;
5、将所述测试用例脚本中的测试参数转换为所述测试终端的原生类型参数,由测试终端基于所述原生类型参数进行测试;
6、通过原生的回调对象将测试信息反馈给javascript对象,由所述javascript对象进行解析得到所述测试终端的测试结果。
7、在一种可能的实现方式中,在所述运行所述测试用例脚本,解析所述测试用例脚本中需要调用的测试终端中的原生接口的步骤之前,所述方法还包括:
8、在所述测试终端上配置一用于运行javascript脚本的引擎模块;
9、所述运行所述测试用
10、通过所述引擎模块运行所述测试用例脚本,从所述测试用例脚本中解析出需要调用的原生接口。
11、在一种可能的实现方式中,所述通过所述引擎模块运行所述测试用例脚本,从所述测试用例脚本中解析出需要调用的原生接口的步骤,包括:
12、通过所述引擎模块调用javascript接口文件,其中,所述javascript接口文件包括原生接口及对应的原生接口签名;
13、基于所述原生接口签名从所述测试用例脚本中解析出需要调用的原生接口。
14、在一种可能的实现方式中,在通过所述引擎模块调用javascript接口文件的步骤之前,所述方法还包括生成接口文件的步骤,该步骤包括:
15、通过所述引擎模块扫描所述测试终端中所有已有的原生接口,并基于所有已有的原生接口和原生接口签名生成所述javascript接口文件;或,
16、当所述引擎模块扫描到所述测试终端中引入新的原生接口时,基于统一平台为所述新的原生接口配置原生接口签名,得到javascript接口文件。
17、在一种可能的实现方式中,所述将所述测试用例脚本中的测试参数转换为所述测试终端的原生类型参数,由测试终端基于所述原生类型参数进行测试的步骤,包括:
18、通过所述引擎模块创建一原生动态代理对象,并将所述原生动态代理对象与所述javascript对象绑定,由所述原生动态代理对象监听所述测试终端的测试过程。
19、在一种可能的实现方式中,所述通过原生的回调对象将测试信息反馈给javascript对象,由所述javascript对象进行解析得到所述测试终端的测试结果的步骤,包括:
20、通过原生的回调对象将测试信息反馈给与所述原生动态代理对象绑定的javascript对象,
21、将所述回调对象中的原生参数类型转换为javascript参数类型,并将转换后的参数传递给与所述原生动态代理对象绑定的javascript对象,由所述javascript对象基于反馈的测试信息得到所述测试终端的测试结果。
22、第二方面,本申请实施例还提供一种测试装置,所述测试装置包括:
23、获取模块,用于获取于脚本编程语言编写的测试用例脚本,其中,所述脚本编程语言包括javascript脚本编程语言;
24、运行与解析模块,用于运行所述测试用例脚本,解析所述测试用例脚本中需要调用的所述测试终端中的原生接口;
25、转换与测试模块,用于将所述测试用例脚本中的测试参数转换为所述测试终端的原生类型参数,由测试终端基于所述原生类型参数进行测试;
26、反馈与解析模块,用于通过原生的回调对象将测试信息反馈给javascript对象,由所述javascript对象进行解析得到所述测试终端的测试结果。
27、第三方面,本申请实施例还提供一种测试系统,所述测试系统包括通信连接的测试控制端及测试终端;
28、所述测试控制端,用于接收用户在测试页面的选择操作,并在接收到测试指令时,将选择的测试用例脚本发送给所述测试终端,其中,所述选择操作包括对测试设备及测试用例的选择操作;
29、所述测试设备,用于获取于脚本编程语言编写的测试用例脚本,其中,所述脚本编程语言包括javascript脚本编程语言;
30、运行所述测试用例脚本,解析所述测试用例脚本中需要调用的所述测试终端中的原生接口;
31、将所述测试用例脚本中的测试参数转换为所述测试终端的原生类型参数,由测试终端基于所述原生类型参数进行测试;
32、通过原生的回调对象将测试信息反馈给javascript对象,由所述javascript对象进行解析得到所述测试终端的测试结果。
33、在一种可能的实现方式中,所述测试设备还用于将所述测试结果发送给所述测试控制端;
34、所述测试控制端,还用于显示所述测试结果。
35、第四方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任意一项所述的测试方法。
36、基于上述任意一个方面,本申请实施例提供的测试方法、装置、系统及计算机可读存储介质,在执行测试用例脚本对原生接口进行调用时,将测试参数转换为测试终端的原生类型参数,可以确保测试终端可以正确接收并处理测试参数,而在测试终端测试的过程中,通过原生的回调对象将测试信息反馈给javascript对象,使得javascript对象可以接收并处理来自测试终端的异步回调结果,以确保在调用原生接口后可以及时地获取测试信息,并由javascript对象基于反馈的测试信息得到测试结果。通过上述方法,可以基于相同的测试用例脚本对不同平台进行接口测试,不仅可以减少开发人员的开发工作,还可以提高测试效率,实现自动化测试。
本文档来自技高网...【技术保护点】
1.一种测试方法,其特征在于,所述方法包括:
2.如权利要求1所述的测试方法,其特征在于,在所述运行所述测试用例脚本,解析所述测试用例脚本中需要调用的测试终端中的原生接口的步骤之前,所述方法还包括:
3.如权利要求2所述的测试方法,其特征在于,所述通过所述引擎模块运行所述测试用例脚本,从所述测试用例脚本中解析出需要调用的原生接口的步骤,包括:
4.如权利要求3所述的测试方法,其特征在于,在通过所述引擎模块调用JavaScript接口文件的步骤之前,所述方法还包括生成接口文件的步骤,该步骤包括:
5.如权利要求2-4中任意一项所述的测试方法,其特征在于,所述将所述测试用例脚本中的测试参数转换为所述测试终端的原生类型参数,由测试终端基于所述原生类型参数进行测试的步骤,包括:
6.如权利要求5所述的测试方法,其特征在于,所述通过原生的回调对象将测试信息反馈给JavaScript对象,由所述JavaScript对象进行解析得到所述测试终端的测试结果的步骤,包括:
7.一种测试装置,其特征在于,所述测试装置包括:
>8.一种测试系统,其特征在于,所述测试系统包括通信连接的测试控制端及测试终端;
9.如权利要求8所述的测试系统,其特征在于,所述测试设备还用于将所述测试结果发送给所述测试控制端;
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-6中任意一项所述的测试方法。
...【技术特征摘要】
1.一种测试方法,其特征在于,所述方法包括:
2.如权利要求1所述的测试方法,其特征在于,在所述运行所述测试用例脚本,解析所述测试用例脚本中需要调用的测试终端中的原生接口的步骤之前,所述方法还包括:
3.如权利要求2所述的测试方法,其特征在于,所述通过所述引擎模块运行所述测试用例脚本,从所述测试用例脚本中解析出需要调用的原生接口的步骤,包括:
4.如权利要求3所述的测试方法,其特征在于,在通过所述引擎模块调用javascript接口文件的步骤之前,所述方法还包括生成接口文件的步骤,该步骤包括:
5.如权利要求2-4中任意一项所述的测试方法,其特征在于,所述将所述测试用例脚本中的测试参数转换为所述测试终端的原生类型参数...
【专利技术属性】
技术研发人员:王城,赵崇博,
申请(专利权)人:广州虎牙科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。