如何监控来自 Appium JUnit 测试的 iOS simulator/Android 模拟器的 HTTP 流量?
How do I monitor iOS simulator/Android emulator's HTTP traffic from Appium JUnit tests?
所以我正在为 iOS/Android 应用程序编写 JUnit 测试,使用 Appium 在 iOS 模拟器和 Android 模拟器上驱动测试。该应用程序向远程服务器发送和接收 HTTP 调用。我想测试该应用程序是否从我的 JUnit 测试中发送了正确的 HTTP 流量。我可以通过哪些方式从我的代码中监控网络流量?
几个月前我遇到了同样的问题并尝试了两种解决方案。
1) 在您的代码中使用代理。我尝试了一点代理。我有点喜欢它,但它也增加了我维护少量代理代码的开销。如果您对代理有非常高深的了解,它就会起作用;你将能够处理它。 https://github.com/ganskef/LittleProxy-mitm
2) 我终于想通了最好使用Android logcat。无论我们的手机进行何种通信,一切都会被记录下来 logcat。我只需要一些命令来过滤掉我的应用程序发出的网络请求。我不记得所有的命令,但它是这样的。我知道它不正确,但它会给你一个良好的开端,我 100% 肯定有人会纠正这个问题。
adb logcat -d | grep com.xyz.abc
对于javascript和python,命令是:
driver.getLogs('logcat');
所以我正在为 iOS/Android 应用程序编写 JUnit 测试,使用 Appium 在 iOS 模拟器和 Android 模拟器上驱动测试。该应用程序向远程服务器发送和接收 HTTP 调用。我想测试该应用程序是否从我的 JUnit 测试中发送了正确的 HTTP 流量。我可以通过哪些方式从我的代码中监控网络流量?
几个月前我遇到了同样的问题并尝试了两种解决方案。
1) 在您的代码中使用代理。我尝试了一点代理。我有点喜欢它,但它也增加了我维护少量代理代码的开销。如果您对代理有非常高深的了解,它就会起作用;你将能够处理它。 https://github.com/ganskef/LittleProxy-mitm
2) 我终于想通了最好使用Android logcat。无论我们的手机进行何种通信,一切都会被记录下来 logcat。我只需要一些命令来过滤掉我的应用程序发出的网络请求。我不记得所有的命令,但它是这样的。我知道它不正确,但它会给你一个良好的开端,我 100% 肯定有人会纠正这个问题。
adb logcat -d | grep com.xyz.abc
对于javascript和python,命令是:
driver.getLogs('logcat');