都2024年了,软件测试面试都问什么?

1、最熟悉的 selenium 操作?

  基本上 selenium 提供的一下几大类操作都能够灵活使用,比如说:八大元素定位方式、三大等待方式、用户点击、输入等常见操作、

  还有窗口切换、iframe 切换操作,比如说 actionchains 文件上传、JS操作 等一些复杂问题的操作;

  对于 selenium 还没有提供现场封装方法的话 会查阅 W3C 组织提供的 webdriver 标准进行自己进行捕捉;

  2、selenium 中登录按钮除了 click 还有什么方式?

  还有这两种方式:比如说要用到 物理键盘进行操作,发出回车指令;然后,如果说这个登录按钮,在一个表单里面的话,也可以在定位到这个用户输入框,输入完了之后,直接用3D 方法进行提交

  3、PO 模式的封装原则有哪些?

  selenium 在官方的 wiki 上面给我们提供了六个原则,实际测试过程中可以这么理解:

  第一个原则是,公共方法表示页面提供的一个服务,比如我们可以把 登录封装成一个 logo 的方法,把搜索方法封装成一个设施方法,把注册操作封装成一个 register 的方法;

  第二个原则是,尽量不要暴露页面的内部;比如说一个HTML的页面还有一个页面的上下结构;

  第三个原则是,在 PO 当中一般不做断言,会做到页面逻辑和测试逻辑的分离

  第四个原则是,PO 一般里面的方法返回 self 或者是其他的 Page Object 也可以是一个元素属性

  第五个原则是,整个 PO 你不需要封装整个页面的行为,用到什么逻辑就封装什么

  第六个原则是,对于统一操作,如果出现不同的结果,可以把用不同的方法来表示,比如说登录成功有跳转,登录失败有报错,

  如果登录还有一种会授权的状况,那么可以封装成三个单独的方法:login success、login error、login invalid

  4、Python 中的小整数池你有了解过吗?

  小整数池 是指在运行 Python 程序的时候,Python 解释器会自动创建,负 5 到 256 之间的整数对象,保存到缓存里面,也就是我们所说的小整数池;

  当程序中将这些整数复制给变量的时候,那么 Python 解释器,就会不断重新去分配内存去创建这个对象了,而是直接引用,已经创建好的缓存里面的对象;

  小整数池这个设计的初衷是为了优化程序的运行效率,需要相同的整数的时候,直接从这个整数池里面拿出来就可以用,可以避免频繁去创建和销毁这个对象,提升效率、节约内存;

  5、Xpath 和 CSS 选择器有什么区别?

  CSS 的写法会简单一点,xpath 会相对复杂一些,在主流浏览器中,CSS 的解析的效率更高一点,查找的速度会更快;

  Xpath 支持的函数更多,操作的方式灵活功能会强大一点,对于复杂的元素定位,xpath 反而会更加简洁;

  CSS 它不支持 文本定位;Xpath 是支持文本定位的;

  6、需要鉴权的接口,你是如何处理的?

  首先,确认一下接口是采用什么方式进行的鉴权的,是 cookie_session 还是 token ;

  如果是 cookie_ session 的方式,那么可以直接用 requests 模块里面的 session 类去创建一个对象直接发送请求,它会自动记录 cookie 信息;

  如果是 token ,那么先分析 token 是怎么返回的,然后提取对应的 token 的值,在发送请求的时候需要根据需求传入这个 token ;

  7、UI 自动化中常用的等待方式?

  UI 自动化测试当中等待的方式 主要有三种:

  第一种,强制等待,一般情况下我们不太使用;他主要用的场景在于不同系统交互的地方;

  第二种,隐式等待:这种等待比较智能,它可以通过全局配置,但是智能用于元素定位;

  第三种,显示等待:是 selenium 当中比较灵活的一种等待方式;他的实现原理,其实是通过 while 循环不停的尝试需要进行的操作;

  8、find_element() 和 find_elements() 有什么区别?

  find_element() :返回找到的第一元素,如果找不到的话会直接报错;

  find_elements() :会返回所有符合条件的元素,放到一个列表里面;如果找不到的话也不会报错,返回的是一个空列表;

  9、什么是 XPATH ?

  Xpath 是 XML 路径语言(XML Path Language),可以用来查询各个网页当中的元素位置,我们在自动化测试过程中呢,可以对 网页 和 APP 页面的元素进行精准定位

  然后在爬虫领域可以对页面结构进行灵活的解析

 感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/492363.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普通中小学校管理信息系统V1.1

