自动化测试面试绝对会被问到的问题——学会直接吊打面试官!

自动化测试面试绝对会被问到的问题——学会直接吊打面试官!_第1张图片
点击领取学习资料
1.如何设计高质量自动化脚本?

使用四层结构实现业务逻辑、脚本、数据分离。

.使用PO设计模式,将一个页面用到的元素和操作步骤封装在一个页面类中。如果一个元素定位发生了改变,我们只用修改这个页面的元素属性

对于页面类的方法,我们尽量从客户的正向逻辑去分析,方法中是一个独立场景,例如:登录到退出,而且不要想着把所有的步骤都封装在一个方法中。

测试用例设计中,减少测试用例之间的耦合度。

2.你的自动化用例的执行策略是什么?

自动化测试用例是用来监控的。集成到jenkins,创建定时任务定时执行;

有些用例在产品上线前必须回归。jenkins上将任务绑定到开发的build任务上,触发执行;

有些用例不需要经常执行。jenkins创建一个任务,需要执行的时候人工构建即可。

3.什么是持续集成?

频繁的将代码集成到主干,持续性的进行项目的构架,以便能能够快速发现错误,防止分支大幅度偏离主干

4.自动化测试的时候是不是需要连接数据库做数据校验?

UI自动化不需要

接口测试会需要

5.Selenium有几种定位方式?你最偏爱哪一种,为什么?

Selenium有八种定位方式:

与name有关的有三种:name、class_name、tag_name

与link相关的有两种:link_text、partitial_link_text

与id有关:id

全能选手:xpath、css_selector

如果存在id,我一定使用Id,因为简单方便,定位最快。其次是Xpath,因为很多情况下html标签的属性不够规范,无法唯一定位。Xpath是通过相对位置定位

如果没有,那么CSS定位器应该被优先考虑,因为在大多数现代浏览器中,它们的评估速度比XPath更快。

6.如何提高selenium脚本的执行速度?

优化等待时间,使用WebDriverWait智能等待代替 线性等待sleep和隐式等待imlicitlyWait
减少不必要的操作
在服务器允许的情况下,使用多线程实现并发执行测试用例

7.怎么对含有验证码的功能进行自动化测试?

图像识,难度大,效果不好不推荐

屏蔽验证码,邀请开发处理,在测试环境,预发和正式环境恢复

万能验证码,使用复杂的其他人无法猜到的验证码

8.如何验证复选按钮是不是被选中?

可以使用元素的is selected()方法,如果返回的是true则说明被选中,否则表明未被选中

9.如何处理alert 弹窗?

先定位跳转到alert上,然后点击确认或取消

Alert alert = dirver.swichTo().alert();//切换到alert

alert.accept();//确定

alert.dismiss();//

10.如何用webdriver进行鼠标右键点击操作?

使用Actions 类

Actions actions = new Actions(driver)

actions.moveToElement(element).perform();

actions.contextClick.perform();

11.如何使用webdriver 执行拖拽 的操作?

还是使用actions类

Actions actions = new Actions(driver)

WebElement element1 = driver.findElement(by);

WebElement element2 = driver.findElement(by);

actions.dragAndDrop(element1,element2)perform();

12.举一个WebDriver中方法重载的例子

frame(string, name), frame(int index), frame(Web Element element)

点击领取学习资料

13.下拉菜单如何选择一个菜单项?

如果下拉菜单是select 标签,使用方法;select By Value() 或者selectByIndex()或者select ByVisibleText()即可

如果这个下拉菜单不是通过select标签创建,则直接通过xpath 定位元素然后去点击选择

自动化测试面试绝对会被问到的问题——学会直接吊打面试官!_第2张图片

你可能感兴趣的:(自动化测试,面试题答案,面试,软件测试,测试工程师,selenium)