我正在将我的应用程序与一些国家/地区检测模块集成。 总体逻辑是:
这非常有效,但我在编写自动化集成测试时遇到了问题。
有一种方法可以覆盖(强制)某些测试IP,但问题是所有的IP都会定期更改,并且我不时会因为这个原因而失败。
如何稳定此类测试? 我有一个想法是,如果世界各地有一个主要ISP的目录,但找不到它。
谢谢!
答案 0 :(得分:1)
您可能需要使用VPN来测试应用程序。一些提供商在固定国家/地区提供免费服务器。
如果是网络应用程序,您可以使用a pull request来测试来自多个国家/地区的不同服务器的网页浏览量。
答案 1 :(得分:1)
您可以在测试环境中覆盖GeoIP查找服务,以返回某些测试IP的固定值。但这仅测试#4。要测试#1,2,3,您需要使用真实的IP地址。
如果您的需求仅限于少数几个国家/地区,则可以购买具有固定IP的私有代理,并通过具有固定IP的代理客户端运行测试。
要大规模自动化,您可以查看https://www.geoscreenshot.com,它提供了一个API,可以同时对多个位置进行可视化测试。
答案 2 :(得分:0)
此外,您可以使用MaxMind用于其单元测试的IP的CSV文件(请参阅https://stackoverflow.com/a/23616234/354709)