创建特定于区域的IP地址以进行测试

use*_*236 7 ip watir cucumber

对于我正在处理的项目,我需要伪造一个IP地址,以显示我来自其他国家/地区.

基本上,如果检测到的IP来自英国,则显示弹出窗口A,如果检测到的IP来自英国以外,则显示弹出窗口B.

我希望能够实现自动化.目前我们所有的浏览器自动化测试都是用cucumber/watir编写的,我想得到一个使用相同框架的解决方案.

有谁知道这样做的可行方法?

谢谢!

Eri*_* J. 5

一般来说,如果您关心 HTTP 请求返回给您的结果,则 IP 欺骗是不可能的。

http://en.wikipedia.org/wiki/IP_address_spoofing

如果这是为了测试,您可以在本地网络上为“在英国”和“不在英国”的每个用例运行虚拟机。为每个虚拟机分配一个不会更改的本地 IP 地址。

在每个虚拟机中运行 HTTP 代理服务器,并根据测试用例让单元测试通过不同的代理服务器进行连接。

将覆盖逻辑添加到您的地理位置代码中,以将这些众所周知的本地 IP 地址视为其各自测试位置的一部分。请注意,行为良好的代理服务器将在请求中包含代理服务器的 IP 地址和原始 IP 地址。确保在此单元测试中使用代理服务器的 IP 地址进行地理定位(通常,您希望使用可用于生产地理定位的原始 IP 地址)。

请注意,对于任何想要规避此类控制的人来说,这是非常容易的。只需支付很少的费用,就可以访问故意不转发原始 IP 地址的英国 HTTP 代理服务器。