2

也许我错过了 Selenium 的一部分功能。在进行跨浏览器测试时,我主要是想了解我的需求。在进行了数周的手动测试之后,我开始意识到我测试的页面功能都是一样的,但是我遇到的所有问题都源于视觉问题。我不需要断言元素是否存在;如果它在一个浏览器中,它就是全部。浏览器之间的数据也不会改变。

所以我的问题主要是视觉上的。例如,在 Internet Explorer 中显示的文本框应该与 Firefox 和 Chrome 中的文本框位于同一行。当不同的浏览器显示的字体类型应该相同时,它会有所不同。标题行换行是因为一个浏览器中的字体大小导致它在另一个浏览器中保持在同一行时这样做。

有谁知道上述场景的可用示例?Selenium 是适合我使用的工具吗?或者我应该坚持手动测试这样的东西吗?

4

3 回答 3

1

我建议在不同浏览器中运行测试时截屏。然后您可以一口气比较不同浏览器中的视图。是的,这将涉及一些手动审查,但可以使用 Selenium 自动执行这些操作,这将为您节省大量时间。

您可以使用类似的功能

public void takeScreenShot (String filename) throws Exception {
    File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    FileUtils.copyFile(scrFile, new File("[path to storing folder]"+ filename + ".jpg"));
}

在执行某些操作后,您可以在任何您认为视图很重要的地方调用此函数。

你不得不 -

import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;

但是 Eclipse 可以处理这部分。:)

我希望这能回答你的问题!

于 2012-08-16T09:27:00.937 回答
0

回答这个问题可能已经很晚了。

您可以通过使用 Sikuli 库来实现这一点。这仅适用于 Java 语言。比较 UI 的好工具。

于 2013-12-09T20:36:39.727 回答
0

您可以使用Ocular- 一个使用 Selenium WebDriver 进行视觉验证的开源库。

更多信息:

http://www.testautomationguru.com/ocular-automated-visual-validation-for-selenium-webdriver-test-automation-frameworks/

于 2017-07-05T19:07:22.877 回答