如何检查机器人框架中应禁用的元素?

How to check element should be disabled in robot framework?

<a class="paginate_button previous disabled" aria-controls="DataTables_Table_82" data-dt-idx="0" tabindex="-1" id="DataTables_Table_82_previous">Previous</a>

*** Test Cases ***
check the preview and next button in the table
       element should be disabled    //*[text()='Previous']

这个“元素应该被禁用”关键字总是失败并且抛出元素被启用。有任何方法可用于进行此验证。

如评论中所述,Element Should Be Disabled 关键字检查您的元素不具有的属性。这也可能经常发生在其他关键字上,具体取决于您正在测试的应用程序。

在这种情况下,建议在 SeleniumLibrary 之上创建一个额外的层来处理应用程序中页面元素的独特方面。这也可以是资源文件或库。

你的元素似乎有一个 class class="paginate_button previous disabled", disabled 可以用来检查元素本身是否被禁用。

例如,您可以像这样使用 XPATH //*[text()='Previous' and contains(@class, 'disabled')]:

Element Status Should Be Disabled 
    [arguments]    ${element_text}
    Element Should Be Visible    //*[text()='${element_text}' and contains(@class, 'disabled')]

要检查该元素是否已启用,您可以否定 class 条件,或者如果有一个名为 enabled 的 class,您可以用相同的方式检查它。

Element Status Should Be Enabled
    [arguments]    ${element_text}
    Element Should Be Visible    //*[text()='Previous' and not(contains(@class, 'disabled'))]
 

请注意,这些关键字只是示例,是在您不了解您的应用程序的情况下编写的,仅供您参考。