首页 > 解决方案 > TOSCA - 试图引导表列内部 html 元素

问题描述

我扫描了一张表,在这张表中,所有行的最后一列都是链接,我将把 html 的一般结构放在下面。问题是,当我转向时,我只能访问列(标签 td),但我无法访问它自己的链接(标签 a)。如果我在 td 标签上使用操作“X input”,它会告诉我该字段没有定义输入,并且“{clicks}”也不起作用,因为 Tosca 没有检测到浏览器中正确位置的元素. 我还尝试扫描模块定义中的链接(标签 a),并尝试放置一个带有缓冲区的动态 xpath,该缓冲区指示我需要的父标签 tr 编号,但这也不起作用。有谁知道这个的解决方法?

<table>

  <tr>

    <td>...</td>

    <td>...</td>

    ...
  
    ...

    <td><a../></td>

  </tr>

  <tr>

  ...

  ...

标签: htmltestingautomated-testsinnerhtmltosca

解决方案


诀窍是对 Link 元素而不是表格单元格本身的 TestStepValue 执行“X 输入”操作。您可以使用表格转向导航到链接元素。

您首先需要在您正在引导的表格的单元模块属性中为链接元素提供一个模块属性。只要目标单元格只包含一个链接元素,您就不必担心它是唯一可识别的。事实上,该模块属性上的任何标识属性都必须足够通用,以匹配您可能希望以这种方式引导的表中的任何链接。

例如,如果您的表格如下所示:

<table>
    <tr>
        <td>Some data</td>
        <td>Some more data</td>
        <td>
            <a>Link element in another cell</a>
        </td>
    </tr>
    <tr>
        <td>Some data</td>
        <td>Some more data<td>
        <td>
            <a>Link to be clicked</a>
        </td>
    </tr>
</table>

您的模块需要具有类似于以下结构的表模块属性:

Table
    Row
        Cell
            Link

您可以扫描链接并将其拖放到单元格模块属性中。您还可以通过从单元模块属性的上下文菜单中选择链接图标来将链接元素添加到单元。这个到 Tricentis 文档的链接具有很好的视觉效果: https ://documentation.tricentis.com/en/1110/content/tbox/type_table.htm#Definingcontrolsincells

然后,假设目标链接是第 2 行的第三个单元格,我们的测试步骤将导航到该单元格中的链接,并对链接模块属性执行 X 输入操作。

Name                    Value           Action Mode
Table                   {NULL}          Select
    $2 (Row)            {NULL}          Select
       $3 (Cell)        {NULL}          Select
            Link        X               Input

基本上,您将通过一系列“选择”操作逐步到达目标链接。然后,您可以对孤立的链接元素执行输入操作。


推荐阅读