2011-06-06 57 views
3

我一直在網上搜尋如何解決我的問題,使用嵌入式服務器+ ssl的grails功能測試,並非常感謝任何幫助,我遇到的問題。Grails嵌入式服務器功能測試需要有效的SSL證書

迄今爲止,我們已經取得了很好的成功,使用Selenium WebDriver 2測試我們的Grails web應用程序。我們使用功能測試插件自動從我們的Jenkins服務器(以及我們的本地計算機)運行功能測試來啓動和停止我們的應用程序,和webdriver插件。

這條線: profile.acceptUntrustedCertificates =真 被用於新的Firefox實例的輪廓在作出一切SSL只要在瀏覽器中我們用Firefox的測試而言完全有效是有效的我們。因此,雖然該設置在Firefox中運行良好,但我們仍然需要爲IE 8運行一組並行測試,但我根本找不到一種方法讓webdriver處理IE 8的SSL警告/障礙

因爲我們純粹是Mac(dev)/ Linux(jenkins等),所以我們在Win 7 VirtualBox虛擬機中運行IE 8。然後從Win 7 VM實例運行獨立的WebDriver服務器。它可以正常工作,直到測試到達我們的Web應用程序的SSL部分,此時我會看到IE SSL警告頁面,並且測試已經出軌。

我們買了一個便宜的godaddy SSL證書用於這個原因,希望能讓IE開心,但是我一直無法想出一種辦法讓我們的證書顯示爲有效並且CA簽了一個,而不僅僅是自簽名。例如,當我在Chrome中檢查證書時,它確實顯示我的證書,但它也是自簽名的。這是CN沿着testbox.example.com的行,我已經添加到/ etc/hosts行:127.0.0.1 testbox.example.com。

我使用java keytool生成CSR,然後根據godaddy網站上的說明導入生成的簽名證書,以及中間證書,交叉證書等。我看到某個地方,Grails要求它保留密碼123456,我已經完成了。

我已經爲普通服務器成功完成了SSL配置,例如,獨立的glassfish和tomcat,但我真的在這個問題上遇到了困難。

謝謝! 傑米

回答

0

另一種形式給出:

你提到的是,在IE的設置更改不會起作用,因爲webdriver的創建一個新的IE實例。

IE在Windows註冊表中存儲了很多設置。所以「IE註冊表證書」可能是一個很好的開始谷歌你的問題。這是一個有希望的結果:

http://www.ehow.com/how_5024374_fix-certificate-error-internet-explorer.html

既然你在虛擬機上運行你的IE,我想這是確定以禁用此虛擬機中IE瀏覽器的安全功能。否則,我不得不承認,默認情況下禁用這種安全功能並不是一個好主意。

+0

謝謝!這看起來會起作用。對不起,接受這麼長時間,我沒有時間回到這個最近,但我會盡快檢查出來。 – jpswain 2011-07-30 05:40:37

0
+0

是的,它似乎並沒有與Webdriver一起工作,但它爲每次調用瀏覽器啓動都會生成一個全新的瀏覽器配置文件。你知道專門用於WebDriver的方法嗎? – jpswain 2011-06-20 04:57:49

+0

您是否在安裝證書後重新啓動IE?可能是IE只有在關閉實例時纔會保留此設置。每個瀏覽器的新實例都應該知道後面的證書。 – rdmueller 2011-07-12 21:18:49

+0

也許嘗試爲本地計算機而不是當前用戶安裝證書。運行'mmc',爲本地計算機添加證書管理單元,並將證書安裝爲根授權。 (免責聲明:我還沒有測試過這個) – 2011-07-14 23:42:27

0

我知道這是不是一個非常乾淨的解決方案,而是出於IE8會顯示警告,什麼是錯與證書。這個警告本身就是一個有效的HTML頁面,你可以點擊鏈接,指出「忽略,顯示頁面」。

你只需要一次這個會話。所以我們簡單的在我們的測試中有一小步,在調用第一頁後檢查,如果我們得到錯誤信息。如果是的話,我們會自動點擊鏈接,其餘的工作正常。

同樣:我知道這不是一個乾淨的解決方案。但它對我們有用。不得不以正確的方式配置java密鑰庫會是一件痛苦的事情。:-)

+0

你能夠讓WebDriver(Selenium 2)點擊這個鏈接嗎?據我所知,這是不可能的,因爲我無法讓WebDriver做到這一點。 – jpswain 2011-07-12 21:02:10

+0

我使用了至少要使用與WebDriver(遠程控制IE作爲COM對象)相同的機制的Scriptom,並且它工作正常。如果它不適用於WebDriver,我會感到驚訝。 – rdmueller 2011-07-12 21:06:09

相關問題