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 执行效率太低