3

我需要查看當前頁面是否顯示正確的標題圖標。我們根據您在網站上的位置更改圖標,並需要對其進行檢查。Robot Framework - Selenium2library - 檢查頁面的Favicon

我已經試過

Page Should Contain Image /bin/icons/1.ico 

我們所使用的HTML是:

<link rel="shortcut icon" type="image/x-icon" href="/bin/icons/1.ico"/> 

關鍵字沒有工作..有別的東西,我必須使用?還是硒不支持做這種測試?

+1

你試圖獲得的'href'值與[獲取元素屬性(HTTP屬性: //robotframework.org/Selenium2Library/Selenium2Library.html#Get%20Element%20Attribute)? –

+0

我怎樣才能得到頁面內沒有顯示的東西的定位器?它正在瀏覽器標籤上顯示。 – Goralight

+0

我不知道。我只是問,這是你試圖弄清楚的。 –

回答

0

想通了。 我基本上抓住有問題的鏈接標記的href,然後使用「應該等於字符串」關鍵字來比較它們。我會盡快解決它,但圖標鏈接標記不是第一個鏈接標記。以下是我使用的線:

${Favicon1} = Get Element Attribute //link[2]@href 
Should Be Equal As Strings ${Favicon1} http://localhost:8080/bin/icons/1.ico 

非常感謝布賴恩奧克利推動我朝着正確的方向。

+0

不要這樣做,原因有兩個。首先 - 您可能需要第二個鏈接元素 - 但在未來版本或構建中可以輕鬆更改。其次,在xpath中,索引比關係具有更高的優先級,所以定位器實際上讀取「獲取任何鏈接,這是它父級的第二個孩子」(相信我,雖然起初不直觀,但確實如此:)。 – Todor

1

According to the currently applied standards,設置圖標正確的方法是通過一個鏈接標籤,有rel="icon"屬性,儘管一些網站仍然使用rel="shortcut icon"(在維基百科的鏈接更多的細節以上)。這個XPath涵蓋:

${loc}= xpath=//link[@rel="link" or @rel="shortcut icon"] 

要得到它的價值,使用正常robotframework方法:

${favicon}= Get Element Attribute  ${loc}@href 
+0

在我真正瞭解Xpath之前,我問及回答了這個問題的方式 - 我同意 - 我的回答非常不直觀;)。我想我想說的是查找包含Favicon的鏈接並將其與預期鏈接進行比較。你的迴應比我的迴應更清楚,更有意義。 – Goralight

+0

很高興幫助@Goralight。順便說一句,在你的解決方案中,我會進一步建議不要去「應該是平等的」,而應該包含,並尋找主機名後面的路徑 - 「/bin/icons/1.ico」;因此該案例將適用於其他環境/部署。 – Todor