python - 使用 python selenium 自动测试 CSS 和视觉异常?

标签 python css testing webdriver

我想编写一个 python 脚本来检查/测试网站上的 css。

  1. selenium webdriver 配备了 value_of_css_property(property_name),可用于提取元素的 css 属性值。这可以与预期值进行比较。然后 Selenium 可以相互作用,如果需要,记录属性的变化并再次与预期值进行比较。

  2. 或捕获元素的屏幕截图,然后使用 PIL 将屏幕截图与预期的屏幕截图进行比较(python needle 所做的事情),但是由于尺寸和位置会根据分辨率/设备而变化我不知道这种方法的可行性如何。

关于从上面可以做什么的任何想法或任何其他建议?

最佳答案

我们一直在使用 Galen Framework对于这个特殊的“视觉测试”问题:

Layout testing seemed always a complex task. Galen Framework offers a simple solution: test location of objects relatively to each other on page. Using a special syntax and comprehensive rules you can describe any layout you can imagine

Galen Framework is designed with responsiveness in mind. It is easy to set up a test for different browser sizes. Galen just opens a browser, resizes it to a defined size and then tests the page according to specifications

我们正在用 JavaScript 编写 Galen 测试,有一个 Python port ,但不确定它的最新程度。


needle 是一个很棒的工具,但图像总体上“笨拙”并且难以处理和维护。如果您将尺寸和分辨率具体化,事情就会变得更容易。


使用 value_of_css_property() 始终是一种选择,但它可能无法很好地扩展,并且要避免违反 DRY principle 将是一项挑战。 .考虑某种抽象层来检查您的 CSS 属性。例如,在您的测试中使用具有许多必需属性的预定义样式的“样式”配置(例如,应用程序中的每个“提交”按钮都需要具有 btnbtn- primary 类并且需要具有特定的大小、字体大小、背景和边框颜色)..然后您可以为每个 page object 配置一个预定义的样式页面对象中的字段..只是想法。

关于python - 使用 python selenium 自动测试 CSS 和视觉异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102099/

相关文章:

java - Alexa BDD 测试

python - 在 pandas 数据框中使用 Replace 和 str.startswith() 来重命名值

python - GAE 中的格式化文本

testing - 设置 webpack、coffeescript、mocha 的工作示例或教程?

javascript - 如何滚动到父 iframe 的顶部按下 iframe 内的按钮?

html - 如何让一个固定的导航栏拉伸(stretch)到浏览器的宽度?

android - Google Play 控制台 - 在封闭轨道之间切换

python - 导入错误 : No module named bottle

python - 从 Python 脚本将数据插入 MySQL 表

javascript - 悬停时更改表格内容?