首页 > 其他分享 >Selenium自动化测试面试题

Selenium自动化测试面试题

时间:2023-04-27 21:01:11浏览次数:40  
标签:脚本 面试题 Selenium 用例 测试 自动化 软件测试

Selenium自动化测试面试题
一、目录
1、什么是自动化测试、自动化测试的优势是什么?

2、什么样的项目比较适合做自动化测试,什么样的不适合做自动化测试?

3、说一下开展自动化工作的主要流程是怎样的?

4、在制定自动化测试计划的时候一般要考虑哪些点?

5、编写自动化脚本时的一些规范?

6、你一般一天能编写多少个自动化脚本?

7、做自动化测试时关注的一些指标?

8、自动化测试可以达到100%的覆盖率吗?

9、你们公司开展自动化测试遇到一些什么问题?

10、Selenium驱动浏览器使用的协议是什么?

11、Selenium工具都包含哪些组件?

12、Selenium中定位网页元素的八种方式?

13、webdriver启动常见的浏览器语句?

14、如何选中下拉列表中的下拉选项?

15、如何取消选中下拉列表中的下拉选项?

16、Selenium如何处理弹窗?

17、Selenium可以处理Windows弹窗吗?

18、如何判断一个元素在页面上是显示出来的?

19、Selenium中如何判断元素是否存在?

20、driver.quit()和driver.close()的区别?

21、自动化测试用例从哪里来?

22、常见的自动化测试框架有哪些?

23、什么是POM?

24、Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

25、如何提高Selenium脚本的执行速度?

26、你的自动化用例的执行策略是什么?

27、什么是持续集成?

二、面试题答案
1、什么是自动化测试、自动化测试的优势是什么?
通过工具或脚本代替手工测试执行过程的测试都叫自动化测试。

自动化测试的优势:

1、减少回归测试成本

2、减少兼容性测试成本

3、提高测试反馈速度

4、提高测试覆盖率

5、让测试工程师做更有意义的测试

2、什么样的项目比较适合做自动化测试,什么样的不适合做自动化测试?
1、适合做的项目:

a.项目周期长且相对稳定

b.需要做频繁的冒烟测试

c.需要经常做回归测试

d.需要进行大数据量的数据驱动测试

2、不适合做的项目:

a.项目周期短用例不会多次重复执行

b.被测项目不稳定变化太频繁

3、说一下开展自动化工作的主要流程是怎样的?
1、选择合适的测试工具

2、定义自动化测试覆盖的范围

3、制定测试计划

4、自动化测试环境搭建

5、脚本开发

6、测试执行

7、测试脚本维护

4、在制定自动化测试计划的时候一般要考虑哪些点?
1、选择适合的测试工具或分析当前的工具是否适合新项目

2、选择合适的自动化测试框架

3、确定要做自动化测试的范围和不做自动化测试的范围

4、测试环境的准备与搭建

5、制定一个粗略的脚本开发的时间表

6、制定脚本执行的一些策略,如冒烟测试的频率,回归测试的时间点及频率等

7、定义自动化测试的输出,比如脚本,测试数据,发现的缺陷,测试报告等

5、编写自动化脚本时的一些规范?
1、统一的命名约定,如用例名,方法名等

2、良好的脚本注释

3、遵循代码规范,使用适当的缩进

4、对异常进行处理

6、你一般一天能编写多少个自动化脚本?
这个取决于测试用例场景的复杂度,一般一天能写2~5个左右,复杂的话一天只能写一个

7、做自动化测试时关注的一些指标?
1、自动化测试用例的覆盖率=自动化测试用例数/所用用例总数,这个比例越高测试反馈越快,成本节约越多

2、节省的时间成本=手工测试所花的时间-自动化测试所花的时间

3、自动化测试的投入=开发脚本的投入+脚本维护的投入+工具价格

4、自动化测试发现的缺陷数,每次回归测试时自动化测试发现的缺陷数及漏测数,反应了自动化用例的有效性

5、自动化测试投入产出比

ROI=(手工测试的成本-自动化测试成本)/自动化测试成本

ROI如果是负值说明自动化测试的成本未收回,ROI为正值说明自动化测试成本已回收,且值越大说明回报越好

8、自动化测试可以达到100%的覆盖率吗?
比较难,因为有些用例场景无法被自动化,一些验证易用性友好性的用例不适合做自动化,有些边缘的用例很少被重复执行,从投入产出比来说也不适合做自动化

9、你们公司开展自动化测试遇到一些什么问题?
1、项目流程不规范,项目变动频繁导致自动化用例维护成本高,解决:深入理解用户需求,规范开发流程,自动化用例先覆盖已经稳定的功能

2、对自动化期望太高,自动化也是一个逐步完善的过程,不可能一下子完全代替手工

