
本文详解如何利用 selenide 的元素集合选择器快速、可靠地获取具有特定类名的表格行数量,并验证分页显示逻辑是否正确。
在基于 Selenide 的 Web 自动化测试中,验证表格数据量(如“当前显示 15 条记录”)是常见且关键的断言场景。从你提供的 HTML 结构可见:该表格并未使用标准
✅ 正确做法是使用 Selenide 的 CSS 类选择器集合语法 $$() 获取所有匹配元素,并调用 .size() 获取数量:
int rowCount = $$(".srringtable").size();该语句会返回当前页面中所有拥有 class="srringtable" 的
专业的企业网站管理系统,专为中小企业公司开发设计,能让企业轻松管理网站,强大的后台功能,可随意增减栏目,有多种企业常用的栏目模块功能。多级分类,管理文章,图片,文字编辑,留言管理,人才,软件下载等。可让企业会上网就会管理网站,轻松学会使用。 系统功能模块有:单页(如企业简介,联系内容等单页图文)、文章(新闻)列表、产品(图片、订单、规格说明等)、图片、下载、人才招聘、视频、机构组识、全国销售网点图
? 注意事项与最佳实践:
- ✅ 建议添加显式等待,确保表格数据已加载完成再计数,避免因异步渲染导致 size() 返回 0:
$$(".srringtable").shouldHaveSize(15); // 断言恰好 15 行(推荐) // 或 waitUntil(() -> $$(".srringtable").size() == 15, 10000, 500); - ⚠️ 避免使用 $$("table .srringtable") 等过度限定的选择器,除非存在跨表格复用类名的风险;若存在,可结合父容器精确定位,例如:
$("#payTableContainer").$$(".srringtable").size(); // 假设表格有唯一 ID - ? 若需区分“总数据量”与“当前页行数”,注意检查是否有隐藏行(如 display: none)——Selenide 的 $$() 默认仅匹配可见元素;如需包含不可见元素,改用 $$x("//div[contains(@class,'srringtable')]").size()(XPath + 全量匹配)。
综上,$$(".srringtable").size() 是简洁、高效且符合 Selenide 设计哲学的解决方案,适用于绝大多数自定义表格组件的行数校验场景。









