某大厂高级测试岗位面试题!
一、高级测试岗位面试题列表
http请求的过程
建立浏览器和web服务端的连接,是通过TCP进行完成(也可以说是建立tcp连接)
浏览器向服务端发送请求指令(前置条件建立tcp连接)
服务端收到浏览器的请求后做出回应
服务器关闭TCP连接
浏览器接受到服务器响应的数据
常用的接口请求响应状态码有哪些,分别都代表什么意思?
200 请求成功,请求所希望的响应头或数据体将随此响应返回
201请求已经被实现,且有一个新资源已经依据请求的需要而建立
202服务端已经接收请求,但是未处理
301请求的网页已永久移动到新位置
303 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码
404(未找到) 服务器找不到请求的网页
401 当前请求需要用户验证。如果当前请求已经包含了 Authorization证书
500服务端报错,无法完成对请求的处理
501 服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求
接口自动化中考虑哪些点避免出现脏数据?
每次在特定环境下执行完接口自动化测试用例,初始化这个环境,清除该环境的数据以备下次执行纯净环境准备
自动化测试用例执行后需要进行闭环将生成的数据从数据库中删除
pytest-fixture 环境初始化与清除或者使用setup,teardown装饰器
后置直接系统上把数据删除
你在做UI自动化中遇到的问题以及如何解决的?
问题1:元素无法定位
首先判断该元素是否存在,或者是不是动态元素,如果是动态元素,先触发这个元素加载条件,再进行元素定位
问题2:元素在iframe中无法定位
先将driver切换到iframe才能操作;切换方式:通过id、name、索引、iframe元素对象切换至iframe层中在进行元素定位
查询接口如何判断查出数据的准确性及数据量的准确性?
拿接口需要检验的返回值与数据库查询的结果进行断言比较
先统计数组某个字段出现的条数,然后在便利循环检验一下
基于PyTest接口自动化测试框能简单介绍一下吗?
Api:单接口定义封装
testcases: 通过调用单接口来组装测试用例
commons:requests 库请求的封装、数据库操作、excel 操作、yaml 文件操作、加解密
封装、日志封装、正则处理、随机数据生成
configs:数据库配置、各个服务对应的域名等等
data: 数据驱动--接口测试用例数据
Logs: 日志文件
Report:测试报告
conftest.py: 自定义 fixture、pytest 自带的钩子函数
UI自动化分布式作用
分布式是为了提高ui自动化执行效率
list列表去重的方法
for循环遍历去重---不改变原来的顺序
用dict字典去重,列表转换成字典,顺序不变
set去重 再用sort排序
count()方法统计并且删除,要先排序
字典中按照key排序,用什么方法实现
用sorted()函数:对数字从小到大进行排序 | 使用语法sorted(iterable,key,reverse)
按照key排序:只输出key值排序列表 | 使用语法sorted(d.keys(),reverse=True/False)
第三方支付接口无响应如何处理
如支付宝接口无响应,第一,多调用几次,如无响应,可能是调用超时或者第三支付接口挂了需要相关公司进行排查问题,进行处理
第三支付接口完成支付操作后,未获取响应结果,该订单处于什么状态?
单处于已支付状态,为获取到响应结果的原因可能是网络延迟,获取响应结果时间较长
接口幂等性,未获取响应结果时,再用支付接口进行支付操作,重复进行支付操作,如其中存在支付成功,获取响应结果成功,则是接口幂等性问题
支付接口从ui层功能到接口,及底层测试点,及流程
作者:某江西理工大学生
欢迎关注微信公众号 :Python测试社区