2017-04-19 40 views
0

我想測試一個網站URL是否會重定向到安全站點。例如,如果我在地址欄中鍵入example.com,它應該重定向到https://example.com使用硒測試URL重定向

從Selenium,我嘗試使用get("")navigate("")沒有運氣。它顯示一個異常作爲錯誤的URL。我如何測試這個或以另一種方式進行?

即使JavaScript不起作用。

+0

只是做driver.get(「www.example.com」),然後使用driver.getCurrentUrl()來檢查它是否已經轉移到安全的網址...如果你想要做的這樣可以更快地查看使用URL和HttpUrlConnection類的普通Java單元測試 - https://www.mkyong.com/java/java-httpurlconnection-follow-redirect-example/ – Grasshopper

+0

請閱讀[問]和[多少研究工作有望?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)請提供您嘗試過的代碼和執行結果包括任何錯誤消息等。 – JeffC

+0

更正了錯字。 – Turing85

回答

3

這很容易實現這一點使用get() & getCurrentUrl()。您應該輸入實際的網址,例如www.example.com,而不是僅使用example.com。即使你輸入的網址不是www,瀏覽器也會自動進行修改,但不會修改Selenium,因此會引發異常。嘗試是這樣的:

driver.get("www.example.com"); 

//add wait for page to load completely 

if(driver.getCurrentUrl().startsWith("https")) 
    System.out.println("Success"); 
else 
    System.out.println("Failure"); 
+0

但是,這裏指的是我不想通過www。 。我的輸入將是example.com。而測試重定向的URL包含https –

+0

那麼你不能那樣做。 Selenium不會將'example.com'識別爲有效的URL。它需要一個完全有效的URL,它以www或http(s)開頭, –