一种iOS请求模拟策略制造技术

技术编号:19008930 阅读:25 留言:0更新日期:2018-09-22 08:50
本发明专利技术涉及一种iOS请求模拟策略,包括如下步骤:获取模拟策略的配置数据,用于初始化模拟环境及初始参数;判断当前调试模式的状态,如果是调试模式开启,则接收发来的模拟触发指令;解析发来的模拟触发指令,判断当前应该开启还是关闭模拟策略,如果是开启模拟策略,则执行开启请求模拟操作,生成以下信息供用户使用:生成虚拟的请求指令,指令中包含请求URL地址,生成响应请求指令的返回数据,返回数据的内容及格式由本地JSON文件约束、提供,生成数据库内容,数据库内容由本地JSON文件约束、提供。本发明专利技术,算法统一,可以产生多种假数据,模拟不同情况,使移动端无需等待后端接口数据,提高App开发调试速度,方便开发和UI调试,效率高、安全性好。

A iOS request simulation strategy

The invention relates to an iOS request simulation strategy, which comprises the following steps: acquiring configuration data of the simulation strategy for initializing the simulation environment and initial parameters; judging the state of the current debugging mode; receiving the analog trigger instruction if the debugging mode is turned on; parsing the analog trigger instruction sent and judging when Should the simulation policy be turned on or off before, if the simulation policy is turned on, the open request simulation operation is performed, and the following information is generated for the user to use: generate a virtual request instruction, which contains the request URL address, generate the return data of the response request instruction, and return the content and format of the data from the local JSON file Constraint, provide, generate database contents, and the contents of the database are constrained and provided by the local JSON files. The invention has unified algorithm, can produce a variety of false data, simulate different situations, so that the mobile end does not need to wait for back-end interface data, improves the speed of development and debugging of App, facilitates development and UI debugging, and has high efficiency and good security.

【技术实现步骤摘要】
一种iOS请求模拟策略
本专利技术涉及App开发调试
,具体说是一种iOS请求模拟策略。
技术介绍
现有的App开发中,项目组在遇到工期比较紧的时候,项目开发中会经常出现移动端等待后端接口数据的情形,不但耽误项目进度,更让人有种无奈的绝望。所以在App开发中,为了保证工作进度,提高App开发调试速度,程序员不得不自行做些假数据,通过请求模拟,虚拟出假想的后端接口数据,以方便开发和UI调试。然而做假数据方法不同,效率和安全性都各不同,有时稍有不慎,还会产生很大的bug。例如:源码中写死数据是最便捷的假数据做法,项目很赶时,为最快速的看到UI效果,一般都会采取这种假数据方式。但是,源码中写死假数据虽然方便,但稍有不慎就容易直接上线上环境,演变成一个有可能非常严重也有可能很轻的bug,为安全起见,通常所有写死的假数据都应该包在条件编译宏内。在源码中写死假数据,最大的缺点是:扭曲了数据的正确流通。正确的数据产生方式,应该是发一个网络请求,然后把请求回来的数据转成model,最后通过model给各个UI组件填充数据。而在源代码中写死假数据,直接打乱了数据的正确流通,这会使得整个开发的逻辑是颠倒的,不但使开发更容易出bug,而且逻辑流的切换带来的开发效率和开发感受都很差。再例如:利用单元测试的网络请求stub做假数据,首先按如下正常的流程开发整个功能——步骤1,创建模型数据对象Model;步骤2,创建view管理基类ViewController;步骤3,创建View等UI元素;步骤4,在view管理基类ViewController中完成网络请求的发起,并完成从网络数据到Model的转换;步骤5,应用Model填充UI。整个功能开发按照有真实网络请求进行,但事实上并没有网络请求,因为后台并未搭好,为此按如下方式做些假数据——按照后台给出的接口和数据格式定义,创建一个本地JSON文件且所创建的JSON文件加到项目目录中;然后在ViewController中stub本ViewController中所有的网络请求(stub可以理解为测试桩,它能实现当特定的方法被调用时,返回一个指定的模拟值。如果你的测试用例需要一个伴生对象来提供一些数据,可以使用stub来取代数据源,在测试设置时可以指定返回每次一致的模拟数据);如此一来,网络请求将被stub,返回的数据将是所指定JSON文件中的数据,这样就跟真实的网络请求没有任何的区别了。而且,如果使用OHHTTPStubs(一个测试和开发的工具,可使用伪造的网络数据和模拟的缓慢网络来测试你的应用程序,从而检测你的应用程序在不佳的网络环境中的行为,并使用伪造的网络数据编写单元测试)还可以模拟网络请求失败、网络请求超时以及throttle等各种网络请求状态,从而更全面的调试UI和整个功能。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种iOS请求模拟策略,算法统一,可以产生多种假数据,模拟不同情况,使移动端无需等待后端接口数据,提高App开发调试速度,方便开发和UI调试,效率高、安全性好。为达到以上目的,本专利技术采取的技术方案是:一种iOS请求模拟策略,其特征在于,包括如下步骤:获取模拟策略的配置数据,用于初始化模拟环境及初始参数;所述模拟策略用于生成虚拟的请求指令或生成虚拟的响应请求指令的返回数据或虚拟的数据库内容;判断当前调试模式的状态,如果是调试模式关闭,则忽略发来的模拟触发指令,如果是调试模式开启,则接收发来的模拟触发指令;解析发来的模拟触发指令,判断当前应该开启还是关闭模拟策略,如果是关闭模拟策略,则执行关闭请求模拟操作,返回模拟结束信息,如果是开启模拟策略,则执行开启请求模拟操作,生成以下信息供用户使用:生成虚拟的请求指令,指令中包含请求URL地址,生成响应请求指令的返回数据,返回数据的内容及格式由本地JSON文件约束、提供,生成数据库内容,数据库内容由本地JSON文件约束、提供。在上述技术方案的基础上,根据请求URL地址,调用本地属性列表文件plist,所述属性列表文件plist是用来存储串行化后的对象的文件,本地属性列表文件plist中以key-value键值对的形式保存数据;配置模拟请求本地plist路径表;针对不同请求,在本地路径中配置相应的返回数据。在上述技术方案的基础上,当App启动后,如App中的请求模拟选项开启,则执行以下操作,否则App不读取数据:读取本地属性列表文件plist,产生请求模拟数据请求map;发起网络请求;底层拦截请求;获取请求URL地址;根据请求URL地址映射到本地plist路径表,获取数据。在上述技术方案的基础上,如果无法映射到本地plist路径表,则尝试发起正常网络请求,如果能够映射到本地plist路径表,所述获取数据指获取本地属性列表文件plist中的数据。在上述技术方案的基础上,获取本地属性列表文件plist中的数据后,先判断数据是否有效,如果无效则尝试发起正常网络请求,如果有效则返回获取的数据。本专利技术所述的iOS请求模拟策略,算法统一,可以产生多种假数据,模拟不同情况,使移动端无需等待后端接口数据,提高App开发调试速度,方便开发和UI调试,效率高、安全性好。附图说明本专利技术有如下附图:图1本专利技术的流程图。具体实施方式以下结合附图对本专利技术作进一步详细说明。如图1所示,本专利技术所述的iOS请求模拟策略,包括如下步骤:获取模拟策略的配置数据,用于初始化模拟环境及初始参数;所述模拟策略用于生成虚拟的请求指令或生成虚拟的响应请求指令的返回数据或虚拟的数据库内容;判断当前调试模式的状态,如果是调试模式关闭,则忽略发来的模拟触发指令,如果是调试模式开启,则接收发来的模拟触发指令;解析发来的模拟触发指令,判断当前应该开启还是关闭模拟策略,如果是关闭模拟策略,则执行关闭请求模拟操作,返回模拟结束信息,如果是开启模拟策略,则执行开启请求模拟操作,生成以下信息供用户使用:生成虚拟的请求指令,指令中包含请求URL地址,生成响应请求指令的返回数据,返回数据的内容及格式由本地JSON文件约束、提供,生成数据库内容,数据库内容由本地JSON文件约束、提供。在上述技术方案的基础上,根据请求URL地址,调用本地属性列表文件plist,所述属性列表文件plist是用来存储串行化后的对象的文件,本地属性列表文件plist中以key-value键值对的形式保存数据;配置模拟请求本地plist路径表;针对不同请求,在本地路径中配置相应的返回数据。在上述技术方案的基础上,当App启动后,如App中的请求模拟选项开启,则执行以下操作,否则App不读取数据:读取本地属性列表文件plist,产生请求模拟数据请求map;发起网络请求;底层拦截请求;获取请求URL地址;根据请求URL地址映射到本地plist路径表,获取数据。在上述技术方案的基础上,如果无法映射到本地plist路径表,则尝试发起正常网络请求,如果能够映射到本地plist路径表,所述获取数据指获取本地属性列表文件plist中的数据。在上述技术方案的基础上,获取本地属性列表文件plist中的数据后,先判断数据是否有效,如果无效则尝试发起正常网络请求,如果有效则返回获取的数据。本说明书中未作详细描述的本文档来自技高网
...
一种iOS请求模拟策略

