
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进行处理,非常感谢!