八年测开经验面试28K公司后web自动化中如何处理alert弹窗?❶参考点考察web自动化测试中常见的一种处理场景遇到alert弹窗如何去定位处理弹窗❷面试命中率80%❸参考答案selenium里提供了switch_to.ale。
❶
参考点
考察web自动化测试中常见的一种处理场景
遇到alert弹窗如何去定位处理弹窗
❷
面试命中率
80%
❸
参考答案
selenium里提供了switch_to.alert方法来处理弹窗,处理代码如下(Python)
#切换到alert窗口 alert = driver.switch_to.alert
#点击确定 alert.accept()
#02
说一下你知道的HTTP状态码,以及他们代表什么意思
❶
参考点
考察求职者对http协议是否有一定了解
考察工作中常见http状态码的含义
❷
面试命中率
90%
❸
参考答案
#03
说一下DNS解析流程?❶
参考点
考察网络协议基础
考察对网络架构的认识
❷
面试命中率
85%
❸
参考答案
#04
Tcp三次握手流程?❶
参考点
考察网络协议的理论基础考察Tcp链接的创建过程
❷
面试命中率
89%
❸
参考答案
#05
如何模拟弱网测试?❶
参考点
考察弱网测试概念
考察模拟弱网的思路
❷
面试命中率
90%
❸
参考答案
很多抓包工具都可以做到模拟网络情况,比如fiddler、charles。如果是网站还可以采用chrome开发者工具模拟弱网,如果是手机app则可以在手机自身的网络设置里设置为2G/3G/4G/飞行模式。
#06
自动化测试框架都包括哪些模块?❶
参考点
对自动化测试框架的认知
❷
面试命中率
90%
❸
参考答案
自动化测试框架模块包括:
基础方法、数据驱动、PO模式分层、自定义异常、工具包、配置文件、测试报告、日志收集、关键字驱动、接口分层、接口数据管理等模块
以上模块均需要集成相关的工具进行二次封装
#07
如何准备性能测试数据❶
参考点
考察性能测试数据的准备方法考察技术全面性
❷
面试命中率
95%
❸
参考答案
#08
GET和POST的区别?
❶
参考点
http协议的请求方法
❷
面试命中率
95%
❸
参考答案
最常见的http/http协议的请求方式是GET和POST,他们之间的区别如下:
#09
http和http的区别?❶
参考点
http协议和http协议
❷
面试命中率
90%
❸
参考答案
HTTP:超文本传输协议,是一个客户端和服务器端的请求和应答的标准。
http:是以安全为目标的HTTP通道,HTTP的安全版本,HTTP下加入SSL层,http的安全基础是SSL,因此加密的详细内容就需要SSL
他们的区别如下:
#10
COOKIE和Session的区别?❶
参考点
会话跟踪技术
❷
面试命中率
90%
❸
参考答案
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话
区别:
#11
web ui自动化测试中显式等待,隐式等待的区别?❶
参考点
web自动化测试的等待
❷
面试命中率
80%
❸
参考答案
#12
验证码的几种处理方式?❶
参考点
验证码处理
❷
面试命中率
85%
❸
参考答案
针对验证码有如下方法:
#13
进程和线程的区别?❶
参考点
进程和线程的概念
❷
面试命中率
90%
❸
参考答案
进程是资源分配最小单位,线程是程序执行的最小单位;
进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段,线程没有独立的地址空间,它使用相同的地址空间共享数据;
CPU切换一个线程比切换进程花费小;创建一个线程比进程开销小;线程占用的资源要⽐进程少很多。
线程之间通信更方便,同一个进程下,线程共享全局变量,静态变量等数据,进程之间的通信需要以通信的方式(IPC)进行;(但多线程程序处理好同步与互斥是个难点)
多进程程序更安全,生命力更强,一个进程死掉不会对另一个进程造成影响(源于有独立的地址空间),多线程程序更不易维护,一个线程死掉,整个进程就死掉了(因为共享地址空间);
进程对资源保护要求高,开销大,效率相对较低,线程资源保护要求不高,但开销小,效率高,可频繁切换
#14
在你做自动化测试的过程中,遇到什么问题了吗?❶
参考点
自动化测试实际经验和问题处理能力
❷
面试命中率
95%
❸
参考答案
这个问题,不管是自动化还是任何工作,都会被问到。主要想知道你是如何解决问题的,从而推断你问题分析和解决的能力。
当然有遇到问题和挑战,主要有以下几点:
#15
在selenium中如何处理多窗口?❶
参考点
多窗口处理
❷
面试命中率
85%
❸
参考答案
这个多窗口之间跳转处理,在实际selenium自动化测试经常遇到。点击一个链接,这个链接会在一个新的tab打开,然后接下来要查找元素在新tab打开的页面,需要先将driver切换至window,然后再定位,步骤如下:
#16
性能测试的流程是什么?❶
参考点
对性能测试理论的掌握程度
是否拥有实际性能测试的经验
❷
面试命中率
90%
❸
参考答案
需求调研 - 环境搭建 - 脚本编写 - 准备数据 - 执行测试 - 回归调优 - 测试报告
#17
什么是长连接,什么是短连接?❶
参考点
考察计算机基础
考察对系统间通信机制的了解
❷
面试命中率
85%
❸
参考答案
长连接和短连接是客户端和服务端之间的通信机制。
#18
说说你对集合点的理解以及在项目中的应用?❶
参考点
对集合点概念的理解
工作过程中哪些项目使用过集合点,使用过程的描述性话语
❷
面试命中率
80%
❸
参考答案
1. 集合点是测试脚本中的一个标记,当每个虚拟用户执行到标记处时,会停留在标记处等待其他的虚拟用户,当达到预期设置的并发数时,标记处的所有用户同时启动执行后续的请求
2. 集合点会产生瞬间高并发,但是也会降低平均压力。所以在压测过程中,如果有要求瞬间高并发的业务,就需要使用集合点,比如抢购,秒杀之类的业务。
3. 没有类似业务则不需要加集合点
4. lr_rendezvous(“集合点名称”),同步定时器
#19
性能测试中的思考时间应该怎么用❶
参考点
性能测试中思考时间的概念
性能测试中哪些场景下使用思路时间
❷
面试命中率
80%
❸
参考答案
对于交互系统来说,用户在向服务器发送一个请求后,会等待一段时间后再发送下一个请求。
在性能测试过程中,使用思考时间来描述这段时间。
一般思考时间是在一定时间范围内随机变化的,例如1至3秒之间随机变化。
在LoadRunner中主要通过lr_think_time函数 RTS模拟随机思考时间,在jmeter中通过高斯随机定时器来模拟随机思考时间。
思考时间的应用场景一般是构造测试数据接口、混合压测场景、稳定性压测场景
#20
出现内存泄露的根本原因是什么?你是怎么定位内存泄露原因的?❶
参考点
内存泄漏成因分析
定位内存泄漏常用方法
结合实际工作过程进行描述性说明
❷
面试命中率
85%
❸
参考答案
#21
工作中常用的jmeter自带函数有哪些?❶
参考点
jmeter函数列举
抽取实际工作过程中常用的jmeter函数使用场景进行描述
❷
面试命中率
85%
❸
参考答案