前言: 最近在做 ui 自动化测试的时候,遇到了一个问题,使用元素定位,怎么都定位不到元素,最后排查下来发现,是因为网页中嵌套了 iframe 页面,定位的元素在 iframe 中,所以需要先定位到 iframe 元素,然后再定位嵌套内的元素才行。
在我们日常工作当中,经常有各种复杂的页面,本篇总结两个比较常用的场景。
本篇是使用 metersphere 的方式去定位。关于 metersphere 详细信息,请查看凯发k8国际官网首页入口官网网站文章源自玩技e族-https://www.playezu.com/704484.html
一、需要定位 iframe 中元素
- 我们就以网易云为例子,模拟一个打开页面,查询华语歌曲的场景。
最终效果:
文章源自玩技e族-https://www.playezu.com/704484.html
1.1 流程分析
第一步:打开网易云
第二部:点击” 华语 “按钮文章源自玩技e族-https://www.playezu.com/704484.html
通过 f12 分析查看,
” 华语 “链接在 iframe 页面里面,所以,当我们直接定位” 华语 “链接是定位不到的。
如图:
就会报错,找不到元素。所以我们需要先定位 iframe,然后再定位” 华语 “文章源自玩技e族-https://www.playezu.com/704484.html
1.2 正确操作
如上图所示文章源自玩技e族-https://www.playezu.com/704484.html
- 选择 “浏览器操作”
- 选择 “内嵌网页”
- 选择 “根据定位方式切换 iframe”
- 定位要定位的 iframe 元素
1.3 结果
我们点开截图,可以看到,正是我们所需要的效果。
文章源自玩技e族-https://www.playezu.com/704484.html
二、需要定位新窗口元素
- 我们以淘宝为例子,模拟打开一个新窗口登录的场景。
最终效果:
会弹出新窗口,填写登录信息。文章源自玩技e族-https://www.playezu.com/704484.html
2.1 流程分析
- 访问淘宝地址
- 点击某个类目,会跳转一个新的窗口。
- 切换新窗口,填写账号信息。
文章源自玩技e族-https://www.playezu.com/704484.html
2.2 正确操作
按照正常的步骤,我们添加一个切换窗口的操作。
文章源自玩技e族-https://www.playezu.com/704484.html
- 选择 “浏览器操作”
- 选择 “切换窗口”
- 选择 “根据网页索引号切换到指定窗口”
- 填写网页索引号
2.3 结果
文章源自玩技e族-https://www.playezu.com/704484.html
根据以上操作,可以查看所需结果是正确的。文章源自玩技e族-https://www.playezu.com/704484.html
三、总结
- 以上是我们日常工作中比较常见的两种场景:
- iframe 嵌套定位
- 新窗口定位
- metersphere 的底层实现也是 selenium 为工具实现的,所以我们只需要按照 selenium 的操作即可。
风险通知:非原创文章均为网络投稿真实性无法判断,侵权联系
免责声明:内容来自用户上传发布或新闻客户端自媒体,切勿!切勿!切勿!添加凯发k8国际官网首页入口的联系方式以免受骗。
7f
楼主,麻烦问一下,你用的是 metersphere 的几版本;我这边自己本地部署成功,web 页面是无法访问的
6f
我们的是私有化部署的哈。你的应该是 cloud 版本的
5f
主要是想介绍 metersphere 这个工具的吧
4f
这个只要做过 ui 自动化的不是基本常识吗?
3f
哈哈,快去注册,可以免费体验 https://cloud.metersphere.com/
2f
为什么我实用 ui 自动化测试,界面与你的不同
1f
看看付费功能