6

我必须在我们公司的一些外联网上获得测试覆盖率,我们正在使用 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 之类的东西?

4

1 回答 1

0

重定向在 PhantomJS 1.9.8 中开箱即用。如果不确定,请随时使用以下命令进行调试:

page.onResourceRequested = function(request) {
  console.log('Request ' + JSON.stringify(request, undefined, 4));
};
page.onResourceReceived = function(response) {
  console.log('Response ' + JSON.stringify(response, undefined, 4));
};

你应该在你的第一反应中看到:

"redirectURL": "https//extranet.somecompany.com",
于 2014-11-23T23:42:11.353 回答