2012-10-22 65 views
1

我試圖使用assertXpathCount()來獲取表中可用的行數。assertXpathCount()在使用Selenium RC時返回0

我正在使用由<tr>元素的瀏覽器給出的Xpath。但是我仍然得到0作爲輸出。

有什麼特別的事情我需要牢記?

+0

如果您嘗試在那裏等待一秒,會發生什麼情況?這種問題通常與時間有關,您需要等待元素出現。 –

回答

0

一個猜測

  • 安裝FirebugFirefinder
  • 你想要通過Selenium RC驗證表打開你的測試網站
  • 當加載頁面時,插入您使用到火力發現者
  • 中的XPath
  • 看你得到多少結果

簡而言之:我一直很喜歡類似的問題,因爲我一直很愚蠢,並做了錯誤的Xpath用於查找元素(S)。這樣你可以驗證xpath。它可以是,它確實顯示發現零元素和提供那是因爲錯誤的Xpath的權利......

而且更好的主意:如果您切換到webdriver的aprroach,您可以使用命令findElements這將返回所有元素的List找到。然後,由該名單上的調用函數getLength(),你有元素的個數發現

+0

我從firefox複製了xpath(使用firebug-copy xpath進行檢查)並將其粘貼到了firefinder,但是Firefinder沒有找到任何對象。並且同樣的xpath在IDE中的assertxpathcount()中使用時工作正常,但是當我複製粘貼IDE中的xpath的ide assertxpathcount()命令到RC時,它停止工作。 –

+0

如果你聽到爆炸,那是我的頭...對不起,但上面的解決方案,我可以拿出... –

+0

亞..我想有一些問題..是否有可能與xpath命令工作在IDE中,當在RC中使用相同的xpath時,不起作用? –

0

請試着尋找定位器表的第一行,並確認它的存在就像

\\some id or name\blah-blah\table\tr 

在頁面上然後保持相同的定位在getXpathCount.It會給你正確的結果。如果你仍然得到結果爲0,然後編寫自己的函數來獲取XPath計數使用循環或任何你喜歡的。這就是當我面對這樣的問題時,我做了什麼。