1.简介
数据分页是一种将大量数据划分成多个页面以方便查看和处理的功能。当一个数据表格中包含了大量数据时,将其全部显示在同一页上会使页面变得非常拥挤和难以浏览。因此,将数据表格分成若干个子集,并将这些子集分别显示在不同的页面上,能够提高用户的浏览和操作效率。 但是对于分页测试,这种一般都是公共的方法系统中都写好了,这种一般出现是数据展示比较多的时候,会采取分页的方法,而且比较固定,一般是没有问题的,因此它非常适合自动化测试,但是如何使用playwright来进行翻页自动化测试了,宏哥今天就讲解和分享一下。
2.测试场景
对分页来说,我们最感兴趣的和测试的无非就是下面几个信息:
(1)当前总共有多少页(因为有时候当前是6页但是点击下一个前边的消失后边的页码就会出现了,总数大于当前页数)
(2)当前是第几页
(3)是否可以上一页和下一页点击
3.自动化实战
宏哥发现了一个有用的小网站,在这里可以找到各种各样的实例,宏哥就再也不用自己写demo了,网站地址:www.jq22.com
3.1代码设计
3.2参考代码
package com.bjhg.playwright;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;
/**
* @author 北京-宏哥
*
* @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货)
*
* 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-41-翻页测试 (详细教程)
*
* 2025年12月31日
*/
public class Test_Page {
public static void main(String[] args) {
// TODO Auto-generated method stub
try (Playwright playwright = Playwright.create()) {
//1.使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(300));
//2.创建context
BrowserContext context = browser.newContext();
//创建page
Page page = context.newPage();
page.screenshot();
//3.浏览器访问demo
page.navigate("https://www.jq22.com/demojq22ys/jquerypager20150821/");
Thread.sleep(300);
// 计算展示出总页数:获取所有li元素数量,并减去首尾导航按钮(首页、«、»、尾页)
int totalLiCount = page.locator("//*[@id='pager']/ul/li").count();
int totalPages = totalLiCount - 4; // 减去首页、上一个、下一个、尾页(如果存在)或占位符
System.out.println("Current Total page is: " + totalPages);
// 遍历所有分页元素
Locator allPageItems = page.locator("//*[@id='pager']/ul/li");
for (int i = 4; i < allPageItems.count(); i++) {
// 点击第i个分页按钮(索引从1开始,但是网页的首页、上一页没有显示和第一页已经点击所以从第二页开始点击)
page.locator("//div[@id='pager']/ul/li["+i+"]").click();
// 等待300毫秒,模拟操作间隔
page.waitForTimeout(300);
}
// 定位并获取当前激活页面的页码文本
Locator currentPageLocator = page.locator("#pager >> ul >> li.pgCurrent");
String currentPageText = currentPageLocator.textContent();
System.out.println("Current click page is: " + currentPageText);
Thread.sleep(1000);
System.out.println("Test Pass");
//5.关闭page
page.close();
//6.关闭browser
browser.close();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.3运行代码
1.运行代码,右键Run As->Java Application,就可以看到控制台输出,如下图所示:
2.运行代码后电脑端的浏览器的动作(访问demo,点击第二页,然后打印当前点击选中的页码)。如下图所示:
4.小结
到此翻页自动化测试就实现了,其实很简单的,难点就是定位元素,以及循环点击页码。好了,今天时间不是很早了,宏哥就讲解和分享到这里,感谢您耐心的阅读!!!今天是2025年的最后一天了,原估计没有打算发文,想着有始有终,还是水一篇吧(比较简单,望各位见谅),提前祝各位小伙伴或者童鞋们,新年大吉,福运加码,马上发财~