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

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

作者: 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