普通中小学校管理信息系统 Ordinary Primary and Secondary Schools Management Information System 普通中小学校管理信息系统 Ordinary Primary and Secondary Schools Management Information System

【计算机网络】应用层自定义协议

自定义协议 一、为什么需要自定义协议?二、网络版计算器1. 基本要求2. 序列化和反序列化3. 代码实现(1)封装 socket(2)定制协议和序列化反序列化(3)客户端(4)计算器服务端…

力扣1290. 二进制链表转整数

Problem: 1290. 二进制链表转整数 文章目录 题目描述思路复杂度Code 题目描述 思路 1.记录一个变量res初始化为0,指针p指向链表头; 2.循环每次res res * 2 p -> val;p p -> next;(充分利用二进制数的特性;其中利用指针先…

Java 过滤器深入了解学习

Java 过滤器深入了解学习 生活不能等待别人来安排,要自己去争取和奋斗;而不论其结果是喜是悲,但可以慰藉的是,你总不枉在这世界上活了一场。有了这样的认识,你就会珍重生活,而不会玩世不恭;同时…

sqli-labs(less-46)order by 注入

我们打开sql-labs的第46关然后在输入框内输入?id1时会发现页面没有任何的变化,此时我们用Visual Studio Code查看第46关的代码 此时我们发现sql语句是$sql "SELECT * FROM users ORDER BY $id"; ,所以现在我们需要了解一下order by语句的作…

区分服务 DiffServ

目录 区分服务 DiffServ 区分服务的基本概念 区分服务 DiffServ 的要点 每跳行为 PHB DiffServ 定义的两种 PHB 区分服务 DiffServ 区分服务的基本概念 由于综合服务 IntServ 和资源预留协议 RSVP 都较复杂,很难在大规模的网络中实现,因此 IET…

F2图例封装 - Line

基于vue3 和 F2 3.5.0 <template><div :style"{ minHeight: ${height}px, width: 100% }" ref"container"><canvas v-show"showChart" :id"chartId" class"chart-canval"></canvas><empty-box v…

主数据管理是数字化转型成功的基石——江淮汽车案例分享

汽车行业数字化转型的背景 在新冠疫情导火索的影响下&#xff0c;经济全球化政治基础逐渐动摇。作为全球最大的汽车市场&#xff0c;我国的汽车市场逐渐由增量转为存量市场。 在数字化改革大背景下&#xff0c;随着工业4.0时代的到来&#xff0c;江淮汽车集团力争实现十四五数…

Object中的hashCode()

让hashcode方法的返回值为地址 vm参数中输入-XX:UnlockExperimentalVMOptions -XX:hashCode4&#xff0c;如下图&#xff1a; 参考 搞懂JAVAObject中的hashCode()_java_脚本之家 JDK核心JAVA源码解析(9) - hashcode 方法 - 知乎

《深入浅出 Spring Boot 3.x》预计3月份发版

各位&#xff0c;目前本来新书《深入浅出 Spring Boot 3.x》已经到了最后编辑排版阶段&#xff0c;即将在3月份发布。 目录&#xff1a; 现在把目录截取给大家&#xff1a; 主要内容&#xff1a; 本书内容安排如下。 ● 第 1 章和第 2 章讲解 Spring Boot 和传统 Spri…

并查集及应用

并查集的应用&#xff1a; 合并两个集合 查询某个元素的祖宗节点 扩展&#xff1a; 记录每个集合的大小&#xff08;绑定到根节点&#xff09; 记录每个点到根节点的距离&#xff08;绑定到每个元素上&#xff09; 二元或多元判断的时候用到的两种方法&#xff1a;扩展域并查集…

怎么看伦敦银走势图?这个信号威力无穷.....

伦敦银走势图中的黄金交叉是一种特殊的技术信号&#xff0c;它一般是指较短期的移动平均线向上穿越较长期的移动平均线。在许多情况下&#xff0c;金叉都被视为看涨的信号&#xff0c;因为移动平均线所衡量的是银价在某个时段内的均价——从这个角度看&#xff0c;短期平均线位…