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 Õ 字符 显示结果 描述 实体名称 实体编号 空格 <…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
