自动化岗位常见面试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⾃动化岗位常见⾯试题1、当⼀个接⼝出现异常时你如何分析?
考察点:考察队你们系统了解程度,接⼝了解程度
1、通过fiddle或Charles等抓包⼯具抓取请求报⽂,返回报⽂,与接⼝⽂档对⽐
2、Xshell连接服务器,查看⽇志进⾏分析
3、中间件(nginx,tomcat)出问题,消息队列,数据同步
2、在⾃动化测试过程中上下游接⼝有数据依赖如何处理?考察点:有没真正做过⾃动化
将依赖的参数提取出来做成全局变量,然后进⾏参数化
mock服务
3、依赖第三⽅数据的接⼝如何进⾏测试
考察点:是否有能⼒对接第三⽅系统
根据第三⽅的接⼝⽂档写⼀个mock服务
让开发直接写死参数
开发debug修改参数
4、cookie与session的区别
考察点:⽹络基础
session:保存在服务端,跟踪⽤户状态
cookie:客户端(浏览器,app),session放在cookie
区别:
存放位置不同
作⽤不⼀样
session是会失效
5、selenium的⼯作原理
考察点:是否深⼊了解selenium
selenium是通过webdriver实现对浏览器的操作
⼯作流程:
打开⼀个webdriver
打开浏览器
发送命令给浏览器
浏览器执⾏对应的操作
我们可以把WebDriver驱动浏览器类⽐成出租车司机开出租车。

在开出租车时有三个⾓⾊:
乘客:他/她告诉出租车司机去哪⾥,⼤概怎么⾛
出租车司机:他按照乘客的要求来操控出租车
出租车:出租车按照司机的操控完成真正的⾏驶,把乘客送到⽬的地
在WebDriver中也有类似的三个⾓⾊:
⼯程师写的⾃动化测试代码:⾃动化测试代码发送请求给浏览器的驱动(⽐如⽕狐驱动、⾕歌驱动)浏览器的驱动:它来解析这些⾃动化测试的代码,解析后把它们发送给浏览器
浏览器:执⾏浏览器驱动发来的指令,并最终完成⼯程师想要的操作。

所以在这个类⽐中:
1. ⼯程师写的⾃动化测试代码就相当于是乘客
2. 浏览器的驱动就相当于是出租车司机
3. 浏览器就相当于是出租车
6、web⾃动化中如何处理多窗⼝?
考察点:经验有没那么丰富
1、先获取当前页⾯的headkle
2、获取到新页⾯的headle
3、很多窗⼝时候可以根据url地址去进⾏帅选
4、进⾏切换
7、web⾃动化过程中弹窗的处理
考察点:经验问题
浏览器弹框、
alert弹框:driver.switch_to.alert
⾃定义弹框:模态框
先触发,再定位
8、⾃动化过程中如何处理验证码
考察点:经验问题
万能验证码
开发写死或注释校验的代码
使⽤第三⽅识别验证码(花钱)
数据库,redis,服务器⽇志查找
9、python为什么使⽤*args和 **kwargs?
考察点:python基础
*args:不定长参数,不确定要传对少个参数的时候
**kwargs:关键字参数,不确定要传多少个关键字参数的时候
10、⾃动化测试在什么阶段执⾏会带来什么收益?
考察点:⾃动化实施阶段,⾃动化的作⽤
接⼝⾃动化:前后端联调完成后,接⼝测试,当我们功能测完后,做接⼝⾃动化
UI⾃动化:页⾯功能稳定之后,做UI⾃动化
效率问题:提⾼回归测试效率
回归测试容易漏测问题
11、⾃动化测试框架包含哪些模块?
考察点:有没有真正设计过⾃动化框架
基础⽅法,数据驱动,po分层,接⼝分层(业务与数据分离),⼯具包、配置⽂件、测试报告、⽇志
12、web ui⾃动化中显性等待、隐形等待的区别?
智能等待:在⼀定的时间内,找不到元素,就会报错
显性等待:针对某⼀个元素,设置等待时间和轮循时间去查找
隐形等待:针对所有元素,设置⼀个等待时间,在设置的时间内,程序会不断得检查元素是否全部加载完成
13、如何提⾼selenium的脚本的执⾏效率与稳定性?
使⽤等待时,尽量使⽤显⽰等待,少⽤sleep(),尽量不⽤隐式等待
多个if elif条件判断,可以把最有可能先发⽣的条件放到前⾯写,这样可以减少程序判断的次数,提⾼效率
降低⽤例的之间的耦合度
14、unittest与pytest的区别?
1、⽤例设计规则
2、⽤例前置与后置条件
3、断⾔
4、测试报告
5、失败重跑机制
6、参数化
7、⽤例分类执⾏。

相关文档
最新文档