MeterSphereUI测试模块实现创建新标签页及页面切换

发布于 2022年12月08日

本期操作教程为大家介绍使用MeterSphere开源持续测试平台的UI测试模块,实现创建新标签页及控制多个标签页进行切换的操作方法。

一、操作场景和流程

UI自动化测试的过程中通常会遇到如下两种场景:

■ 控制浏览器某个页面时,需要打开新的标签页处理问题,处理结束后再返回到前一个页面处;

■ 浏览网页时,有时点击一个链接或者按钮,会弹出一个新的窗口,用户需要切换到新窗口进行后续操作。

进行Web端UI自动化测试时,如果在弹出新窗口后没有对窗口进行切换,那么WebDriver对象的焦点依然是对应的旧窗口,后续的自动化操作将继续在旧窗口中进行。这里就会涉及到如下两个问题:

■ 需要打开新的浏览器标签;

■ 需要控制多个标签进行切换。

下面我们将以一个简单的场景为例,介绍如何通过MeterSphere开源持续测试平台的UI测试模块实现以上场景。具体流程如下:

1. 打开“百度”页面,然后新建标签页打开“www.fit2cloud.com”飞致云官方网站页面;

2. 切换至“www.fit2cloud.com”官方网站并点击“技术博客”链接;

3. 切换至“技术博客”页面,再切换回“www.fit2cloud.com”官方网站,最后切换回“百度”页面。

二、如何打开新的标签页?

如果直接在MeterSphere UI自动化步骤页面添加两个打开网页的步骤,默认为打开第一个页面,打开第二个页面时会覆盖第一个页面。即无论添加多少个打开网页的步骤,浏览器都只会保留最后一个网页,这很明显不是我们所期待的结果。

如果想实现“打开一个标签页后再打开新标签页”的效果,可以通过添加后置脚本来实现,具体如下:

比如想实现打开“百度”页面然后新建标签页打开“www.fit2cloud.com”官方网站,可以将以下脚本添加到打开“百度”页面场景步骤的后置脚本中。

window.open("https://www.fit2cloud.com/", "_blank");

三、控制多个标签页进行切换

1.  实现方式

要实现多个标签页的切换,需要选择浏览器操作控件,步骤类型选择“切换窗口”选项。

这里可以看到共有三种方式可以实现窗口的切换,分别是:

■ 根据句柄ID切换到指定窗口

使用句柄切换的主要目的是可以切换到指定的窗口,而且不需要记住此窗口对应的索引值。实现根据句柄切换需要先提取步骤中产生的句柄ID并设置参数名,后续步骤可以直接切换到此参数名对应的页面;

■ 根据网页索引号切换到指定窗口

根据索引切换即选择打开过的第几个网页。比如索引值输入“2”,那么效果会切换到已经打开过的第2个窗口(索引值从1开始计算);

■ 切换到初始窗口

切换到初始窗口,顾名思义就是切换到最开始打开的标签页,等同于使用索引切换索引值设置为“1”。

2. 实现步骤

 使用网页索引号切换到“www.fit2cloud.com”官方网站,页面索引号设置为“2”。

连续选择 “后置操作”→“数据提取”→“提取窗口信息”→“窗口Handle”,并设置参数名。

 切换到“www.fit2cloud.com”官方网站后,可以通过添加鼠标操作的控件,使用元素定位模拟点击官网中的“技术博客”链接。

 使用网页索引号切换到“技术博客”标签页,页面索引号设置为“3”。

 选择“根据句柄ID切换到指定窗口”选项,切换回“www.fit2cloud.com”官方网站。句柄ID设置需要切换的参数名。使用第二步中所提取的参数,通过${参数名} 直接引用即可。

 选择“切换到初始窗口”选项切换回“百度”页面。

四、运行结果及报告

UI自动化场景编排完成之后,可以运行查看效果。运行UI自动化提供了三种方式,分别是是本地调试、后端调试和生成报告。用本地调试模式运行最终效果如下:

使用生成报告模式执行,能够看到每一步的执行结果,也能通过截图查看执行结果是否符合预期。如下图所示,点击截图后可以看到整个UI自动化场景已经实现了创建新标签页,并且按照设定的步骤进行了页面的切换。