System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及应用程序测试,尤其涉及一种基于okhttp网络库的应用程序测试方法和装置。
技术介绍
1、在对移动端的应用程序(application,app)进行测试的过程中,需要利用由应用程序发起的网络请求来获取网络响应,其中需要使用模拟数据(例如,网络请求接口数据)。现有技术通常通过在电脑(personal computer,pc)端安装网络代理工具(例如,fiddler、wireshark、charles等)并在移动端安装与该网络代理工具对应的证书来实现模拟网络请求接口数据,这不仅需要借助电脑端才能完成测试,而且由于移动端和电脑端需要连接同一个网段,所以受到网段和ip地址的限制。这种复杂的配置极大地限制了应用程序测试的使用场景,特别是移动端需要位于户外的场景和移动端需要频繁移动的场景。
2、因此,现有技术还有待改进。
3、公开内容
4、针对现有技术缺陷,本公开提供一种基于okhttp网络库的应用程序测试方法和装置,旨在解决现有技术通常需要借助电脑端才能完成测试,而且由于移动端和电脑端需要连接同一个网段,所以受到网段和ip地址的限制的技术问题。
5、本公开解决上述技术问题所采用的技术方案如下:
6、第一方面,本公开提供一种基于okhttp网络库的应用程序测试方法,包括步骤:
7、当应用程序启动时,利用预设的okhttp网络库添加自定义拦截器;
8、创建与所述应用程序对应的可视化配置界面;其中,所述可视化配置界面用于显示和修改预设的模拟规则;
>9、获取所述应用程序发送的初始网络请求;
10、利用所述自定义拦截器对所述初始网络请求进行抓包,并将抓包到的所述初始网络请求作为目标网络请求;以及
11、根据所述目标网络请求是否命中所述模拟规则,返回与所述目标网络请求对应的网络响应。
12、在一些实施例中,所述根据所述目标网络请求是否命中所述模拟规则,返回与所述目标网络请求对应的网络响应的步骤,包括步骤:
13、判断所述目标网络请求的请求数据是否进行模拟;
14、若所述请求数据进行模拟,判断所述请求数据是否模拟断网;
15、若所述请求数据不是模拟断网,判断所述请求数据是否模拟超时;
16、若所述请求数据不是模拟超时,判断所述请求数据是否模拟数据;以及
17、若所述请求数据不是模拟数据,返回所述网络响应。
18、在一些实施例中,在所述判断所述目标网络请求的请求数据是否进行模拟的步骤中:
19、若所述请求数据不进行模拟,返回所述网络响应。
20、在一些实施例中,在所述若所述请求数据进行模拟,判断所述请求数据是否模拟断网的步骤中:
21、若所述请求数据是模拟断网,将所述请求数据包装为断网错误数据,返回所述网络响应。
22、在一些实施例中,在所述若所述请求数据不是模拟断网,判断所述请求数据是否模拟超时的步骤中:
23、若所述请求数据是模拟超时,延时返回所述网络响应。
24、在一些实施例中,在所述若所述请求数据不是模拟超时,判断所述请求数据是否模拟数据的步骤中:
25、若所述请求数据是模拟数据,将所述请求数据包装为模拟错误数据,返回所述网络响应。
26、在一些实施例中,本方法还包括步骤:将未抓包到的所述初始网络请求作为非目标网络请求,返回与所述非目标网络请求对应的所述网络响应。
27、第二方面,本公开提供一种基于okhttp网络库的应用程序测试装置,包括:
28、添加模块,用于当应用程序启动时,利用预设的okhttp网络库添加自定义拦截器;
29、创建模块,用于创建与所述应用程序对应的可视化配置界面;其中,所述可视化配置界面用于显示和修改预设的模拟规则;
30、获取模块,用于获取所述应用程序发送的初始网络请求;
31、抓包模块,用于利用所述自定义拦截器对所述初始网络请求进行抓包,并将抓包到的所述初始网络请求作为目标网络请求;以及
32、返回模块,用于根据所述目标网络请求是否命中所述模拟规则,返回与所述目标网络请求对应的网络响应。
33、第三方面,本公开提供一种电子设备,所述电子设备包括处理器和存储有计算机程序指令的存储器,所述计算机程序指令被所述处理器执行时实现上述任一项基于okhttp网络库的应用程序测试方法。
34、第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述任一项基于okhttp网络库的应用程序测试方法。
35、有益效果:本公开通过利用预设的okhttp网络库在应用程序启动时添加自定义拦截器,并利用自定义拦截器对由应用程序发出的网络请求进行抓包,实现了无需借助电脑端对应用程序进行测试,而且由于移动端不会受到网段和ip地址的限制,所以实现了移动端的应用程序可在户外场景、移动场景等场景下进行测试,从而扩大了应用程序测试的使用场景的范围;通过在添加自定义拦截器之后创建可视化配置界面,实现了可视化配置界面对自定义拦截器的集成和对预设的模拟规则的显示,从而用户可通过可视化配置界面对模拟规则进行修改;并通过根据目标网络请求是否命中预设的模拟规则来返回与目标网络请求对应的网络响应,实现了在抓包到网络请求后,用户无需通过模拟工具或代理工具手动对抓包到的网络请求设置断网模拟、超时模拟等就能够返回网络响应,从而配置简单,方便用户操作。因此,相较于现有技术,本公开无需借助电脑端就能完成应用程序测试,而且扩大了应用程序测试的使用场景的范围。
技术实现思路
本文档来自技高网...【技术保护点】
1.一种基于OKHTTP网络库的应用程序测试方法,其特征在于,包括步骤:
2.根据权利要求1所述的基于OKHTTP网络库的应用程序测试方法,其特征在于,所述根据所述目标网络请求是否命中所述模拟规则,返回与所述目标网络请求对应的网络响应的步骤,包括步骤:
3.根据权利要求2所述的基于OKHTTP网络库的应用程序测试方法,其特征在于,在所述判断所述目标网络请求的请求数据是否进行模拟的步骤中:
4.根据权利要求3所述的基于OKHTTP网络库的应用程序测试方法,其特征在于,在所述若所述请求数据进行模拟,判断所述请求数据是否模拟断网的步骤中:
5.根据权利要求4所述的基于OKHTTP网络库的应用程序测试方法,其特征在于,在所述若所述请求数据不是模拟断网,判断所述请求数据是否模拟超时的步骤中:
6.根据权利要求5所述的基于OKHTTP网络库的应用程序测试方法,其特征在于,在所述若所述请求数据不是模拟超时,判断所述请求数据是否模拟数据的步骤中:
7.根据权利要求1-6任一项所述的基于OKHTTP网络库的应用程序测试方法,其
8.一种基于OKHTTP网络库的应用程序测试装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储有计算机程序指令的存储器,所述计算机程序指令被所述处理器执行时实现如权利要求1-7任一项所述的基于OKHTTP网络库的应用程序测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任一项所述的基于OKHTTP网络库的应用程序测试方法。
...【技术特征摘要】
1.一种基于okhttp网络库的应用程序测试方法,其特征在于,包括步骤:
2.根据权利要求1所述的基于okhttp网络库的应用程序测试方法,其特征在于,所述根据所述目标网络请求是否命中所述模拟规则,返回与所述目标网络请求对应的网络响应的步骤,包括步骤:
3.根据权利要求2所述的基于okhttp网络库的应用程序测试方法,其特征在于,在所述判断所述目标网络请求的请求数据是否进行模拟的步骤中:
4.根据权利要求3所述的基于okhttp网络库的应用程序测试方法,其特征在于,在所述若所述请求数据进行模拟,判断所述请求数据是否模拟断网的步骤中:
5.根据权利要求4所述的基于okhttp网络库的应用程序测试方法,其特征在于,在所述若所述请求数据不是模拟断网,判断所述请求数据是否模拟超时的步骤中:
6.根据权利要求5所述的基于okhttp网络库的应...
【专利技术属性】
技术研发人员:韦振斌,张正亮,刘金满,
申请(专利权)人:四川神州行网约车服务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。