这应该是很基本的需求了,我以前公司的应用也是https的,不过同时也提供http协议访问,所以在测试都是直接访问http页面。这次这个页面却只有https。测https最关键是刚开始会出来那个要求接受证书的对话框。
你也许想:哦,这简单,第一次手工按“接受”,或者把这测试站点加到例外的站点里,后面的测试不就会跳过这个对话框了吗?
不幸的是,selenium每次测试默认都会用一个全新的profile来启动firefox (这是有道理的,这样就可以保证你上次测试留下的垃圾,比如cookie等,不会影响下次测试)。这样你上次保存到例外列表里的信息每次都会被清空,哈哈,郁闷吧。
解决方法是用我们自己配置的profile来启动firefox,在这个profile启动的firefox里,我们就可以把被测试站点加到例外列表里。
(1)运行这个命令 firefox.exe -ProfileManager 来构建新的profile,并保存一个目录中,比如d:/firefox-profile. 这还没完,接着用这个profile启动firefox,然后把被测试站点加到例外列表里
(2)在启动selenium server时,指定firefox的profile地址,用 -firefoxProfileTemplate参数来指定,比如
java -jar selenium-server.jar --firefoxProfileTemplate d:/firefox-profile
OK,这下测试就不会出现那个证书对话框了。