3、有些自动化工程师的技术能力偏弱,提升编程能力,提升自动化工具使用能力,对新人进行培训等

10、Selenium驱动浏览器使用的协议是什么?
JsonWireProtocol 是通过使用 webdriver 与 remote server 进行通信的 web service 协议。通过 http 请求,完成和 remote server 的交互。

现在还想从事软件测试行业的小伙伴们,想要心仪的工作,要多努力学习哟。我给大家整理了2022最新软件测试八股文,大家刷起来哟

1.软件测试基础题(250题)

 

 2.Linux(55题)

 

 3.MySQL(80题)

 

 4.web测试(10题)

 

 5.接口测试(36题)

 

 6.APP测试(12题)

 

 7.Python(100题

 

 8.Selenium(40题)

 

 9.LordRunner相关(80题)

 

 10.计算机网络(26题)

 

 11.人力资源(55题) 

 

 面试总失利是有原因的,上次踩过的坑下次可千万别踩中啦,备战面试第一步:刷题刷题再刷题!

求职高峰期,大家都不要焦虑,最后祝福所有求职者都能入职心仪的公司

现在我邀请你进入我们的软件测试学习交流群:914172719,备注“入群”可自取这份文档, 大家也可以一起探讨交流,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

 

标签:脚本,面试题,Selenium,用例,测试,自动化,软件测试
From: https://www.cnblogs.com/ccssx/p/17360192.html

相关文章

  • 面试题 05.03. 翻转数位
     分析:这道题看的解析过的,但是还是有点不懂这道题大概思路懂了,就是通过三个变量,遇到1或者0刷新值,然后每次取三个变量最大值但是看解析代码有一行没看懂那个&,好像是位运算的符号,还有那个代码里面的1>>i没看懂代码:1classSolution(object):2defreverseBits(self,......
  • java面试题--JMM
    一、说一下JAVA内存模型JMM分为哪几个区域?堆(GC堆):GC的主要区域。存放的是对象实例。 线程共享区域。方法区:也称为元数据区。存放是类的信息,包括类的类型,字段信息,方法信息等。线程共享区域。本地方法栈:存放native方法。线程私有区域。虚拟机栈:线程私有区域。程序计数器:线程......
  • 小程序自动化测试框架Minium——框架介绍和环境搭建
    转自:https://blog.csdn.net/wessonlan/article/details/125360537一、Minium简介minium是微信团队为小程序专门开发的自动化框架,我们可以用它来做小程序的UI自动化测试,但是它的能力却不仅仅在于UI自动化。正是得益于官方订制打造,所以对于小程序很多原生内容和特性的支持自然......
  • selenium笔记之PC浏览器仿真移动端
    本来写的UI走查的代码主要场景是web浏览器,少量h5页面校验不值得大费周章用真机去跑背景:首先尝试了移动端真机巡检,但是不同机型,需要调试出合适的appPackage以及其它参数上一段代码:publicAndroidDrivergetWebDriverForAPP(){AndroidDriverappDriver=null;......
  • 一次失败的面试经历:我只想找个工作,你却用面试题羞辱我
    金三银四就要来了,即将又是一波求职月,面对跳槽的高峰期,很多软件测试人员都希望能拿一个满意的高薪offer,但是随着招聘职位的不断增多,面试的难度也随之加大,而面试官更是会择优录取小王最近为面试已经焦头烂额了,他说看着招聘条件里写的岗位职责、任职要求,几乎就是为自己量身定制的,满......
  • python+playwright 学习-58 Jenkins上使用 Pipeline 运行 playwright 自动化脚本
    前言Dockerfile.focal可用于在Docker环境中运行Playwright脚本。这些镜像包括在Docker容器中运行浏览器所需的所有依赖项,还包括浏览器本身。playwright在linux系统上目前只支持Ubuntu系统的部分版本,centos和debian系统上是没法运行的。jenkins环境准备需安装2个跟d......
  • #yyds干货盘点# LeetCode面试题:合并两个有序数组
    1.简述:给你两个按非递减顺序排列的整数数组 nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1......
  • 面试题 17.16. 按摩师
     分析:大概意思就是需要间隔一个才能再次预约,然后取最大时间代码:1classSolution(object):2defmassage(self,nums):3"""4:typenums:List[int]5:rtype:int6"""7n=len(nums)8f=[0fo......
  • 小D-新版接口自动化教程-实操
    setUptearDown TestSuite ......
  • mysql面试题
    DB哥MySQL高级教程-系统学习MySQL共149课时关注微信公众号免费学:DB哥文末有MySQL高级课程目录什么是MySQLMySQL是一个关系型数据库,它采用表的形式来存储数据。你可以理解成是Excel表格,既然是表的形式存储数据,就有表结构(行和列)。行代表每一行数据,列代表该行中的每个值。列上......