我一直在网上搜索如何使用嵌入式服务器 + ssl 解决我的 grails 功能测试问题,并且非常感谢我遇到的问题的任何帮助。
到目前为止,我们使用 Selenium WebDriver 2 在 Firefox 上测试我们的 Grails webapp 取得了很好的成功。我们使用功能测试插件从我们的 Jenkins 服务器(有时是我们的本地机器)自动运行功能测试,以启动和停止我们的应用程序,以及 webdriver插件结合。
这一行:profile.acceptUntrustedCertificates = true 用于新的 Firefox 实例的配置文件,这对我们在使用 Firefox 进行测试期间使所有 SSL 完全有效就浏览器而言是有效的。
因此,尽管该设置在 Firefox 上运行良好,但我们仍然需要为 IE 8 运行一组并行测试,但我根本无法为 webdriver 找到一种方法来处理 IE 8 的 SSL 警告/障碍。
因为我们在这里纯粹是 Mac (dev)/Linux (jenkins 等),所以我们在 Win 7 VirtualBox VM 中运行 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,但我在这个问题上真的碰壁了。
谢谢!杰米