selenium 测试SSL证书非法的HTTPS站点

无聊,今天写我的第一篇文章,嘿嘿。

关于Selenium,可能有不少的同志都在用了吧,很不错的工具,而且还免费,作为一个低层程序员的我,用的当然是RC版,详细信息看:http://seleniumhq.org/projects/remote-control/

最近碰到了一个问题,就是在进行HTTPS站点的时候,按照官方文档,在1.0之前的版本如果要测试HTTPS,必须把启动浏览器的模式设为*chrome(FireFox),或者*iehta(IE),而1.0之后的版本,这两个就是浏览器启动的默认模式,所以不要设就能用。但是问题是,在我们的测试环境中,多数情况下SSL证书都是非法的。怎么办呢,经过多次尝试,在RC最新版本下,用firefox终于成功。

      因为在selenium启动firefox的时候,它会重新建一个profile作为启动的profile,所以无论你怎么把站点设为可信任站点,在selenium启动的firefox中都是无效的。解决方法就是手动建立一个新的profile,将他放入一个目录中,在启动selenium server的时候,加入参数 -firefoxProfileTemplate "Profile路径"  ,这样,在rc 的client启动firefox的时候,就会以这个profile来启动firefox。同时加入参数 -trustAllSSLCertificates 这样任何SSL证书都可以通过。关于firefox的profile,参考http://support.mozilla.com/zh-CN/kb/Managing+Profiles,简单地说,关闭你的firefox,点开始菜单里的运行,输入 firefox -p,就能看到profile的管理器了。

总结一下:1.建立一个新的firefox profile,设置这个profile 将要测试的站点加入到可信任站点,还有,差点忘了说,要把firefox的代理设为selenium server的地址,通常都是localhost:4444啦。

2,启动selenium server时加入参数,

java -jar selenium-server.jar -trustAllSSLCertificates -firefoxProfileTemplate "profile的路径"

3,启动client,好了

你可能感兴趣的:(selenium 测试SSL证书非法的HTTPS站点)