【问题标题】:How to get the value and size of dynamic table's columns and rows如何获取动态表的列和行的值和大小
【发布时间】:2020-04-16 02:43:44
【问题描述】:

我使用空手道进行 API 测试并成功完成了一个项目。现在我正在探索另一个项目的空手道 UI,我一直在从动态表的列和行中获取值,并且我想检查它的大小。

我浏览了文档并找到了一些方法来处理它,比如使用 locateAll 和 scriptAll 但它没有帮助。

我的桌子如下所示

<table>
 <thead>
  <tr>
   <th>column1</th>
   <th>column2</th>
  </tr>
 </thead>
 <tbody>
  <tr>row1</tr>
  <tr>row2</tr>
 </tbody>
</table>

我通过下面的代码在 selenium 中实现了这一点

@FindBy(xpath = "//*[@id=\"PartialRateTableListModel\"]/div/div/div[2]/div/div[2]/table/thead/tr")
    private static WebElement columns;

    @FindBy(xpath = "//*[@id=\"PartialRateTableListModel\"]/div/div/div[2]/div/div[2]/table/tbody")
    private static WebElement rows;

List<WebElement> TotalColsList = columns.findElements(By.tagName("th"));
Assert.assertEquals(2, TotalColsList.size());

    List<WebElement>TotalRowsList = rows.findElements(By.tagName("tr"));
    Assert.assertEquals(2, TotalRowsList.size());

我想在我们的空手道 UI 中这样做。你能帮我克服这个问题吗?提前致谢

【问题讨论】:

    标签: karate


    【解决方案1】:

    给你:

    * def cols = scriptAll('th', "_.innerHTML")
    * match cols == ['column1', 'column2']
    

    【讨论】:

    • 嗨,彼得,谢谢。它工作正常。但我想过滤 标签中的 。如果一个页面有多个表,我该如何执行此操作以及如何缩短此 scriptAll 函数以查找特定表。如果这也可以实现,我很高兴去实施。你能帮忙吗?提前致谢。
    • @RajkamalS 如果需要提出一个新问题,您可以使用任何有效的 XPath 或 CSS 选择器代替 th,试试看
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签