《最新出炉》系列入门篇-Python+Playwright自动化测试-43-分页测试
1.简介
分页测试,这种一般都是公共的方法系统中都写好了,这种一般出现是数据展示比较多的时候,会采取分页的方法,而且比较固定,一般是没有问题的,因此它非常适合自动化测试,但是如何使用playwright来进行分页自动化测试了,宏哥今天就讲解和分享一下。
2.测试场景
对分页来说,我们最感兴趣的和测试的无非就是下面几个信息:
(1)当前总共有多少页(因为有时候当前是6页但是点击下一个前边的消失后边的页码就会出现了,总数大于当前页数)
(2)当前是第几页
(3)是否可以上一页和下一页点击
3.自动化实战
宏哥发现了一个有用的小网站,在这里可以找到各种各样的实例,宏哥就再也不用自己写demo了,网站地址:https://www.jq22.com
3.1代码设计

3.2参考代码
# coding=utf-8 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行 # 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2023-12-07
@author: 北京-宏哥
公众号:北京宏哥
Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试-43-分页测试
'''
# 3.导入模块
from playwright.sync_api import Playwright, sync_playwright, expect def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto("https://www.jq22.com/demo/jqueryPager202102221221/")
# 获得所有分页的数量
# -4是因为要去掉首页、上一个(«)和下一个(»)'[name="radio"]'
total_pages = page.locator('//*[@id="page"]/ul/li').count()-4
print("Total page is", total_pages)
for li in page.locator('//*[@id="page"]/ul/li').all():
page.locator("//div[@id='page']/ul/li[8]").click()
page.wait_for_timeout(300)
# 当前页面是第几页
current_page = page.locator("#page>> ul >> li.active")
print("Current page is", current_page.text_content())
context.close()
browser.close() with sync_playwright() as playwright:
run(playwright)
3.3运行代码
1.运行代码,右键Run'Test',控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作。如下图所示:

4.小结
到此分页自动化测试就实现了,其实很简单的。好了,今天时间不是很早了,宏哥就讲解和分享到这里,感谢您耐心的阅读!!!
《最新出炉》系列入门篇-Python+Playwright自动化测试-43-分页测试的更多相关文章
- Spring实践系列-入门篇(一)
本文主要介绍了在本地搭建并运行一个Spring应用,演示了Spring依赖注入的特性 1 环境搭建 1.1 Maven依赖 目前只用到依赖注入的功能,故以下三个包已满足使用. <properti ...
- Google C++测试框架系列入门篇:第三章 基本概念
上一篇:Google C++测试框架系列入门篇:第二章 开始一个新项目 原始链接:Basic Concepts 词汇表 版本号:v_0.1 基本概念 使用GTest你肯定会接触到断言这个概念.断言是用 ...
- Google C++测试框架系列入门篇:第二章 开始一个新项目
上一篇:Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest? 原始链接:Setting up a New Test Project 词汇表 版本号:v_0.1 开始一个新项目 ...
- Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码
Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...
- 深入浅出ASP.NET Core系列(入门篇)
入门篇 1.1.专题介绍 1.2.环境安装 1.3.创建项目 1.4部署到IIS 1.5准备CentOS和Nginx环境 1.6部署到CentOS 2.1命令行和JSON的配置 2.2Bind建立配置 ...
- 0x00-Kali Linux 系列入门篇
Kali Linux介绍篇 Kali Linux 官网:https://www.kali.org/ Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Li ...
- Node.js 从入门到茫然系列——入门篇
在创建服务的时候,我们一般代码就是: var http = require("http"); var server = http.createServer(function(req ...
- Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest?
原始链接:Introduction: Why Google C++ Testing Framework? 词汇表 版本号:v_0.1 介绍:为什么使用GTest? GTest帮助你写更好的C++测试代 ...
- python接口自动化测试(c测试环境的准备)
接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当 ...
- python - 接口自动化测试 - ReadExcel - 读取测试数据封装
# -*- coding:utf-8 -*- ''' @project: ApiAutoTest @author: Jimmy @file: read_excel.py @ide: PyCharm C ...
随机推荐
- 简单c++构建第一人称
本文内容为UE4.27的文档教程 GameMode确定 新建的项目会自动生成GameMode,如果有更改,而不是使用默认的GameMode类,就需要在引擎的设置中更改 角色的实现 前后左右移动 //前 ...
- RSA进阶(一)
本篇为RSA进阶篇,继RSA入门 [RSA3]P1(扩展欧几里得) 题目 from Crypto.Util.number import * flag = b'******' m1 = bytes_to ...
- HTTP与WebSocket/WebDAV
WebSocket WebDAV
- #高精度,卡特兰数#洛谷 2532 [AHOI2012]树屋阶梯
题目 分析 设\(dp[n]\)表示大小为\(n\)的树屋阶梯方案数,如何不算重也不算漏 考虑在左下角填充一个尽量大的矩形,一共有\(n\)种方法, 然后剩下的两头就可以用前面的结果表示 也就是\(d ...
- Spring 框架模块深度解析:核心容器、数据访问、Web 层与其他关键模块
Spring 可能成为您的所有企业应用程序的一站式商店.但是,Spring 是模块化的,允许您挑选适用于您的模块,而无需引入其他模块.下面的部分提供了 Spring Framework 中所有可用模块 ...
- 4. Orthogonality
4.1 Orthogonal Vectors and Suspaces Orthogonal vectors have \(v^Tw=0\),and \(||v||^2 + ||w||^2 = ||v ...
- 为 Hugging Face 用户带来无服务器 GPU 推理服务
今天,我们非常兴奋地宣布 部署到 Cloudflare Workers AI 功能正式上线,这是 Hugging Face Hub 平台上的一项新服务,它使得通过 Cloudflare 边缘数据中心部 ...
- MogDB/openGauss 开机自启动
MogDB/openGauss 开机自启动 在 centos7.6 操作系统上设置 MogDB/openGauss 开机自启动,我们先来了解一下自定义服务的配置文件组成部分,共分为[Unit].[Se ...
- HarmonyOS数据管理与应用数据持久化(二)
通过键值型数据库实现数据持久化 场景介绍 键值型数据库存储键值对形式的数据,当需要存储的数据没有复杂的关系模型,比如存储商品名称及对应价格.员工工号及今日是否已出勤等,由于数据复杂度低,更容易兼容不同 ...
- 进阶 stack smashing--canary 报错利用 && environ泄露栈地址
进阶 stack smashing--canary 报错利用 && environ泄露栈地址 这部分是对进阶stack smashing的使用,以及对 environ的认识,我们可以看 ...