如果第三方cookie被阻止,是否可以“假装”某个网站是测试功能的第三方?

时间:2013-05-13 20:41:22

标签: firefox cookies selenium-webdriver

我正在尝试通过iFrame实现单点登录的公司进行自动化测试;第三方网站将在iFrame中包含我们的页面,我们将进行授权。

我们不得不重复工作方式,因为Firefox默认为第三方Cookie关闭。对于手动测试,我们将页面托管在不同的域上,但是此域需要我们无法在代码中公开的某些用户名和密码,因此很难实现自动化。

有没有办法让Firefox认为mydomain.com实际上不是mydomain.com?这听起来不可能,因为如果我可以让Firefox认为我实际上是在mydomain2.com上,那么我可以有效地加入第三方cookie,但是因为我在我自己的Firefox实例上这样做,有没有设置我可以在我的个人资料中更改以混淆它吗?

2 个答案:

答案 0 :(得分:1)

是的,这非常简单,我们一直这样做。

登录测试计算机(将运行浏览器的计算机)并编辑位于c:\ windows \ system \ drivers \ etc

中的hosts文件

使用不同的域名但正确的IP地址为您希望混淆的网站添加条目。因为它是一个不同的域,它看起来像第三方站点,但由于IP地址相同,请求实际上将被发送到同一个Web服务器。

示例:

假设您的Web服务器正在本地主机(地址为127.0.0.1)上运行

添加

的主机条目
127.0.0.1   FirstPartyDomain.com
127.0.0.1   ThirdPartyDomain.com

通过http://FirstPartyDomain.com

访问您的网站

网站包含iFrame

<iframe src="ThirdPartyDomain.com/SetNastyCookies">

iFrame中的请求将转到同一服务器(本地主机)但在第三方站点的上下文中。

答案 1 :(得分:0)

使用DNSMasq怎么样?大多数开源路由器(如DD-WRT)都支持此选项。如果您需要通过https进行测试,您还可以在测试期间临时存储安全证书异常。

相关问题