在ucelabs云设备中运行appium更改公共ip,以进行特定国家/地区的应用测试

问题描述

im在ucelabs android设备中成功运行了自动化测试(我们尚未尝试进行iOS设备测试),但是我们的测试失败了,因为我们的应用程序仅在发出请求的设备的ip地址(在后台)下有效api)来自我们的国家(阿根廷),因为我们提供的服务仅在该国家/地区有效,但是SauceLabs设备位于欧洲。

当前,我尝试将appium的设备位置更改为阿根廷的gps坐标,但我们的应用程序不关心它,仅关心请求的公共IP地址。

所以问题是,是否可以通过某种方式将设备的公共IP指向阿根廷的IP,以便测试能够成功运行。也许是某种appium功能(但我没有看到类似的功能)或某种souceLabs特定功能可以做到这一点。

谢谢!

解决方法

没有 Appium 或 Sauce 功能来实现这一点。事实上,因为听起来后台 API 是负责检查 IP 地址的组件,所以我不确定它是否可以自动寻址;您无法更改 IP 地址的地理位置。

您可以做的是使用以下方法使流量看起来来自另一个地址 Sauce Connect。通过在阿根廷启动并在您的测试中使用它,您的流量似乎来自您运行客户端的位置。

要将 Sauce Connect 与真实设备一起使用,您需要使用新的真实设备平台(例如,而不是旧的 TestObject 接口)。您可以在此处阅读有关 Sauce with Real Devices 的更多信息:https://wiki.saucelabs.com/display/DOCS/Sauce+Connect+Proxy+Setup+for+Real+Device+Cloud