Python自动化测试面试经典题
相信大家经历过许多面试都会有这样的感受:好不容易通过了 2 -3轮技术面试,但是薪资不够理想;要么被面试的测试专家虐的不要不要的。但每一次的面试也能让自己认识到不足之处,这样才有利于后续拿到理想的offer。
牛鹭学院的学子对面试题进行了简单的总结回顾,以代码方面的问题为主,经验不足,回答水平也有限,现在分享出来,希望与大家一起交流探讨。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】
Python 自动化测试面试题目汇总
1、super 是干嘛用的?在 Python2 和 Python3 使用,有什么区别?为什么要使用 super?请举例说明。
答:
- super 用于继承父类的方法、属性。
- super 是新式类中才有的,所以 Python2 中使用时,要在类名的参数中写 Object。Python3 默认是新式类,不用写,直接可用。
- 使用 super 可以提高代码的复用性、可维护性。修改代码时,只需修改一处。
- 代码举例:

class sonClass(baseClass):def test2(self):super().test1(num)
son = sonClass()son.test1(11)
2、阅读以下代码,推导最后结果:

def test():for i in range(4):yield ig = test()for n in [1, 10, 5]:g = (add(n, i) for i in g)print(list(g)) # 结果是 [15, 16, 17, 18]
答: 所有的结果都是生成器表达式,不调用它,不从里面取值,就不干活。附上我的推导过程:

n = 10g = (add(n,i) for i in (add(n,i) for i in test()))# print(list(g)) # [20, 21, 22, 23]
n = 5g = (add(n,i) for i in (add(n,i) for i in (add(n,i) for i in test())))g = (add(n,i) for i in (add(n,i) for i in (5,6,7,8)))g = (add(n,i) for i in (10,11,12,13))g = (15,16,17,18)print(list(g)) # [15, 16, 17, 18]
3、快速编写前端 HTML、JavaScript、Vue 代码。
答:
- HTML、JavaScript 代码:

- Vue 代码编写:

4、L = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3],用一行代码得出 [11, 1, 2, 3, 5]
答: list(set(L))
5、L = [1, 2, 3, 4, 5],L[10:]的结果是?
答: 空列表(当时有点紧张,一直在“空列表”和“索引超出范围”两个答案之间徘徊)。
6、L = [1, 2, 3, 5, 6],如何得出 '12356'?
答: 注意,个人觉得这个题有坑,列表的元素不是字符串,所以不能 ''.join(L)。以下是过程:

