MeterSphere测试平台UI 自动化窗口切换方法

random
random
订阅者
10532
文章
0
粉丝
Auto测试 测试交流7487字数 562阅读1分52秒阅读模式

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

本篇是使用 MeterSphere 的方式去定位。关于 MeterSphere 详细信息,请查看官网网站文章源自玩技e族-https://www.playezu.com/704484.html

一、需要定位 iframe 中元素

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

最终效果:
MeterSphere测试平台UI 自动化窗口切换方法插图
MeterSphere测试平台UI 自动化窗口切换方法插图1文章源自玩技e族-https://www.playezu.com/704484.html

1.1 流程分析

第一步:打开网易云
第二部:点击” 华语 “按钮文章源自玩技e族-https://www.playezu.com/704484.html

通过 F12 分析查看,
MeterSphere测试平台UI 自动化窗口切换方法插图2
” 华语 “链接在 iframe 页面里面,所以,当我们直接定位” 华语 “链接是定位不到的。
如图:
MeterSphere测试平台UI 自动化窗口切换方法插图3
就会报错,找不到元素。所以我们需要先定位 iframe,然后再定位” 华语 “文章源自玩技e族-https://www.playezu.com/704484.html

1.2 正确操作

MeterSphere测试平台UI 自动化窗口切换方法插图4
如上图所示文章源自玩技e族-https://www.playezu.com/704484.html

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

1.3 结果

MeterSphere测试平台UI 自动化窗口切换方法插图5
我们点开截图,可以看到,正是我们所需要的效果。
MeterSphere测试平台UI 自动化窗口切换方法插图6文章源自玩技e族-https://www.playezu.com/704484.html

二、需要定位新窗口元素

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

最终效果:
MeterSphere测试平台UI 自动化窗口切换方法插图7
MeterSphere测试平台UI 自动化窗口切换方法插图8
会弹出新窗口,填写登录信息。文章源自玩技e族-https://www.playezu.com/704484.html

2.1 流程分析

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

MeterSphere测试平台UI 自动化窗口切换方法插图9文章源自玩技e族-https://www.playezu.com/704484.html

2.2 正确操作

按照正常的步骤,我们添加一个切换窗口的操作。
MeterSphere测试平台UI 自动化窗口切换方法插图10文章源自玩技e族-https://www.playezu.com/704484.html

  1. 选择 “浏览器操作”
  2. 选择 “切换窗口”
  3. 选择 “根据网页索引号切换到指定窗口”
  4. 填写网页索引号MeterSphere测试平台UI 自动化窗口切换方法插图11

2.3 结果

MeterSphere测试平台UI 自动化窗口切换方法插图12
MeterSphere测试平台UI 自动化窗口切换方法插图13文章源自玩技e族-https://www.playezu.com/704484.html

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

三、总结

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

      楼主,麻烦问一下,你用的是 MeterSphere 的几版本;我这边自己本地部署成功,web 页面是无法访问的

      • 灬囖
        灬囖 9

        我们的是私有化部署的哈。你的应该是 cloud 版本的

        • 持
          9

          主要是想介绍 MeterSphere 这个工具的吧

          • 徐汪成
            徐汪成 9

            这个只要做过 UI 自动化的不是基本常识吗?

            • 灬囖
              灬囖 9

              哈哈,快去注册,可以免费体验 https://cloud.metersphere.com/

              • 持
                9

                为什么我实用 UI 自动化测试,界面与你的不同

                • tangoliver
                  tangoliver 9

                  看看付费功能

                匿名

                发表评论

                匿名网友
                :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
                确定

                拖动滑块以完成验证