我個人想象這樣的工具允許你在的東西是應該怎樣看,然後在實際的文件中運行一個複雜的啓發式您的測試,它確定如何「關閉」它是一種聲明的方式定義一個測試你的聲明性定義。
有一種方法可以使用Galen Framework(它是我幫助開發的工具)準確測試您的需求。它是一種具有自己語言的特殊工具,可以表達網站的外觀。它基於Selenium,並且可以在Selenium Grid中運行,如果您需要在不同的瀏覽器中檢查它。 目前該工具正在做什麼 - 它正在獲取頁面上指定元素的位置並相互檢查它們。 因此,舉例來說,如果你想檢查菜單面板低於頭部和延伸到瀏覽器的寬度和具有50像素高度,你做這樣的:
menu
below: header 5 px
width: 100% of screen/width
height: 50px
在你不想的情況下斷言爲精確值,你可以做這樣的
menu
below: header 0 to 5 px
width: 90 to 100% of screen/width
height: 45 to 55px
的工具是用於測試響應式設計,你可以使用自定義標籤來滿足精確的規格爲您的需要有用。 例如,如果我們想要表達的是桌面上的「側面板」應該在靜態寬度爲300像素的屏幕的右側,但是在移動設備上它應該低於「內容」並且延伸以完成寬度一個瀏覽器,你這樣做:
@ desktop
---------------------
content
inside: screen 0px left
side-panel
inside: screen 0px right
near: content 0px right
width: 300px
@ mobile
--------------------
content, side-panel
width: 100% of screen/width
side-panel
below: content 0px
由於它是一個新的工具沒有很多的信息。目前只有一篇文章解釋如何使用Galen Framework http://mindengine.net/post/2013-11-16-tdd-for-responsive-design-or-how-to-automate-testing-of-website-layout-for-different-devices/來測試響應式網頁。
您還可以在官方網站上找到完整的文檔http://galenframework.com
高度相關:http://stackoverflow.com/questions/4043706/automated-testing-of-css-and-html-front-end-coding – thirtydot 2011-03-29 13:46:43
你說過: ''以聲明方式測試應該看起來如何的東西「 - 」應該看起來怎麼樣「的聲明被稱爲HTML/CSS。任何其他聲明應該看起來如何的方式都會錯過HTML/CSS的細微差別,否則就會像兩者結合那樣複雜。這種類型的工具(如你所說)是不可行的。還有不同的渲染引擎需要考慮。 Gecko和WebKit是開源的,所以你可以在那裏工作,但是Trident(Internet Explorer)呢? – thirtydot 2011-03-29 14:18:42
@thirtydot微軟的分區使IE開源?我明白你的意思了。我更多的建議是對頁面看起來像一個圖像做一些聲明性的定義,然後將HTML轉換爲圖像並進行比較。 – Raynos 2011-03-29 15:07:09