微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何使用Selenium webdriver使用MouseOver测试工具提示文本

我有一个小行李图标,当鼠标悬停在图标上时,会显示工具提示文本.我想通过在Visual Studio中编写C#代码来测试它.

以下是html中行李图标的显示方式:

<div class="icon_png information icon_baggageyes" title="1 piece included in this fare."></div>

这是我的代码来测试工具提示

Actions a = new Actions(driver);
IWebElement tooTipObject = driver.FindElement(By.XPath("//div[@class='icon_png information icon_baggageyes']"));
a.MovetoElement(tooTipObject).Click().Build().Perform();

问题是,当我逐步调试上面的代码时,工具提示文本将显示出来.但是当我运行测试时,工具提示文本现在显示了.

通过在互联网上搜索,有人说原因是鼠标没有专注于行李图标足够长的时间来显示工具提示文本.

但是如何解决这个问题呢?我一直在寻找解决方案,但找不到适用于我的解决方案.

一个问题是我的代码:a.MovetoElement(tooTipObject).Click().Build().Perform();
工具提示文本只会显示我在此代码中放置.Click().但我正在测试鼠标悬停在功能上,不应该点击图标.这太奇怪了.

解决方法:

由于工具提示是由div的title属性触发的,那么如何检查该属性值呢?它依赖于所有浏览器在悬停时将标题显示为工具提示的假设(据我所知,所有桌面浏览器都这样做).

谷歌搜索一下,看起来像这样的东西应该工作:

WebElement element = driver.FindElement(
     By.XPath("//div[@class='icon_png information icon_baggageyes']"));
string titleText = element.getAttribute("title");

之后,您可以验证titleText是否符合预期.

原文地址:https://codeday.me/bug/20190629/1328395.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