我必须在我们公司的一些外联网上获得测试覆盖率,我们正在使用 phantom.js/casper.js,因为它最容易与我们的其余测试工作流程集成。
尝试通过隧道从 HTTP 转换到 HTTPS 时会出现问题。如果用户访问我们的网站 http//www.somecompany.com 并单击登录链接,他们的浏览器将重定向到 https//extranet.somecompany.com。如果您要查看 HTML 源代码,您会看到与用户被重定向到的表单正确对应的 HTML。
但是,当尝试使用 casper.js 重新创建工作流时,我成功地在登录链接上启动了 click 事件。然后我尝试识别一个表单元素来确认重定向成功,但是这个测试失败了。然后我修改了重定向后的下一步以捕获页面以查看 casper “看到”的内容。当我打开图像时,HTML 看起来好像我从未被重定向过。我知道重定向是有效的,因为我在 Fiddler 中看到了显示隧道正在建立到端口 443 的流量。
我已经搜索了 SO、google 和 Casper google 组,但找不到太多关于从 HTTP 到 HTTPS 的重定向,Casper/Phantom 是否能够自动化这样的工作流程,或者我是否需要查看 Selenium 之类的东西?