【发布时间】:2016-07-02 22:18:57
【问题描述】:
所以我正在使用 Appium 为 iOS/Android 应用程序编写 JUnit 测试,以便在 iOS 模拟器和 Android 模拟器上进行测试。该应用程序向远程服务器发送和接收 HTTP 调用。我想测试应用程序是否从我的 JUnit 测试中发送了正确的 HTTP 流量。有哪些方法可以从我的代码中监控网络流量?
【问题讨论】:
标签: java android ios junit appium
所以我正在使用 Appium 为 iOS/Android 应用程序编写 JUnit 测试,以便在 iOS 模拟器和 Android 模拟器上进行测试。该应用程序向远程服务器发送和接收 HTTP 调用。我想测试应用程序是否从我的 JUnit 测试中发送了正确的 HTTP 流量。有哪些方法可以从我的代码中监控网络流量?
【问题讨论】:
标签: java android ios junit appium
几个月前我遇到了同样的问题,并尝试了两种解决方案。
1) 在您的代码中使用代理。我尝试了一个小代理。我有点喜欢它,但它也增加了我维护少量代理代码的开销。如果您对代理有非常先进的知识,它就会起作用;你将能够处理它。 https://github.com/ganskef/LittleProxy-mitm
2) 我终于发现最好使用 Android logcat。无论我们的手机进行何种通信,一切都会登录到 logcat。我只需要一些命令来过滤掉我的应用程序发出的网络请求。我不记得所有的命令,但它是这样的。我知道它不正确,但它会给你一个先机,我 100% 肯定有人会纠正这个问题。
adb logcat -d | grep com.xyz.abc
【讨论】:
对于 javascript 和 python,命令是:
driver.getLogs('logcat');
【讨论】: