我是Rails
和Selenium
的新手,但使用了其他自動化測試工具。Rails RSpec腳本無法識別元素(更新:因爲它們在iframe中)
我將Selenium 2 IDE中的腳本導出到Rails/RSpec,並且正在修改代碼以使其運行。該腳本無法找到特定的鏈接。
從工作IDE腳本中導出的原始Ruby代碼爲:
@driver.find_element(:link, "skip").click
這失敗了,所以我試圖用XPath語句來識別元素。 (有失敗的,我通過使用XPath固定原本出口代碼等元素,所以這就是爲什麼我使用這種策略。)
我嘗試了不同的替代方案,以確定在Ruby代碼的鏈接,如:
嘗試#1:@driver.find_element(:XPath, "//*[@class='skip-link']").click
嘗試#2:@driver.find_element(:XPath, "//*[@value='skip']").click
結果在所有情況下:Unable to locate element: {"method":"link text","selector":"skip"}
HTML報每螢火蟲:每螢火蟲
<a style="float: right; margin-right: 10px; text-decoration: none;" href="/yourfuture" class="skip-link"> skip </a>
的XPath報道:
/html/body/div[2]/div[2]/div/div/div[3]/div[4]/a
我有超時設置爲60秒,看到的鏈接跳過幾秒鐘顯示腳本失敗過,所以我這不是一個問題。
一個可能相關的事實:當應用程序顯示所有控件的窗口時,跳過不會初始顯示。通過程序設計,應用程序等待大約5秒鐘之前。
我在做什麼錯?提前致謝。