我正在为mobileweb和mobileapp编写自动化测试。
对于mobileweb,我使用browsermob代理从浏览器捕获网络响应。
https://github.com/lightbody/browsermob-proxy
Mobileweb代码:
我想启动firefox驱动程序的代理并运行测试。
测试在我的本地环境中工作。
如何在saucelabs上设置代理?
我的代码:
ProxyServer proxyServer = new ProxyServer(4444);
proxyServer.start();
Proxy proxy = proxyServer.seleniumProxy();
DesiredCapabilities capabillities = DesiredCapabilities.firefox();
capabillities.setCapability(CapabilityType.PROXY, proxy);
capabillities.setCapability("version", "5");
capabillities.setCapability("platform", Platform.XP);
this.driver = new RemoteWebDriver(
new URL("http://myname:xxxxxx@ondemand.saucelabs.com:80/wd/hub"),
capabillities);
是否可以使用相同的代理代码来捕获移动应用程序的网络响应?
您可以在您的PC上尝试Charles Proxy,查看来自您设备的所有HTTP流量(包括应用程序)。下面是配置它的说明:
是的,您可以使用light body browsermob代理实现这一点。请按照github链接https://github.com/lightbody/browsermob-proxy中的步骤操作。
需要在设备中安装browsermob代理证书,并在移动设备中设置代理。
BrowserMobProxy proxy = new BrowserMobProxyServer();
proxy.start(8888);
在设备中设置手动代理的步骤:
- 进入设备设置
- 点击wifi连接
- 长按已连接网络
- 轻按 管理网络配置
- 点击显示高级选项
- 将代理更改为手动
- 设置计算机(设备网络和计算机)的ip地址网络应该相同)
- 设置代码中使用的端口,在我们的例子中是8888