2017-04-25 62 views
1

我正在将我的应用程序与一些国家检测模块进行整合。 总体逻辑是:用于测试国家检测的固定全球IP?

  1. 检测客户端IP
  2. 查找IP在地理IP DB(为简单起见,让我们 假设它是的MaxMind DB)
  3. 识别基于IP
  4. 其他一些业务逻辑的国家代码基于国家代码

这工作得很好,但我在编写自动化集成测试时遇到问题。

有一种方法可以覆盖(强制)某些测试IP,但问题是所有的IP都会周期性地更改,并且我得到测试的时间也因此而失败。

任何想法如何稳定这样的测试? 我想到的是,如果有一个全球主要ISP的目录,但无法找到它。

谢谢!

回答

1

您可以在测试环境中覆盖GeoIP查找服务,以返回某些测试IP的固定值。但是这只能测试#4。要测试#1,2,3,你需要使用真实的IP地址。

如果您的需求仅限于少数几个国家,您可以购买带有固定IP的私人代理,并通过具有固定IP的代理客户端运行您的测试。

要实现规模自动化,您可以查看https://www.geoscreenshot.com,它提供了一个可同时对多个位置进行可视化测试的API。

1

您可能需要使用VPN来测试应用程序。一些提供商在固定国家提供免费服务器。

如果它是一个Web应用程序,您可以使用http://www.locabrowser.com来测试来自多个国家不同服务器的页面视图。