自动化测试面试宝典,建议进收藏夹

2023-12-21 00:58:34

1、自动化代码中,用到了哪些设计模式?

单例设计模式

工厂模式

PO设计模式

数据驱动模式

面向接口编程设计模式

2、什么是断言( Assert) ?

断言Assert用于在代码中验证实际结果是不是符合预期结果,

如果测试用例执行失败会抛出异常并提供断言日志

3、什么是web自动化测试

Web自动化测试是从UI (用户界面)层面进行的自动化测试,

测试人员通过编程自动化程序(测试用例脚本)来打开浏览器测试网站的业务逻辑。

4、什么是Selenium?

Selenium是一个开源的web自动化测试框架,支持多种编程语言开发自动化测试脚本,支持跨浏览器平台进行测试

5、写出Selenium中你最熟悉的接口或类

WebDriver、InternetExplorerDriver、 FirefoxDriver、 ChromeDriver、 WebElement、WebDriverWait、 By

6、元素定位类型有哪些?

  By类一共有8种元素定位方式,它们都是静态方法:

By.id():

By.name():

By.tagName():

By.className():

By.cssSelector():

By linkText():

By partialLinkText():

By.xpath():

7、Xpath是什么?

它是查找web页面元素的一种方式,相当于元素在dom中间的一个路径,可以采用绝对路径和相对路径的方式进行定位

它对于定义动态的页面元素有很大的帮助,同时也需要谨慎使用,因为如果页面结构发生变化,那么定位信息也可能需要变化。

8、findElement()和findElements(方法有什么区别

两个都是查找页面元素的方法

findElement():查找一个页面元素,只会返回一个WebElement对象

findElements() :查找页面上所有符合匹配的元素,返回元素集合

9、登录按钮除了用click方法进行点击以外还有其他方式吗?

还可以使用submit()方法,前提是input元素的type为submit

10、怎么提高Selenium脚本的执行速度

优化等待时间:使用 WebDriverWait 智能等待来代替线程等待 sleep 和 隐式等待 implicityWait

减少不必要的操作:如直接进入某页面代替经过一系列自动化操作进入某页面在服务器允许的情况下,使用多线程实现并发执行测试用例.

11、怎么对含有验证码的功能进行自动化测试的

1) :图像识别,技术难度大,效果不佳,不推荐

2) :屏蔽验证码,邀请开发处理,但在预生产环境或者生产环境不推荐

3) :万能验证码,使用一个复杂的其他人无法猜到的验证码

12、怎么验证复选按钮是不是被选中

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

13、如何处理alert弹窗?

处理 alert 弹窗首先需要先跳转到 alert 上,然后在点击确定或者取消按钮,

Alert alert = driver.switchTo().alert(); //切换到alert

alert.accept0; //确定

alert.dismiss0; //取消

14、下拉菜单中如何去选择一个菜单项?

如果下拉菜单是select标签,使用方法: selectByValue() 或者 selectByIndex() 或者 selectByVisibleText() 即可

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

15、如何模拟浏览器的前进和后退、刷新操作

driver.navigate().back()://后退

driver. navigate().forward()://前进

driver.navigate0.efresh()://刷新

16、怎么获得当前页面的URL?

String url = driver.getCurrentUrl();

17、WebDriver的close()和quit(方法的区别是什么?

close()方法只是关闭当前正在操作的窗口

quit()是关闭了所有已经打开的窗口

18、你觉得自动化测试用哪些缺陷

成本比较大,而成效可能并不高

适合自动化测试的功能有限

某些功能操作相对复杂,比如验证码

维护成本高,一旦项目需求变更,自动化测试脚本和用例就需要改进

19、Web端功能自动化,如何实现(非input型上传)上传文件

与windows窗口进行交互,可以使用 pywin32库 实现。

20、遇到<d1 class="inf-bar clearfix"> 这种class中间有空格的控件,如何通过class定位?

xpath定位:直接//d1 [@class="inf_bar clearfx"]

css定位: d1.inf_bar.clearfix

鉴于篇幅所限,完整版看图

文章来源:https://blog.csdn.net/test_xiaoqi/article/details/135115697
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。