Robot Framework - 在动态网络应用程序上使用的最佳元素

Robot Framework - Best Element to use on dynamic web app

我正在为动态站点编写 RF 脚本。但是,根据用户权限,菜单选项卡 change/hide。我不能使用 xpath,因为选项卡的顺序可能会改变。有什么建议么。 CSS 和 Sizzle 似乎效果不佳,因为我找不到正在使用的 ID 或名称值。

不确定以下是否有帮助

<div class="interior_nav_lv2" id="div_2_1" style="display: block;">

                        <a class="subNavOffHREF " href="index.cfm?view=something.sCs">Search Cardholders</a>

                        <a class="subNavOffHREF " href="index.cfm?view=something.lCs">List Cardholders</a>

点击 links

如果您需要单击其中一个 link,您可以使用 link 文本作为定位器。例如:

click link    Send Message

您还可以明确包含定位器策略:

click link    link=Send Message

所有这些都记录在 Selenium2Library documentation 中标题为 "Locating or specifying elements" 的部分下。

与您的问题中所述相反,您可以使用 xpath。例如,这有效:

click link    xpath=//a[text()='Add Cardholder']

正在获取 link 的列表

如果您需要验证 link,可以使用 Get Webelements 获取所有 link。然后,您可以遍历 link 以保存 link 文本。例如:

${elements}=    get webelements    xpath=//div[@class='interior_nav_lv2']/a
@{links}=  create list
:FOR  ${element}  IN  @{elements}
\    append to list  ${links}  ${element.text}

Should contain  ${links}  Search Cardholders
Should contain  ${links}  List Cardholders