【技术保护点】
1.一种iOS请求模拟策略,其特征在于,包括如下步骤:获取模拟策略的配置数据,用于初始化模拟环境及初始参数;所述模拟策略用于生成虚拟的请求指令或生成虚拟的响应请求指令的返回数据或虚拟的数据库内容;判断当前调试模式的状态,如果是调试模式关闭,则忽略发来的模拟触发指令,如果是调试模式开启,则接收发来的模拟触发指令;解析发来的模拟触发指令,判断当前应该开启还是关闭模拟策略,如果是关闭模拟策略,则执行关闭请求模拟操作,返回模拟结束信息,如果是开启模拟策略,则执行开启请求模拟操作,生成以下信息供用户使用:生成虚拟的请求指令,指令中包含请求URL地址,生成响应请求指令的返回数据,返回数据的内容及格式由本地JSON文件约束、提供,生成数据库内容,数据库内容由本地JSON文件约束、提供。

【技术特征摘要】
1.一种iOS请求模拟策略,其特征在于,包括如下步骤:获取模拟策略的配置数据,用于初始化模拟环境及初始参数;所述模拟策略用于生成虚拟的请求指令或生成虚拟的响应请求指令的返回数据或虚拟的数据库内容;判断当前调试模式的状态,如果是调试模式关闭,则忽略发来的模拟触发指令,如果是调试模式开启,则接收发来的模拟触发指令;解析发来的模拟触发指令,判断当前应该开启还是关闭模拟策略,如果是关闭模拟策略,则执行关闭请求模拟操作,返回模拟结束信息,如果是开启模拟策略,则执行开启请求模拟操作,生成以下信息供用户使用:生成虚拟的请求指令,指令中包含请求URL地址,生成响应请求指令的返回数据,返回数据的内容及格式由本地JSON文件约束、提供,生成数据库内容,数据库内容由本地JSON文件约束、提供。2.如权利要求1所述的iOS请求模拟策略,其特征在于:根据请求URL地址,调用本地属性列表文件plist,所述属性列表文件plist是用来存储串行化后的对象...

【专利技术属性】
技术研发人员:邱扬
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1