我必须对我们公司的一些外联网进行测试,我们使用的是phantom.js / casper.js,因为它最容易与我们的其他测试工作流程集成。
尝试通过隧道从HTTP转换为HTTPS时出现问题。如果用户要访问我们的网站http // www.somecompany.com并单击登录链接,他们的浏览器会重定向到https // extranet.somecompany.com。如果您要查看HTML源代码,您会看到正确对应于用户重定向到的表单的HTML。
但是,尝试使用casper.js重新创建工作流时,我成功启动了登录链接上的click事件。然后,我尝试识别表单元素以确认重定向是否成功,但此测试失败。然后,我在重定向后修改了我的下一步,以捕获页面以查看casper“看到”的内容。当我打开图像时,HTML显示为好像我从未被重定向。我知道重定向正在工作,因为我看到Fiddler中的流量显示隧道正在建立到端口443。
我搜索了SO,谷歌和Casper谷歌群组,并且找不到关于从HTTP到HTTPS的重定向,Casper / Phantom是否能够自动执行这样的工作流程,或者我必须要查看类似的内容硒?
答案 0 :(得分: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",