_AD
(霍格沃兹_AD)
1
本文引用自霍格沃兹测试开发学社录播课《定位不到元素》
经典面试题-定位不到元素
霍格沃兹测试开发
http://ceshiren.com
学习目标
- 了解常见问题
- 了解每个问题对应的知识点/解决方案
- 回顾录播课内容
元素定位常见的相关问题
- Selenium/Appium定位方法有几种?分别是?
- 定位不到元素是什么原因导致的?
- selenium 中隐藏元素如何定位?
- 如何定位动态元素
- 如何通过子元素定位父元素
- 如何判断一个页面上元素是否存在?
- 有的元素就加载页面上,但是你却定位不到,怎么解决
- 一个元素明明定位到了,点击无效(也没报错),如何解决?
问题分类
类型 |
面试问题 |
元素定位 |
Selenium定位方法有几种?分别是? |
|
如何通过子元素定位父元素? |
元素定位不到 |
定位不到元素是什么原因导致的? |
|
如何定位动态元素 |
|
selenium 中隐藏元素如何定位? |
|
有的元素就加载页面上,但是你却定位不到,怎么解决 |
元素操作 |
一个元素明明定位到了,点击无效(也没报错),如何解决? |
|
如果产品总是出现弹窗,导致用例无法执行,应该如何解决? |
|
如何获取app中的toast消息提示? |
元素是否在页面存在 |
如何判断一个页面上元素是否存在? |
元素是否在页面存在
- 问题:如何判断一个页面上元素是否存在?
- 解决方案:通过查看当前页面dom,搜索该元素是否存在。如果是脚本自动化运行过程中,应该通过打印page_source,即可了解到该元素在运行过程中是否存在
- 对应知识点:《自动化关键数据记录》
元素定位
面试问题 |
答案 |
对应录播 |
Selenium定位方法有几种?分别是? |
八种定位方式,常用的为id、name、css、xpath |
《常见控件定位方法》 |
如何通过子元素定位父元素? |
编写xpath定位 |
《高级定位-xpath》 |
元素操作
- 一个元素明明定位到了,点击无效(也没报错),如何解决?
- 如果产品总是出现弹窗,导致用例无法执行,应该如何解决?
原因 |
解决方案 |
对应知识点 |
异步加载js导致点击不到 |
循环点击该按钮,直到生效为止 |
《显示等待》 |
app突然出现弹框,导致元素遮挡 |
通过添加黑名单异常处理解决 |
《弹框处理》 |
如何获取app中的toast消息提示? |
直接通过xpath定位结合隐式等待获取 |
《特殊控件 toast 识别》 |
元素定位不到
原因 |
解决方案 |
对应知识点 |
定位不正确 |
在console先测试定位是否正确 |
定位 |
存在动态ID |
定位方式使用css或者xpath的相对定位 |
高级定位之css、xpath |
页面还没有加载完成 |
添加死等验证,使用显示等待或隐式等待进行优化 |
隐式等待、显式等待 |
页面有iframe |
切换到iframe后定位 |
网页 frame 与多窗口处理 |
页面切换window |
切换到对应窗口后定位 |
网页 frame 与多窗口处理 |
要定位元素为隐藏元素 |
使用js操作该元素 |
执行 javascript 脚本 |
演示环境
演示环境:
1 个赞