天天看点

UI自动化面试

1.操作链

2.找不到元素的原因有哪些

1)还没有加载好

2)元素不可点击或者 不可见

3)页面元素是动态的

  元素的属性动态  id class 可以是动态的    尽量选择静态属性

  动态位置   第一个 第二个会变化      使用模糊查询或者遍历

3.什么情况下使用javascript定位

元素属性为hidden或者是display = none的元素,可以写javascript将标签中的hidden先改为0,再定位元素

javascript修改元素属性比如隐藏 高亮 背景颜色  再进行操作

4.等待的区别

driver.implicty_writ(30)全局的  下面的找元素都会等待  

webdriverwrit(driver,maxtime,fenquence).until(查找的函数)只针对这个查找元素

两者哪个时间长就是就等待多久

sleep(time)

5.截图截不到的解决方法

看日志

添加录屏功能 

截图三种方法

截浏览器 selenium api

driver.get_screenshot_as_file()

driver.save_screenshot()

截桌面

pillow包

6.提高定位操作率和脚本通过率

增加等待 添加try except  异常出来

7如何提高效率

优化测试用例,尽可能不使用 sleep,减少使用 implicitlywait,而使用 selenium的 wait/fluentwait,这样可以优化等待时间

使用 selenium grid,通过 testng 实现并发执行

针对一些不稳定的动态控件通过 js 实现操作

重载 testng 的 listener 实现 retry 机制,提高测试用例成功率

减少使用 ie 的 driver,ie 执行效率太低

继续阅读