html - Selenium:测试文本是否完全可见

标签 html css selenium selenium-webdriver ui-testing

有没有办法用 Selenium 检查文本是否完全可见?假设我有文字

lorum ipsum dolor sit amet

由于糟糕的 css,它只能读取

lorem ips

在页面上,其余部分位于错误放置的 div 下。有没有办法断言全文可见?

最佳答案

这是一个使用我创建的 jsFiddle 和 Java/Selenium 的简单示例。

HTML

<p id="1">lorum ipsum dolor sit amet</p>
<p id="2">lorum ipsum <div style="display:none">dolor sit amet</div></p>

代码

String expectedString = "lorum ipsum dolor sit amet";
WebDriver driver = new FirefoxDriver();
driver.get("https://jsfiddle.net/JeffC/t7scm8tg/1/");
driver.switchTo().frame("result");
String actual1 = driver.findElement(By.id("1")).getText().trim();
String actual2 = driver.findElement(By.id("2")).getText().trim();
System.out.println("actual1: " + actual1);
System.out.println("actual2: " + actual2);
System.out.println("PASS: " + expectedString.equals(actual1));
System.out.println("PASS: " + expectedString.equals(actual2));

输出

actual1: lorum ipsum dolor sit amet
actual2: lorum ipsum
PASS: true
PASS: false

Selenium 不会返回用户不可见的文本,因此您需要做的就是将返回的内容与预期的字符串进行比较。如果它们不相等,则文本可能被隐藏。

关于html - Selenium:测试文本是否完全可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35229468/

相关文章:

html - 从视频库中的视频图像中删除外边框

html - 不可能的? HTML <TD> 鼠标悬停边框颜色随边框折叠而变化?

javascript - 联机时音频播放不良

javascript - Javascript中多个输入框的简单表单域验证

java - isDisplayed()方法执行时间过长

java - 使用 selenium HTMLUnitDriver 进行简单测试无法正常工作,这是错误的吗?

java - Selenium Web 驱动程序无法定位元素

javascript - 如何使用 javascript 更改 href 属性?

javascript - 如何通过单击更改元素的显示属性

html - web2py 站点没有加载通常的 css,只是普通丑陋的 html