面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来讲,技术的话只要通过了技术面hr面基本上是没有问题(也有少数企业hr面会刷很多人)
我们主要来说技术面,技术面的话主要是考察专业技术知识和水平,下面是我们整理好的自动化测试岗的面试题节选【文末完整资料】。
1.请描述一下你对自动化测试的理解?
自动化:把繁复的测试工作从手工转化为机器自动执行的测试方案,可以统称为自动化测试,普遍认为的是接口自动化测试,WebUI自动化测试,App自动化测试等,还包括:
1.更改数据库的脚本,爬虫,造测试数据
2.接口监控,页面监控,服务监控,
3.日志自动过滤
4.性能自动化
2.你之前工作中做自动化测试的流程?
a.根据项目类型编写自动化测试计划
b.选择编程语言和框架编写自动化测试脚本
c.根据测试团队开发自动化测试框架
d.运行自动化脚本查看报告,并维护脚本
e.持续集成,定时批量运行脚本
3.xpath定位元素通过浏览器开发者工具F12直接复制,那么为什么还要手写xpath表达式?
a.有些元素的id或者class是动态的,导致复制的xpath不可用
b.复制的xpath表达式标签嵌套复杂
c.手写xpath表达式更稳定
4.自动化测试中PO模式如何理解,PO的优势是什么?
PO:“页面对象模型”,这种设计模式旨在为每个待测试的页面创建一个页面对象,将那些繁琐的定位操作与方法封装到这个页面对象中
a.让UI自动化更早介入项目中,可项目开发完再进行元素定位的适配与调试
b.POM分离了测试对象和测试脚本.
c.POM能让我们的测试代码变得可读性更好,高可维护性,高复用性
d.可多人共同维护开发脚本,利于团队协作
5.接口测试中get和post区别是什么?
POST和GET都是向服务器提交数据,并且都会从服务器获取数据。
区别:
(1)传送方式:get通过地址栏传输,post通过报文传输,故而post更相对来说私密性一点
(2)传送长度:get参数有长度限制(受限于url长度),而post无限制
(3)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留
(4)get方式大多用作查询接口,获取响应数据;而post方式更多做数据添加、修改或
6.有了解过javascript吗,js在自动化测试中的场景有哪些?
JavaScript是Web 的编程语言,
js三大对象有:
window:window对象不但充当全局作用域,而且表示浏览器窗口
location:表示当前页面的URL信息。例如,一个完整的URL
document对象就是整个DOM树的根节点
自动化应用场景:
a.拖动滚动条
b.插入html文本,
c.获取和更改元素属性值,直接给元素属性赋值
b.获取cookie
7.你们测试团队如何提升自己的测试技能?
更多是靠技术讨论和学习交流,除了我们公司内部群之外,我们还会有相关的技术交流群,可以和跟很多同行一起学习,完善自己的技能树。IT行业技术更新迭代本来就很快,所以更需要保持学习的心态。
视频资源
上面是我收集的一些视频资源和面试题,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的Python自动化测试技术交流群:175317069 里面有各种软件测试资源和技术讨论,大家一起互相进步。