1

我无法让 Browsermob 代理捕获网络流量。

我正在使用 Appium 在 android 应用程序中编写测试。我想使用浏览器暴民代理来捕获和验证网络调用。浏览器 mob 代理正在端口 19536 处启动。我正在使用 shell 脚本在端口 19536 处打开 Mac 代理。

下面是我正在使用的代码,但我在 HAR 文件中看不到任何网络请求。它几乎是空的。

有人可以帮忙吗?TIA。

代码

  //Start Proxy Server
  server = new BrowserMobProxyServer();
  server.start(19536);

  //Turn Mac http Proxy on
  Global.runShellCmdWithArg("/usr/local/bin/webproxy.sh", "on");

  // get the Selenium proxy object
  Proxy seleniumProxy = ClientUtil.createSeleniumProxy(server);

  File appDir = new File("/build/outputs/apk/");
  File app = new File(appDir, "Demo-debug.apk");

  DesiredCapabilities capabilities = new DesiredCapabilities();
  capabilities.setCapability("deviceName","Android Emulator");
  capabilities.setCapability("platformName", "Android");
  capabilities.setCapability("platformVersion", "5.1");
  capabilities.setCapability("app", app.getAbsolutePath());
  capabilities.setCapability("appPackage", "com.test");
  capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);

  driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
  server.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.REQUEST_BINARY_CONTENT);
  server.newHar("newHar");

  testApp = new DemoAppPage(driver);
  wait =  new WebDriverWait(driver, 30);

  testApp.clickGetStarted(); 
  testApp.clickButton();

  // Get the HAR data
  Har har = server.getHar();
  File harFile = new File("test.har");
  har.writeTo(harFile);
4

0 回答 0