我想用JUnit實現一些Selenium 2 Webdriver測試。 SeleniumHQ.org和Web上的文檔讓我感到困惑,因爲它似乎在Selenium RC和Webdriver之間來回跳動。另外,我的Java不是很強大。幾年前我已經參加過幾門課程,但沒有多少用處。我想讓JUnit測試從無頭CI服務器運行,並讓Firefox通過Webdriver在遠程客戶端系統上運行。遠程Selenium 2 Webdriver實例如何接受不可信證書?
從我收集的內容中,我可以使用以下代碼在本地系統上打開由Webdriver控制的Firefox實例。我正在測試的網站有一個不可信的SSL/TLS證書,所以我需要告訴Firefox驅動程序接受不受信任的證書。這在當地很有用:
FirefoxProfile profile = new FirefoxProfile();
profile.setAcceptUntrustedCertificates(true); // NOTE: this is the default behavior
RemoteWebDriver driver = new FirefoxDriver(profile);
Selenium selenium = new WebDriverBackedSelenium(driver, baseurl);
但我不知道如何在使用Webdriver的遠程系統上執行此操作。這兩種方法似乎完全不兼容。上面的代碼沒有任何辦法適應到下面的代碼,我一直在使用使用遠程的webdriver:與遠程測試系統上定製Firefox配置工作
Selenium selenium = new DefaultSelenium(host, port, browser, baseurl);
selenium.start();
現在,我已經花了很多時間。它在2012年夏天工作,但在最近的操作系統和瀏覽器更新後,它停止工作。創建Firefox驅動程序配置文件並調用setAcceptUntrustedCertificates(true)看起來好多了。是否可以使用Webdriver在遠程系統的瀏覽器中運行測試,並讓瀏覽器忽略不可信的SSL/TLS證書?
是否有你使用webdriver支持selenium而不是純webdriver的原因? –
我使用WebDriverBackedSelenium的唯一原因是因爲它是我發現的使用FirefoxProfile對象實例化Selenium對象的唯一方式(因此我可以告訴它接受不受信任的證書)。我已經多次閱讀SeleniumHQ.org上的文檔,每次我都會感到困惑。你會推薦什麼,Prashant? –