接口自动化框架二次封装(接口自动化框架二次封装)

网友投稿 653 2023-01-08


本篇文章给大家谈谈接口自动化框架二次封装,以及接口自动化框架二次封装对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享接口自动化框架二次封装的知识,其中也会对接口自动化框架二次封装进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何对iOS的第三方框架进行二次封装

简单的做法是
定义一个类
#import "百度地图的头文件"
@interface MyTest : NSObject
+ (coord)queryCoord;
实现这个方法
在queryCoord方法中取得百度地图的坐标, 然后返回就行了

iOS(Swift) 基于 Moya 的二次封装

Moya+Alamofire是现阶段大部分 Swift 项目所喜欢使用的网络层框架,其简洁明了的协议式接口设计,非常让人上头. 但是项目中,一般都会基于这个框架再进行二次封装,以适用于公司业务.本篇文章就是讲解下我司所封装的框架(大部分一致,但有部分是自己的修改)

先说说网络层封装的最终目的,我们希望我们封装的请求框架,调用简单方便,封装简洁清晰易读,易拖展,本身已经具备了基础的加密,debug 打印,业务错误码处理等等功能. 以此为目的,一步步分析下如何封装.

最基础接入:

这种调用弊端很大,我们一般会去做二次的封装,这里讲解下我司封装的网络层框架(我单独把公司框架网络层提取出来,自己做了一点修改).

流程走,先封装 TargetType
这里对 targetType 进行拖展.我们不希望对外暴露 Moya 接口,所有关于 moya 的结构,都进行了二次封装.

APIRoute 是对 method 的二次封装,顺便把 path 也封装进去

Env 是环境配置,属于公司业务范畴,这里不作展示.

我司使用的响应式框架为 ReactiveSwift
Moya 对此的拖展函数为

在此基础上,我们进行封装

我做了一些业务筛减,保留存储的请求处理,说明都在code 里,这里有几个参数定义

在 plugins 基础上,我们定义了一个新的概念,APIPlugin,并且生命周期由rac 控制,其实对 PluginType 做拖展也能做到(选择自己喜欢的即可)

Moya 初始化函数为:

moya 接收一个 [PluginType] 的插件数组初始化,并提供了基础的 log 插件 NetworkLoggerPlugin
PluginType 生命周期函数为

核心调用顺序位置为, moya 实现了alamofire 的RequestInterceptor

数据加密请求,请求头的通用参数,我们可以通过插件形式实现
自定一个插件,实现

用插件实现,结构会非常的清晰

自定义一个 log 插件

注意一点,Moya 框架自带了一个 NetworkLoggerPlugin ,如果不想自定义的话,可以使用它,但是注意它接受一个 Configuration参数

这个参数里面有个Formatter,记得将 data-string, 使用.prettyPrinted,这样打印出来的结果会好看点,我司使用的是自定义,为了区分打印 globalParam, 业务param等等,不过实现原理和 Moya 自带的差不多

从此插件开始,后续均为 APIPlugin

核心是,在 APIProvider 中,我们在执行插件 didEnd之前

APIResponseValidation去 validate APIResult 的业务,如果业务上有特殊需要,可以对特殊的 code,进行错误抛出,比如业务上code: 8888,尽管状态码200,但是我们仍然认为是不成功的一次请求,走的是failed,从而走插件 的 didEnd业务处理(Toast 啥的),而不会进入 success

toast 我简单处理了下,根据自己的业务处理弹窗即可
提到 toast,这里再埋一个坑,toast 大家很常用,但是 toast 封装也很重要,如果有时间,我会抽出我司封装的 toast 组件,非常非常 nice!
稍微透露下

接口自动化测试框架为什么要封装接口关联?

封装是面向对象编程的一大原则接口自动化框架二次封装,就是把程序的一些细节隐藏起来。封装好的函数接口可以直接拿来调用接口自动化框架二次封装,不用进行重复性开发。而且后期维护的时候也可以进行单独接口的维护。来说就是为了更好的复用和维护。

怎么搭建 python 的接口自动化测试框架?

1.框架搭建
1.1 将struts2中的jar文件导入到项目中
commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,freemarker-2.3.15.jar,ognl-2.7.3.jar
struts2-core-2.1.8.1.jar,xwork-core-2.1.6.jar
1.2 将struts.xml文件拷贝到项目的src目录下
1.3 修改web.xml文件
添加:
<filter
<filter-namestruts2</filter-name
<filter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class
</filter
<filter-mapping
<filter-namestruts2</filter-name
<url-pattern/*</url-pattern
</filter-mapping
2.action中方法的调用方式
2.1 自动方法调用(只能调用execute)
2.2 指定方法调用(通过设置action标签中的method属性)
2.3 动态方法调用(在调用时,在action后加!方法名称,如:login!deletUser)
注意:<constant name="struts.enable.DynamicMethodInvocation" value="true" /
2.4 通配符调用
3. action接收客户端参数的方式
3.1 直接在action中定义参数变量,并生成set和get方法
3.2 定义接收参数的类
注意:都要为action的成员变量提供get和set方法
3.3 让action实现ModelDriven接口,并实现里面的getModel方法
4.获取request,session,application的方式
4.1 用ActionContext获取,实际上获取到的都是Map对象
4.2 用ServletActionContext获取,获取到的是基于Servlet API的对象

请教如何二次封装VC的DLL

我有一个A.DLL,是MFC制作的,函数参数有很多MFC类,导致像C#这样的语言无法直接使用。
因此我想把这个A.DLL进行二次封装,使用标准的数据类型进行参数传递。
我自己在VC.net(VS2012)中创建了WIN32项目(DLL),并引用A.DLL,然后制作成B.DLL
能正常使用,但是B.DLL必须与A.DLL一起用,因为B.DLL只是引用了A.DLL,而没有包含A.DLL。
只用了部分接口怎么可能把A.dll全都给封装到B里呢,两个一起用吧,没得办法的 关于接口自动化框架二次封装和接口自动化框架二次封装的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 接口自动化框架二次封装的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口自动化框架二次封装、接口自动化框架二次封装的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口自动化框架大数据库(数据库接口开发)
下一篇:Java通过调用FFMPEG获取视频时长
相关文章

 发表评论

暂时没有评论,来抢沙发吧~