首页 > IT职业 > IT职场 > 【编测编学】自动化测试面试必背(下)
1 、怎么验证元素是 enable/disabled/checked 状态?
定位元素后:分别通过 isEnabled() , isSelected() , isDisplayed() 三个方法进行判断。
2 、 如何处理下拉菜单?
在 Selenium 中有一个叫 Select 的类,这个类支持对下拉菜单进行操作。使用方法如下:
② 定位元素
②把定位的元素转化成 Select 对象。
sel = Select( 定位的元素对象 )
③通过下标或者值或者文本选中下拉框。
sel.select_by_index(index);
sel.select_by_value(value);
sel.select_by_visible_text(text);
3 、在日历这种 web 表单你是如何处理的 ?
首先要分析当前网页试用日历插件的前端代码,看看能不能通过元素定位,点击日期实现,如果不能,可能需要借助 javascript 。还有些日历控件一个文本输入框,可以直接 sendKeys() 方法来实现传入一个时间的数据。
4 、举例一下说明一下你遇到过那些异常
常见的 selenium 异常有这些:
NoSuchElementException
:没有该元素异常
TimeoutException
:
超时异常
ElementNotVisibleException
:元素不可见异常
NoSuchAttributeException
:没有这样属性异常
NoSuchFrameException
:没有该
frame
异常
5 、关闭浏览器中 quit 和 close 的区别
简单来说,两个都可以实现退出浏览器 session 功能, close 是关闭你当前聚焦的 tab 页面,而 quit 是关闭全部浏览器 tab 页面,并退出浏览器 session 。知道这两个区别,我们就知道 quit 一般用在结束测试之前的操作, close 用在执行用例过程中关闭某一个页面的操作。
6 、在 Selenium 中如何实现截图,如何实现用例执行失败才截图
在 Selenium 中提供了一个 get_screenshot_as_file() 的方法来截图的,一般结合 try/except 捕获异常时使用,进行错误截图。
7 、如何实现文件上传?
定位元素后,直接使用 send_keys() 方法设置就行,参数为需要上传的文件的路径。
8 、自动化中有哪三类等待?他们有什么特点?
①线程等待(强制等待)如 time.sleep(2) :线程强制休眠 2 秒钟,②秒过后,再执行后续的代码。建议少用。
③ imlicitlyWait (隐式等待)会在指定的时间范围内不断的查找元素,直到找到元素或超时,特点是必须等待整个页面加载完成。
④ WebDriverWait (显式等待)通常是我们自定义的一个函数代码,这段代码用来等待某个元素加载完成,再继续执行后续的代码
9 、你写的测试脚本能在不同浏览器上运行吗
当然可以,我写的用例可以在在 IE ,火狐和谷歌这三种浏览器上运行。实现的思路是封装一个方法,分别传入一个浏览器的字符串,如果传入 IE 就使用 IE ,如果传入 FireFox 就使用 FireFox ,如果传入 Chrome 就使用 Chrome 浏览器,并且使用什么浏览器可以在总的 ini 配置文件中进行配置。需要注意的是每个浏览器使用的驱动不一样。
10 、什么是 PO 模式,为什么要使用它
PO 是 Page Object 模式的简称,它是一种设计思想,意思是,把一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为, PO 模式一般使用三层架构,分别为:基础封装层 BasePage , PO 页面对象层, TestCase 测试用例层。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985967/viewspace-2752290/ ,如需转载,请注明出处,否则将追究法律责任。