1

我正在编写一个测试,它检查当您将鼠标悬停在链接上时是否出现了一些文本。目前无法执行此操作,因为 DOM 在悬停时不会更改,因此没有要检查的元素。见下面的html:

<span data-qaid="printAndExport">
   <li title="Some hover text"><a href="" class="disabled" data-qaid="printLink" tabindex="-1"><em class="icon icon-print"></em><span class="disabled">Print</span></a></li>
   <li title="Some hover text"><a href="" class="disabled" data-qaid="exportLink" tabindex="-1"><em class="icon icon-get_app"></em><span class="disabled">Export</span></a></li>
</span>

我已经尝试对链接本身进行断言,但这显然不起作用,因为它只会返回链接文本本身而不是悬停时的值。我唯一能想到的是检查标题属性,但这并不是通过悬停直接测试 WebApp 上的功能,它只是检查 DOM 中的属性。任何想法将不胜感激。

4

2 回答 2

0

所以基本上我决定采用的解决方案是我最初避免使用的解决方案,但我找不到更好的方法来做到这一点。

为了对此进行测试,我将获取“title”属性值并对其进行断言。这并没有明确测试悬停功能,所以不是 100% 满意。

链接到解决方案的文章:https ://www.guru99.com/verify-tooltip-selenium-webdriver.html

于 2021-02-18T14:51:39.917 回答
0

在某些情况下,当您将鼠标悬停在某个元素上时,您会获得与所需元素相关联的 DOM 更新,并且在某些情况下,由于显示工具提示(类名更改等),元素本身会发生更改。

由于在您的情况下,DOM 没有任何变化,并且断言标题不会检查工具提示的功能,我想出了 2 个似是而非的解决方案。

1.
您可以使用截图比较来验证是否确实出现了工具提示,但设置它需要一些工作。

2.
开发人员在编写 DOM 时往往不会考虑它对自动化测试的优化程度。
简而言之,例如打开一张 Jira 票证并声明目前没有测试元素的好方法,需要以某种方式或形式对其进行更新。

于 2021-02-26T17:12:07.813 回答