python接口自动化测试面试_Python接口自动化面试题总结

unittest相关是懂法守法1、unittest怎么实现结果的对比?

通过断言,unittest常用的断言有assertrqual、assertnotequal等等

2、setup和teardown有什么用?

1).setup是测试前的准备工作,每条用例代码执行前都会先执行一次setup。

2) .Teardown是测试结束后的清理

http相关3、看过http的请求内容吗?都包含什么?Cookie一般放在哪?平时怎么抓包?

1).包含url,请求方法,状态码,请求头,请求体

2).Cooike一般放在请求头

3).Web可以用谷歌控制台抓,手机或者客户端程序可以用fidder等工具。

4、知道urllib吗?有没有更优的选择?

1).urllib是python3的库,内置了一些操作http请求的方法。更优的选择是requests,python的第三方库,封装了urllib,更简洁易用。

json相关5、json和python的字典有什么区别呢?

1).json是一种数据传输的格式,字典是python内置的一种数据结构。python dict 单引号双引号均可,json强制规定双引号。json key value必须是字符串,python 字典的key,value是任何可哈希的对象

5.1、网络传输需求格式为json,你在python中写的是字典,这时候怎么办呢?

1).用json库进行转换,json.loads和json.dumps

5.2、清楚json.loads与json.dumps的区别吗?

1).json中的dumps方法是用来将特定格式的数据进行字符串化的操作,比如列表字典都可以进行字符串化操作然后写入json的file;而且如果是要写入json文件就必须要进行dumps操作;

2).loads用来将字符型数据转换成原来的数据格式,诸如列表和字典,就是原本是什么格式就还原成什么格式。

6、有遇到过这种情况吗:在函数的内部引用了外部(非全局)作用域的变量。这种情况最著名的应用是什么?

1).其实这就是闭包,最著名的应用是装饰器。自动化测试经常用到装饰器,比如在登录,打日志,输出时间等等情况

考察面向对象相关:7、有用过类的一些魔法方法吗?用过哪些?都有什么用?

1).以双下划线开头和结尾的方法是魔法方法。最常用的:__init__,用来初始化类。其他还很多,比如:__str__,__call__等等

8、类的实例化方法第一个参数是什么?必须是这个单词吗?意义是什么?有没有可能第一个参数是其他的或者没有?什么情况下会出现这种情况?

1).类的实例化方法第一个参数是self,不一定非得是self,也可以是abcd,随意。

2).意义是类自身实例化出的对象。

3).也可能第一个参数是cls

4).这种情况是类方法,需要加装饰器@classmethod,也可能没有,这种情况是静态方法,需要加装饰器@staticmethod

考察多线程相关:

9、Python能否利用多核cpu的优势?为什么?

1).不能,因为python内置了全局解释器锁(GIL),同一时刻只能有一个线程在运行

10、Python多线程更适合什么场景?

1).io密集型(如爬虫,文件操作,网络编程等)

11、thread和threading,推荐使用threading模块,原因如下:

1).threading更先进,有更好的线程支持

2).thread模块的同步原语很少,只有一个,threading很多

3).thread模块对于进程何时退出没有控制。主线程结束,子线程随即强制结束。thread不支持守护线程。

11.1join()的作用是:

1).在子线程完成运行之前,这个子线程的父线程将一直被阻塞,主线程会在所有非守护线程退出后退出。

12、Python多线程需要锁吗?有GIL在,则某一时刻只能有一条线程运行,不会有多条线程同时修改数据的情况产生,那为什么还要加锁?

1).需要锁。因为很多操作不是原子操作。线程会在执行到100条字节码的时候切换。举例如下:

虽然两个线程A、B由于GIL锁的存在,不会同时执行。(假设A、B功能是对一个全局变量 m 进行+1)但是A由于时间片用完切回B之前的最后一步操作可能是读取m的值,

记作m1.此时B执行读取m的值,m加一,写回m,此时m的值是m1+1.又切回A,A执行加一,写回m,而写回的值是多少呢?还是m1+1.

总结:以上就是本期的内容,你学会了吗?如果有什么不懂得,请公众号搜索[小X聊测试],每周会定期更新测试相关的内容

下期内容提示: 下期内容主要针对面试时,一些需要注意的事项进行整理!!!!

loading.gif

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值