python+selenium⾯试题
⼀、selenium中如何判断元素是否存在
xpath语法 python 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⾃动化的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论