You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ROBOT framework验证表格中的指定行(如第2行)

Robot Framework 校验表格指定第2行数据实现方法

你新增设备后需要校验列表对应记录,可按以下方式实现,参考界面如下:
设备列表界面

核心逻辑

Web页面的标准表格由<table>标签嵌套行标签<tr>、单元格标签<td>构成,只需要精准定位到目标行的对应单元格,取出文本和预期新增的设备参数做断言即可。需要注意不同定位方式的计数规则差异,避免索引偏移取错数据。


实现方式1:手写XPath定位(通用性最强,适配所有表格场景)

基于SeleniumLibrary实现,XPath的位置计数从1开始,如果你的表格第一行是表头,那么你要校验的第2行(首条数据行)对应的tr索引就是2,示例代码:

*** Settings ***
Library    SeleniumLibrary
Library    String    # 用于处理文本多余空白

*** Test Cases ***
校验新增设备在表格第2行的记录
    # 自行补充前置步骤:登录系统、进入设备列表页面
    # 等待表格加载完成,避免异步渲染导致取值为空
    Wait Until Element Is Visible    xpath=//table[@class='device-list']//tr[2]    timeout=5s

    # 逐列取出第2行的单元格内容,td后的索引对应列数,从1开始
    ${device_name}=    Get Text    xpath=//table[@class='device-list']//tr[2]/td[1]
    ${device_type}=    Get Text    xpath=//table[@class='device-list']//tr[2]/td[2]
    ${device_status}=    Get Text    xpath=//table[@class='device-list']//tr[2]/td[3]
    ${create_time}=    Get Text    xpath=//table[@class='device-list']//tr[2]/td[4]

    # 处理文本前后多余的空白字符
    ${device_name}=    Strip String    ${device_name}
    ${device_type}=    Strip String    ${device_type}
    ${device_status}=    Strip String    ${device_status}

    # 替换为你新增设备时填入的预期值做断言
    Should Be Equal    ${device_name}    测试新增设备001
    Should Be Equal    ${device_type}    物联网网关
    Should Be Equal    ${device_status}    运行中
    Should Not Be Empty    ${create_time}

提示:定位table时尽量带上id、class等唯一属性,避免页面存在多个表格时定位错误。


实现方式2:调用SeleniumLibrary内置表格关键字(代码更简洁)

如果表格是标准结构,不需要复杂定位,可以直接用库自带的Get Table Cell关键字,注意这个关键字的行、列计数从0开始,如果表头算第0行,那么第2行数据对应的行索引就是1,示例代码:

*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
内置关键字校验第2行数据
    # 前置步骤:进入设备列表页
    Wait Until Page Contains Element    id:deviceTable    5s
    # 语法:Get Table Cell  表格定位  行索引  列索引
    ${name_col}=    Get Table Cell    id:deviceTable    1    0
    ${type_col}=    Get Table Cell    id:deviceTable    1    1
    # 后续断言逻辑和上述写法一致
    Should Be Equal    ${name_col}    测试新增设备001

常见注意事项

  • 索引偏移问题:正式写用例前先打开浏览器开发者工具,确认目标tr的位置,区分XPath从1计数、内置关键字从0计数的规则差异
  • 动态加载适配:如果表格是接口异步拉取数据,一定要加显式等待,等目标行渲染完成后再取值,不要直接用固定sleep
  • 嵌套元素处理:如果单元格内有按钮、标签等嵌套元素,Get Text关键字会自动提取单元格内所有可见文本,不需要额外定位子标签,如果有多余换行、空格,用String库的关键字处理后再断言即可

内容的提问来源于stack exchange,提问作者Abhishek K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 19:27:23