7、列表和字典有什么区别?
答: 一般都是问列表和元组有什么不同。(1)获取元素的方式不同。列表通过索引值获取,字典通过键获取。(2)数据结构和算法不同。字典是 hash 算法,搜索的速度特别快。(3)占用的内存不同。
8、如何结束一个进程?
答:(1)调用 terminate 方法。(2)使用 subProcess 模块的 Popen 方法。使用简单,具体用法,这里不展开。
9、进程、线程有什么区别?什么情况下用进程?什么情况下用线程?
答:(1)区别:
- ① 地址空间和其它资源(如打开文件):进程之间相互独立,同一进程的各线程之间共享。某进程内的线程在其它进程不可见。
- ② 通信:进程间通信 IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
- ③ 调度和切换:线程上下文切换比进程上下文切换要快得多。
- ④ 在多线程操作系统中,进程不是一个可执行的实体。
(2)使用场景:同时操作一个对象的时候,比如操作的是一个全局变量,我用线程,因为全局变量是所有线程共享的。
10、什么是ORM?为什么要用ORM?不用ORM会带来什么影响?
答:
- ORM 框架可以将类和数据表进行对应,只需要通过类和对象就可以对数据表进行操作。
- 通过类和对象操作对应的数据表,类的静态属性名和数据表的字段名一一对应,不需要写 SQL 语句。
- ORM 另外一个作用,是根据设计的类生成数据库中的表。
11、写一段代码,ping 一个 ip 地址,并返回成功、失败的信息
答: 使用 subProcess 模块的 Popen 方法(使用简单,具体用法,这里不展开)。
12、说说接口测试的流程,介绍一下request有哪些内容
答:
(1)流程:获取接口文档,依据文档设计接口参数,获取响应,解析响应,校验结果,判断测试是否通过。(2)request 内容:
① 封装了各种请求类型,get、post 等;② 以关键字参数的方式,封装了各种请求参数,params、data、headers、token 等;③ 封装了响应内容,status_code、json()、cookies、url 等;④ session 会话对象,可以跨请求。
13、UI 自动化,如何做集群?
答: Selenium Grid。
14、移动端 UI 自动化,经常会自动安装 2 个程序,你知道那两个程序是什么东西不?
答: 守护精灵,和 Python 并发编程中的 daemon 原理一样,父进程/父线程的代码执行完毕,它就终止,要写在 start 方法前面。另外,要找到配置文件,注释掉两行代码。
15、说5个以上 Linux 命令
16、介绍一下你在这个项目中是如何使用 Jenkins 的
答:用的不深入,说了基本操作,比如定时构建执行代码。
17、说说你对敏捷模式的认识
答:小步快跑,拥抱变化。测试中,可以通过行为驱动测试,有个框架 lettuce 可以用。
18、了解过 Docker 不?
答: 说了下对 Docker 大概的认识、优势。
19、说一下你对软件测试的深刻心得
20、做过性能测试没?没做过,说出功能测试的流程
21、Bug 定位、分析、类型
22、测试策略、测试方案的区别
面试总结
在自动化测试、测试开发岗面试中,编程知识、Linux 都是必问的。测试开发人员的知识面既要有一定的广度,同时还要有扎实的编码基础。
相关文章:
Python自动化测试面试经典题
相信大家经历过许多面试都会有这样的感受:好不容易通过了 2 -3轮技术面试,但是薪资不够理想;要么被面试的测试专家虐的不要不要的。但每一次的面试也能让自己认识到不足之处,这样才有利于后续拿到理想的offer。 牛鹭学院的学子对…...
java+springboot物流管理系统设计与实现wl-ssmj+jsp
物流管理系统的开发和综合性的物流信息网站平台的建设。研究的重点是运输管理信息系统.本系统是一套基于运输作业流程的管理系统,该系统以运输任务、货品、商务三大线索设计开发。运输任务是该管理系统的核心,系统通过对运输任务中的接收、调…...
概念理论类-k8s :架构篇
转载:新手通俗易懂 k8s :架构篇 Kubernetes,读音是[kubə’netis],翻译成中文就是“库伯奈踢死”。当然了,也可以直接读它的简称:k8s。为什么把Kubernetes读作k8s,因为Kubernetes中间有8个字母…...
window10家庭版中文转专业版流程
1.确认当前为家庭中文版 2.用管理员权限打开cmd窗口 3.输入 dism /online /get-targeteditions ,查询当前支持的升级的版本 4.专业版密钥:VK7JG-NPHTM-C97JM-9MPGT-3V66T 5.changepk.exe /productkey VK7JG-NPHTM-C97JM-9MPGT-3V66T...
Chrome显示分享按钮
分享按钮不见了! Chrome://flags Chrome Refresh 2023 Disabled 左上角的标签搜索会到右上角。...
GPTS-生成一个动漫图像GPT
介绍 GPTs是ChatGPT的定制版本,用户可以通过组合指令、知识和功能来定制用于特定任务或主题的GPT。它们可以根据需要简单或复杂,解决从语言学习到技术支持等各种事情。 创建GPTs Plus和Enterprise用户可以在chat.openai.com/create上开始创建GPTs。 您可以通过在ChatGPT上的…...
在gazebo里搭建一个livox mid360 + 惯导仿真平台测试 FAST-LIO2
在gazebo里搭建一个livox mid360 惯导仿真平台测试 FAST-LIO2 前言立方体平台加入 livox mid360 激光雷达加入IMU模块调整底盘大小 并设计调用接口测试 Fast-Lio2 前言 livox mid360 在官网一直没有货,在gazebo里可以仿真该雷达形式的点云。 但是其只发布雷达的数…...
SpringMVC文件下载
<!--解决找不到“jquery-3.4.1.min.js”(静态资源访问)的问题 --> <mvc:default-servlet-handler/>方式1:如果去掉download就是查看图片 <a href"${pageContext.request.contextPath}/uploadfiles/${requestScope.filena…...
前端项目打包放到springboot项目时,访问不带index.html
当您的前端项目被打包并放到 Spring Boot 项目中时,如果想要通过访问不带 index.html 的路径来直接进入前端页面,您可以使用以下方法: 1,在 Spring Boot 项目中添加一个路由规则,将所有对特定路径的请求重定向到前端页…...
Tomcat注册为服务后,如何配置Tomcat内存大小
前提条件:tomcat已经注册为服务。 1.winR,输入regedit打开注册表 2.找到Tomcat注册表路径: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat80603.找到jvm内存配置路径: HKEY_LOCAL_MACHINE\SOFTW…...
C语言入门实战教程——嵌入式必备教程(2023年版最全最新整理)
一、初识C语言 C语言诞生于美国的贝尔实验室,由丹尼斯里奇(Dennis MacAlistair Ritchie)以肯尼斯蓝汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,C语言是一个功能简化的版本,它使C…...
Chatbot开发三剑客:LLAMA、LangChain和Python
聊天机器人(Chatbot)开发是一项充满挑战的复杂任务,需要综合运用多种技术和工具。在这一领域中,LLAMA、LangChain和Python的联合形成了一个强大的组合,为Chatbot的设计和实现提供了卓越支持。 首先,LLAMA是…...
【Spring之AOP底层源码解析】
文章目录 一、动态代理1.1、ProxyFactory1.2、Advice的分类1.3、Advisor的理解 二、创建代理对象的方式2.1、ProxyFactoryBean2.2、BeanNameAutoProxyCreator2.3、DefaultAdvisorAutoProxyCreator 三、Spring AOP的理解3.1、AOP中的概念3.2、Advice在Spring AOP中对应API3.3、T…...
【UCAS自然语言处理作业二】训练FFN, RNN, Attention机制的语言模型,并计算测试集上的PPL
文章目录 前言前馈神经网络数据组织Dataset网络结构训练超参设置 RNN数据组织&Dataset网络结构训练超参设置 注意力网络数据组织&Dataset网络结构Attention部分完整模型 训练部分超参设置 结果与分析训练集Loss测试集PPL 前言 本次实验主要针对前馈神经网络࿰…...
RabbitMQ消息模型之Sample
Hello World Hello World是官网给出的第一个模型,使用的交换机类型是直连direct,也是默认的交换机类型。 在上图的模型中,有以下概念: P:生产者,也就是要发送消息的程序C:消费者:消…...
安全技术与防火墙
目录 安全技术 防火墙 按保护范围划分: 按实现方式划分: 按网络协议划分. 数据包 四表五链 规则链 默认包括5种规则链 规则表 默认包括4个规则表 四表 查询 格式: 规则 面试题 NFS常见故障解决方法 安全技术 入侵检测系统 (Intrusion Detection Sy…...
Windows系统搭建Appium 2 和 Appium Inspector 环境
前言 自 2022 年 1 月 1 日起,Appium 核心团队不再维护 Appium 1.x。官方支持的平台驱动程序的所有最新版本均不兼容 Appium 1.x,需要 Appium 2 才能运行。 Appium 2是一个自动化移动应用程序的开源工具,它带来了以下重要改进: …...
计算机应用基础_错题集_OutLook操作题_操作系统应用题_电子表格---网络教育统考工作笔记005
6、(说明:考生单击窗口下方的“打开[Outlook]应用程序”启动Outlook) 按以下要求保存草稿。 收件人:test_xiao_ming@163.com...
2023-11-26 LeetCode每日一题(统计子串中的唯一字符)
2023-11-26每日一题 一、题目编号 828. 统计子串中的唯一字符二、题目链接 点击跳转到题目位置 三、题目描述 我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。 例如:s “LEETCODE” ,则其…...
HTML新手入门笔记整理:特殊符号
音标符 音标符 字符 Construct 输出结果 ̀、 a a à ́′ a a án ˆ a a â ̃~ a a ã ̀̀、 O O Ò ́́′ O O Ó ˆ O O Ô ̃~ O O Õ 字符 显示结果 描述 实体名称 实体编号 空格 <…...
华硕笔记本终极优化指南:用GHelper彻底释放硬件潜能
华硕笔记本终极优化指南:用GHelper彻底释放硬件潜能 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar…...
终极指南:使用wger打造完全自托管的健身与营养追踪系统
终极指南:使用wger打造完全自托管的健身与营养追踪系统 【免费下载链接】wger Self hosted FLOSS fitness/workout, nutrition and weight tracker 项目地址: https://gitcode.com/GitHub_Trending/wg/wger wger是一个开源的、功能全面的健身与营养管理平台&…...
qmcdump:QQ音乐加密文件解码的跨平台解决方案指南
qmcdump:QQ音乐加密文件解码的跨平台解决方案指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 问题引入&…...
Pixel Aurora Engine基础教程:8-BIT音效视觉化——将MIDI转像素动态图初探
Pixel Aurora Engine基础教程:8-BIT音效视觉化——将MIDI转像素动态图初探 1. 认识Pixel Aurora引擎 Pixel Aurora是一款专为像素艺术创作设计的AI绘图工作站,它将现代AI技术与复古游戏美学完美融合。这款引擎最独特之处在于能将音乐数据转化为动态像素…...
忍者像素绘卷:天界画坊Python入门实战:零基础AI绘画环境搭建
忍者像素绘卷:天界画坊Python入门实战:零基础AI绘画环境搭建 1. 前言:为什么选择像素风格AI绘画 像素艺术近年来在独立游戏、数字艺术领域持续升温。这种复古又充满创意的表现形式,让许多开发者跃跃欲试。但传统像素画需要扎实的…...
ESP32-S3双下载方案对比:VSCode一键烧录 vs 乐鑫Flash工具实操
ESP32-S3双下载方案深度评测:VSCode高效开发 vs 乐鑫工具链生产级部署 1. 开发环境配置与工具链解析 对于ESP32-S3开发者而言,选择正确的开发工具直接影响项目效率。当前主流方案可分为两类:基于VSCode的集成化开发环境和乐鑫官方Flash下载工…...
工业数智化改造避坑:拒绝通用模板,定制化才是最优解
在工业数智化转型浪潮中,不少企业陷入了“投入与回报失衡”的困境:耗费大量资金、人力上线的数智化系统,却因与自身业务脱节、流程适配性差,难以发挥实际价值,最终沦为“摆设”。事实上,工业数智化改造的核…...
Apache Mesos vs Kubernetes:如何选择最适合你的容器编排平台 [特殊字符]
Apache Mesos vs Kubernetes:如何选择最适合你的容器编排平台 🚀 【免费下载链接】mesos apache/mesos: 这是一个开源的集群管理框架,用于在异构资源池上部署和管理应用程序。它允许开发者使用高效的资源隔离和共享机制,构建高度可…...
2.3.插入排序——像打牌一样整理数组,为什么它对“几乎有序”数据特别友好?
2.3.插入排序——像打牌一样整理数组,为什么它对“几乎有序”数据特别友好? 系列:搜索与排序 | 第 3 篇,共 16 篇 难度:⭐☆☆☆☆ 入门级 标签:排序 插入排序 稳定排序 基础算法 小数据优化 上一篇&#x…...
新手福音:在快马平台用一句话描述,AI帮你生成专属技能展示网页代码
作为一个刚入门编程的新手,想要展示自己的技能却无从下手?最近我发现了一个超级友好的工具,完全是为我们这种小白量身定做的。只需要简单描述需求,就能自动生成一个完整的个人技能展示网页项目,而且所有代码都带着详细…...
