zoukankan      html  css  js  c++  java
  • 自动化岗位常见面试题

    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、用例分类执行

  • 相关阅读:
    第二次冲刺——第5天
    第二次冲刺——第4天
    第二次冲刺——第3天
    第二次冲刺——第2天
    第二次冲刺——第1天
    团队开发——第一次冲刺第8天
    团队开发——第一次冲刺第7天
    团队开发——第一次冲刺第1天
    软件工程课堂练习——找出1-n中1出现的个数
    软件工程——《你的灯亮着吗》读书笔记2
  • 原文地址:https://www.cnblogs.com/lgx2pwj/p/14461382.html
Copyright © 2011-2022 走看看