2012-09-11 59 views
1

我想檢查我正在處理的Web應用程序上元素的位置。這是一個穩定的應用程序,所以職位不會有太大變化。在互聯網上搜索後,我發現這個方法:使用Java在Selenium WebDriver中檢查元素的位置

Point getLocation()

在網頁的是所呈現的元素的頂部左上角?

返回:一個點,包含元素

的頂部左上角的位置打一點點與它後,我意識到,位置取決於窗口的大小和屏幕分辨率(雖然我在某處讀過它,但我仍然檢查它是爲了確保它是真的)。

還有別的辦法嗎?我有很多元素,因此根據一組分辨率和窗口尺寸存儲一些值將會非常棘手。這將是很多工作。

到底沒有什麼比手動測試,當涉及到視覺的東西:d

+1

爲什麼你想在屏幕上的絕對位置?爲什麼相對於窗口左上角的位置不適合你? –

+0

自動檢查元素位置的測試是不明智的。我認爲,手動測試對此更好。很多工作要自動化。 –

回答

0

依賴於窗口的大小,因爲與窗口大小的頁面的佈局改變。

你問的是本質:

我可以得到頁面上的元素的位置,如果該窗口是 無限寬和無限高,這樣的結果將是 靜態的?

不,對不起,你不能這樣做,因爲你可能是第一個想做這種事情的人。你所要求的職位毫無意義。而且,這些數字在瀏覽器中很可能會有所不同。

我相信你有兩個選擇:

  1. 設置一個固定的窗口大小爲這個測試。如果您每次運行1024 * 768像素的測試,它通常不會中斷。在這種情況下,你的職位不應該改變,你會得到你的結果。
    • 獎勵想法:你可以得到頁面的截圖並比較圖像。如果頁面的內容或多或少是靜態的,那麼您的屏幕截圖將始終保持不變,因此您可以將其與參考屏幕截圖進行比較。
  2. 不檢查絕對數量,嘗試檢查例如WebElement是否包含正確的文本,圖像(以及圖像是否已經被加載),甚至whether a WebElement is visually contained in another WebElement
相關問題