use*_*888 5 c# selenium webdriver tooltip
我有一个小行李图标,当将鼠标悬停在该图标上时,会显示工具提示文本。我想通过在 Visual Studio 中编写 C# 代码来测试这一点。
以下是行李图标在 html 中的显示方式:
<div class="icon_png information icon_baggageyes" title="1 piece included in this fare."></div>
Run Code Online (Sandbox Code Playgroud)
这是我测试工具提示的代码:
Actions a = new Actions(driver);
IWebElement tooTipObject = driver.FindElement(By.XPath("//div[@class='icon_png information icon_baggageyes']"));
a.MoveToElement(tooTipObject).Click().Build().Perform();
Run Code Online (Sandbox Code Playgroud)
问题是当我逐步调试上面的代码时,工具提示文本将会显示。但是当我运行测试时,工具提示文本现在会显示。
通过网上搜索,有人说原因是鼠标没有在行李图标上停留足够长的时间来显示工具提示文本。
但如何解决这个问题呢?我一直在寻找解决方案,但找不到适合我的解决方案。
另一个问题是我的代码:a.MoveToElement(tooTipObject).Click().Build().Perform();
只有当我输入此代码时,工具提示文本才会显示.Click()。但我正在测试鼠标悬停功能,不应该点击图标。这太奇怪了。
由于工具提示是由divstitle属性触发的,那么只检查该属性值怎么样?它将依赖于这样的假设:所有浏览器title在悬停时都将显示为工具提示(据我所知,所有桌面浏览器都会这样做)。
简单地谷歌搜索一下,似乎这些内容应该有效:
WebElement element = driver.FindElement(
By.XPath("//div[@class='icon_png information icon_baggageyes']"));
string titleText = element.getAttribute("title");
Run Code Online (Sandbox Code Playgroud)
之后您可以验证是否titleText符合预期。
| 归档时间: |
|
| 查看次数: |
20816 次 |
| 最近记录: |