grails 嵌入式服务器功能测试需要有有效的 ssl 证书

标签 grails ssl functional-testing embedded-server

我一直在网上搜索如何使用嵌入式服务器 + ssl 解决我的 grails 功能测试问题,非常感谢对我遇到的问题的任何帮助。

到目前为止,我们使用 Selenium WebDriver 2 在 Firefox 上测试我们的 Grails webapp 取得了很好的成功。我们使用功能测试插件从我们的 Jenkins 服务器(有时是我们的本地机器)自动运行功能测试来启动和停止我们的应用程序,和 webdriver 插件一起使用。

这一行: profile.acceptUntrustedCertificates = true 用于新 Firefox 实例的配置文件对我们有效地使所有 SSL 在我们使用 Firefox 的测试期间就浏览器而言完全有效。

因此,虽然该设置在 Firefox 上运行良好,但我们仍然需要为 IE 8 运行一组并行测试,但我只是想不出一种方法让 webdriver 处理 IE 8 的 SSL 警告/障碍。

因为我们这里纯粹是 Mac(开发)/Linux(jenkins 等),所以我们在 Win 7 VirtualBox VM 中运行 IE 8。然后我们从 Win 7 VM 实例运行独立的 WebDriver 服务器。在测试到达我们的 web 应用程序的 SSL 部分之前,它工作正常,此时我收到 IE SSL 警告页面,并且测试出轨。

出于这个原因,我们买了一个便宜的 godaddy SSL 证书来使用,希望让 IE 满意,但我一直没能找到一种方法让我们的证书显示为有效和 CA 签名的证书,而不仅仅是 self -签。例如,当我在 Chrome 中检查证书时,它确实显示了我的证书,而且它是自签名的。它的 CN 与 testbox.example.com 一致,我已将以下行添加到/etc/hosts:127.0.0.1 testbox.example.com。

我使用 java keytool 生成了 CSR,然后按照 godaddy 网站上的说明导入了生成的签名证书、中间证书、交叉证书等。我在某个地方看到 grails 需要它的 keystore 来保留密码 123456,我已经这样做了。

我已经为常规服务器成功完成了 SSL 配置,例如独立的 glassfish 和 tomcat,但我在这个问题上真的碰壁了。

谢谢! 杰米

最佳答案

另一种方法:

您提到 IE 设置中的更改不起作用,因为 WebDriver 创建了一个新的 IE 实例。

IE 在 Windows 注册表中存储了很多设置。因此,“IE 注册表证书”可能是用谷歌搜索您的问题的良好开端。这是一个有希望的结果:

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

由于您在虚拟机中运行 IE,我想在此虚拟机上禁用 IE 安全功能是可以的。否则我不得不承认,默认情况下禁用此类安全功能并不是一个好主意。

关于grails 嵌入式服务器功能测试需要有有效的 ssl 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257263/

相关文章:

linux - Squid 路由 SSL 流量

java - 以编程方式将 PEM 证书导入 Java KeyStore

php - 如何使用 Mink 查找文本节点元素?

testing - calabash-android:是否可以忽略固定(预定义)步骤?

grails - 创建对象时如何设置用户ID号的值?

grails - Grails “Template not found error”

ssl - 如果使用 SSL,我们应该自己加密数据吗?

ruby-on-rails - Rspec Controller 测试 - 模型实例上的 should_receive 返回 0 次

grails - Atmosphere Grails单用户广播

hibernate - Grails:标准构建器中的字段总和