【问题标题】:How to test HTTP to HTTPS tunneling with Casper.js?如何使用 Casper.js 测试 HTTP 到 HTTPS 隧道?
【发布时间】:2012-11-20 01:57:34
【问题描述】:

我必须在我们公司的一些外联网上获得测试覆盖率,我们正在使用 phantom.js/casper.js,因为它最容易与我们的其余测试工作流程集成。

当尝试通过隧道从 HTTP 转换到 HTTPS 时会出现问题。如果用户访问我们的网站 http//www.somecompany.com 并单击登录链接,他们的浏览器将重定向到 https//extranet.somecompany.com。如果您查看 HTML 源代码,您会看到与用户被重定向到的表单正确对应的 HTML。

但是,当尝试使用 casper.js 重新创建工作流时,我成功地在登录链接上启动了点击事件。然后我尝试识别一个表单元素来确认重定向成功,但是这个测试失败了。然后,我在重定向后修改了下一步以捕获页面以查看 casper “看到”的内容。当我打开图像时,HTML 看起来好像我从未被重定向过。我知道重定向正在工作,因为我在 Fiddler 中看到了显示隧道正在建立到端口 443 的流量。

我已经搜索过 SO、google 和 Casper google 组,但找不到太多关于从 HTTP 到 HTTPS 的重定向,Casper/Phantom 是否能够自动化这样的工作流程,或者我必须看看类似的东西硒?

【问题讨论】:

  • 您是否尝试过将--ignore-ssl-errors=yes 传递给命令行?

标签: phantomjs casperjs


【解决方案1】:

重定向在 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",

【讨论】:

    猜你喜欢
    • 2022-07-14
    • 2012-10-28
    • 2011-09-06
    • 2013-02-10
    • 2010-11-14
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    相关资源
    最近更新 更多