Я использую BrowserMobProxy для аналитического тестирования нативного приложения для Android, я могу сгенерировать файл .har и отследить все желаемые запросы на Android версии 6.x и ниже, но на 7.x (Nougat) или выше .har файл получаетсгенерировано, но запросы не отслеживаются / фиксируются.
Любой, кто может сделать это, любезно поможет.
Если вопрос не достаточно описательный, пожалуйста, дайте мне знать, если мне нужно добавить какой-либо код /войдите в поддержку моего вопроса.
public BrowserMobProxyBaseClass bmProxy = new BrowserMobProxyBaseClass();
public void setUp() {
try {
bmProxy.proxyStart();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Map<String, String> getAnalyticsKeyValue() throws Exception {
Map<String, String> keyValue = new HashMap<String, String>();
BrowserMobProxy server;
Har har = server.getHar();
String strFilePath = "Selenium_test.har";
FileOutputStream fos = new FileOutputStream(strFilePath, false);
har.writeTo(fos);
HarLog log = har.getLog();
List<HarEntry> entries = log.getEntries();
for (int i = entries.size() - 1; i >= 0; i--) {
HarEntry entry = entries.get(i);
System.out.println(entry.getRequest().getUrl());
if (entry.getRequest().getUrl().contains("ResponseTargetName")) {
List<HarPostDataParam> listpost = entry.getRequest().getPostData().getParams();
HashMap<String, String> actualData = new HashMap<String, String>();
for (HarPostDataParam pair : listpost) {
if (pair.getValue() != null)
keyValue.put(pair.getName(), pair.getValue());
System.out.println("key : " + pair.getName() + " Value : " + pair.getValue());
}
break;
}
}
return keyValue;
}
public void tearDownProxy() throws Exception {
bmProxy.stopProxy();
driver.quit();
new HtmlLogger().createHtmlAnalyticsLogFile(result);
}
<dependency>
<groupId>net.lightbody.bmp</groupId>
<artifactId>browsermob-core</artifactId>
<version>2.1.5</version>
</dependency>