python+selenium面试题


一、selenium中如何判断元素是否存在
  
expected_conditions模块提供了多种校验方式,我常用的一种是presence_of_element_located(判断某个元素是否被加到了dom树里,
并不代表该元素一定可见,如果定位到就返回WebElement)

二、selenium中hidden或者是display = none的元素是否可以定位到?
  可以定位到,但是不能操作,为了显示我们会的更多,我们可以说通过is_displayed()方法来判断显示或不显示,如果想点击的话,可以用js
去掉dispalay=none的属性。

三、selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?
  通过wait模块中的WebDriverWait类提供的until或until_not方法与expected_conditions结合使用,进行二次封装。

四、如何提高selenium脚本的执行速度?
  1.少用sleep,尽量不用implicitly_wait
  2.多用显式等待方法

五、用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?
  通过wait模块中的WebDriverWait类提供的until或until_not方法与expected_conditions结合使用,进行二次封装。

六、自动化测试的时候是不是需要连接数据库做数据校验?
  UI自动化不需要、接口测试会需要

七、id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?
  我喜欢用css selector  css语法简洁,定位快(xpath语法长,定位慢,还不稳定)

八、如何去定位页面上动态加载的元素?
  通过wait模块中的WebDriverWait类提供的until循环的去判断是否出现了要用的元素

九、如何去定位属性动态变化的元素?
  先去找该元素不变的属性,要是都变,那就找不变的父元素,用层级定位

十、怎样去选择一个下拉框中的value=xx的option?
  1、通过两次click可以做到
  2、通过执行js脚本做到(前提是你能写出js代码)
  3、selenium提供了select模块,我们可以通过select模块中的方法定位,比如 index_of、value、text
  4、还可以通过xpath定位,但是有时会出错误

十一、UI自动化最大的缺陷是什么?
  
需求变动大的时候,维护成本大

十二、webdriver可以用来做接口测试吗?
  
不可以、webdriver是专门做webUI自动化的。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM