MeterSphere之UI自动化窗口切换

前言: 最近在做UI自动化测试的时候,遇到了一个问题,使用元素定位,怎么都定位不到元素,最后排查下来发现,是因为网页中嵌套了iframe页面,定位的元素在iframe中,所以需要先定位到iframe元素,然后再定位嵌套内的元素才行。
在我们日常工作当中,经常有各种复杂的页面,本篇总结两个比较常用的场景。

本篇是使用MeterSphere的方式去定位。关于MeterSphere详细信息,请查看官网网站

一、需要定位iframe中元素

  • 我们就以网易云为例子,模拟一个打开页面,查询华语歌曲的场景。

最终效果:
image.png
image.png

1.1 流程分析

第一步:打开网易云
第二部:点击”华语“按钮

通过F12分析查看,
image.png
”华语“链接在iframe页面里面,所以,当我们直接定位”华语“链接是定位不到的。
如图:
image.png
就会报错,找不到元素。所以我们需要先定位iframe,然后再定位”华语“

1.2 正确操作

image.png
如上图所示

  1. 选择“浏览器操作”
  2. 选择“内嵌网页”
  3. 选择“根据定位方式切换iframe”
  4. 定位要定位的iframe元素

1.3 结果

image.png
我们点开截图,可以看到,正是我们所需要的效果。
image.png

二、需要定位新窗口元素

  • 我们以淘宝为例子,模拟打开一个新窗口登录的场景。

最终效果:
image.png
image.png
会弹出新窗口,填写登录信息。

2.1 流程分析

  1. 访问淘宝地址
  2. 点击某个类目,会跳转一个新的窗口。
  3. 切换新窗口,填写账号信息。

image.png

2.2 正确操作

按照正常的步骤,我们添加一个切换窗口的操作。
image.png

  1. 选择“浏览器操作”
  2. 选择“切换窗口”
  3. 选择“根据网页索引号切换到指定窗口”
  4. 填写网页索引号image.png

2.3 结果

image.png
image.png

根据以上操作,可以查看所需结果是正确的。

三、总结

  1. 以上是我们日常工作中比较常见的两种场景:
    1. iframe嵌套定位
    2. 新窗口定位
  2. MeterSphere的底层实现也是Selenium为工具实现的,所以我们只需要按照Selenium的操作即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值