Python接口认证考试
1、关于使用Fiddler抓取https请求的过程,以下哪个描述是正确的?
①解密https流量
②使用新CA加密https流量
③生成新CA
④使用该CA颁发每个域名的TLS证书
⑤CA证书被加入浏览器信任名单
⑥浏览器检查证书 (5.0分)
D ③④⑤⑥①②
先生成新的CA--->使用该CA办法给每个域名的YLS证书-->CA证书被加入浏览器信任名单-->浏览器检查证书
要抓取走 HTTPS 的 JS 内容,Fiddler 必须解密 HTTPS 流量。
但是,浏览器将会检查数字证书,并发现会话遭到窃听。
为了骗过浏览器,Fiddler 通过使用另一个数字证书重新加密 HTTPS 流量。
Fiddler 被配置为解密 HTTPS 流量后,会自动生成一个名为 DO_NOT_TRUST_FiddlerRoot 的 CA 证书,并使用该 CA 颁发每个域名的 TLS 证书。
若 DO_NOT_TRUST_FiddlerRoot 证书被列入浏览器或其他软件的信任 CA 名单内,则浏览器或其他软件就会认为 HTTPS 会话是可信任的、而不会再弹出“证书错误”警告。
2.若接口请求的body数据参数为list,以下哪一种是json格式的正确写法? (5.0分)
-
A {“id_list”: “[123456]”}
-
B { “id_list”: “123456”, }
-
C { id_list: [123456] }
-
D { “id_list”: [123456] }
A列表不需要用引号包含;B元素value是字符串,不是value;C元素的key应该有引号包含
-
设置url前,先调用url编码方法
url中无论有什么特殊字符(包括非英文的文字),都需要在代码中事先把url转义,才可正常使用。就像部分浏览器,发送请求前,会自动将这些内容进行转义。转义是一种编码动作,不是解码。
4.评审接口文档时,不需要评审哪个方面? (5.0分)
-
接口功能
接口功能,在设计评审阶段进行评审
5.以下与缓存无关的响应头域是? (5.0分)
-
A Expires
-
B Connection
-
C Etag
-
D Cache-Control
Connection是表示是否使用长连接,与数据缓存无关,其他三项均与缓存有关。
-
A 保证旧功能(非当前版本特性)正确。
-
B 为了测试新功能。
-
C 为了做好回归测试。
-
D 保证新功能没有影响主流程的问题(即所谓的简单BUG)。
7.关于Session描述正确的是 () (5.0分)
-
A Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构来保存信息
-
B Session在客户端请求时即被创建
-
C Session可以用Cookie来实现,也可以用URL回写的机制来实现
-
D 为防止内存溢出,服务器会把长时间内没有活跃的Session从内存删除,这个时间就是Session的超时时间
服务端在调用了Session创建语句时Session才被创建,所以C选项错误,其余选项正确
-
A 单元测试基于业务,接口测试基于代码
-
B 单元测试关注代码的逻辑实现,接口测试关注代码的业务实现
-
C 单元测试一般是白盒测试,会比接口测试的覆盖率高;接口测试一般是黑盒测试,会比单元测试更早发现问题
-
D 单元测试需要等代码写好后才能开始进行;接口测试在接口文档给出后就可以进行
单元测试关注与代码的逻辑实现,接口测试关注代码的业务实现,所以A是错误的。C选项中没有单元测试比接口测试的覆盖率高的说法,所以是错误的。BD选项是正确的。
9.会话Cookie的maxAge值一般为() (5.0分)
会话Cookie的maxAge值一般为-1,表示不持久化
-
A 设置断点,逐步调试,查看控制台中的变量值
-
B 增加输出语句,将变量值输出
-
C 增加log语句,记录变量值
-
D 调试时,使用鼠标hover跟踪,可以在当前查看到变量值曾经变化的整个过程
鼠标hover只可看到当前值,不能看到变化过程
-
A gzip
-
B compress
-
C deflate
-
D identity
目前因为gzip通常压缩效率最高,所以使用最为广泛,所以本题选择A。
12.以下准入测试对环境配置的要求,正确的是? (5.0分)
-
A 若产生脏数据的风险较小,首选在测试环境进行
-
B 不可以在开发环境进行
-
C 只能使用开发本地环境
-
D 若有条件约束,可使用预生产环境
可以在测试环境、开发环境做准入,但是测试环境比较稳定,且跟关联组件的串联也比较完整,所以A正确,BC错误。预生产环境应该是一个比较稳定的、尽量没有bug的环境,所以不要在预生产提测,也不在预生产做准入,D错误。
-
A OPTION
-
B POST
-
C PUT
-
D DELETE
POST和PUT都可以用来提交创建数据,OPTION是用来查看服务端支持哪些请求方法,DELETE是用来删除资源的。
14.对接口测试脚本api_call部分说法正确的是? (5.0分)
-
A 需要包含对接口响应的解析
-
B 不包含对接口响应的断言、解析
-
C 包括接口调用、获取接口响应
-
D 参数为类对象的,需要通过.get()取到字典
api_call应该只包含对接口的调用、响应的获取,响应的解析应该在case中处理(因为成功、失败的响应处理方式不一样,而且与正向、逆向case期望的有关),所以A错误,BCD正确
-
A Cookie通过在客户端记录信息确定用户身份
-
B Cookie是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器
-
C Set-Cookie由服务器发送,它包含在响应请求的头部中。它用于服务器在客户端创建Cookie时
-
D Cookie头由客户端发送,包含在HTTP请求的头部中
Cookie是浏览器写入本地机器的,即是由客户端创建的,BC都说Cookie是服务器创建/存储Cookie,所以是错误的
-
√
-
×
在GET请求中增加query参数,需要注意将非ASCII字符事先做url编码
18.调试前在指定代码行插入断点,开始调试后,程序就会执行断点所在行代码 (5.0分)
会运行到断点所在的上一行,点击下一步才会运行断点所在行代码
-
A class与class之间空一行
-
B def与def之间空一行
-
C ”=”等号前后空一格
-
D ”,”逗号分隔的参数,逗号后空一格
接口测试脚本规范,class与class之间空两行
.