软件测试自动化面试必“背”题,不是说必“备”啊,是背!牢记在心里的那种!

软件测试自动化面试必“背”题,不是说必“备”啊,是背!牢记在心里的那种!

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

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

2、 如何处理下拉菜单/h2>

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

① 定位元素

②把定位的元素转化成Select对象。

sel = Select(定位的元素对象)

③通过下标或者值或者文本选中下拉框。

sel.select_by_index(index);

sel.select_by_value(value);

sel.select_by_visible_text(text);

3、在日历这种web 表单你是如何处理的/h2>

??首先要分析当前 页试用日历插件的前端代码,看看能不能通过元素定位,点击日期实现,如果不能,可能需要借助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、如何实现文件上传/h2>

??定位元素后,直接使用send_keys()方法设置就行,参数为需要上传的文件的路径。

8、自动化中有哪三类等待们有什么特点/h2>

①线程等待(强制等待)如time.sleep(2):线程强制休眠2秒钟,②秒过后,再执行后续的代码。建议少用。

③imlicitlyWait(隐式等待)会在指定的时间范围内不断的查找元素,直到找到元素或超时,特点是必须等待整个页面加载完成。

④WebDriverWait(显式等待)通常是我们自定义的一个函数代码,这段代码用来等待某个元素加载完成,再继续执行后续的代码

9、你写的测试脚本能在不同浏览器上运行吗

??当然可以,我写的用例可以在在IE,火狐和谷歌这三种浏览器上运行。实现的思路是封装一个方法,分别传入一个浏览器的字符串,如果传入IE就使用IE,如果传入FireFox就使用FireFox,如果传入Chrome就使用Chrome浏览器,并且使用什么浏览器可以在总的ini配置文件中进行配置。需要注意的是每个浏览器使用的驱动不一样。

10、什么是PO模式,为什么要使用它

??PO是Page Object 模式的简称,它是一种设计思想,意思是,把一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为,PO模式一般使用三层架构,分别为:基础封装层BasePage,PO页面对象层,TestCase测试用例层。

总结

如果想学习软件测试,就快加入:893694563,群内学软件测试,分享技术和学习资料,陪你一起成长和学习。

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览211389 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月9日
下一篇 2021年9月9日

相关推荐