美文网首页
【编测编学】自动化测试面试必背(下)

【编测编学】自动化测试面试必背(下)

作者: BCBX_编测编学 | 来源:发表于2021-01-23 13:57 被阅读0次

1、怎么验证元素是enable/disabled/checked状态?

定位元素后:分别通过isEnabled(),isSelected(),isDisplayed()三个方法进行判断。

2 如何处理下拉菜单?

在Selenium中有一个叫Select的类,这个类支持对下拉菜单进行操作。使用方法如下:

[if !supportLists]② [endif]定位元素

②把定位的元素转化成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、关闭浏览器中quitclose的区别

简单来说,两个都可以实现退出浏览器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测试用例层。

相关文章

网友评论

      本文标题:【编测编学】自动化测试面试必背(下)

      本文链接:https://www.haomeiwen.com/subject/wcfuzktx.html