2
我剛剛開始使用Selenium,並使用Chrome編寫了一堆測試。然後我嘗試用Firefox運行相同的測試,但其中大部分都失敗了。點擊Selenium中的鏈接後,讓Firefox等待新頁面加載?
我有一堆是有點像這樣的測試:
1. Find link
2. Click link
3. Confirm the title of the new page matches what I expect
這工作在Chrome罰款,但在Firefox 3步,似乎必須立即執行的,瀏覽器有時間來加載之前這一頁。如果我添加了幾秒鐘的等待時間,所有測試都會通過,但我寧願避免這種情況。
這是一個配置問題,還是有更好的方法來編寫測試以幫助兼容?
這是一個測試,在Chrome瀏覽器的基礎知識,但無法在Firefox
link = driver.find_element_by_link_text(link_text)
link.click()
# Check if `driver.title` contains `title`
assert title in driver.title
插入time.sleep(2)
點擊確實使其工作後。
(我的身份驗證測試出現同樣的錯誤:填寫表單,點擊提交,確認用戶被轉發到正確的頁面。在Chrome中,這通過了,在Firefox中,轉發檢查是針對登錄頁面完成的。因爲瀏覽器仍然沒有完成重定向到新的一頁,我得到的報告中指出,試驗失敗了,一秒鐘後瀏覽器呈現的預期頁)
謝謝,那有效。 –
歡迎。您實際上可以從selenium.webdriver.support導入expected_conditions作爲EC',因爲我使用'lambda'函數而不是'Expected Conditions',所以導入錯誤地添加了 – Andersson