BrowserMobProxy со стеком браузера не перехватывает ответ - PullRequest
0 голосов
/ 23 января 2019

Я использую веб-драйвер JAVA + SELENIUM + браузер mobproxy + browserstacklocal (embeded)

compile 'com.browserstack:browserstack-local-java:1.0.2'
compile 'net.lightbody.bmp:browsermob-core:2.1.5'

Локально это работает нормально, так как я могу перехватить ответ API и переопределить код ответа (например, от 200-OK до 502-BAD_GATEWAY)

Однако во время выполнения этого теста в стеке браузера он не работает, так как кажется, что mobproxy не перехватывает ответ и не переопределяет его. Таким образом, утверждение не выполняется на этапах теста. Другие тесты, которые не зависят от mobproxy, работают нормально в browsestack.

Proxy seleniumProxy = ProxyUtils.getInstance().createSeleniumProxy();
String host=seleniumProxy.getHttpProxy()
            .substring(0,seleniumProxy.getHttpProxy().indexOf(":"));
String port=seleniumProxy.getHttpProxy()
            .substring(seleniumProxy.getHttpProxy()
            .indexOf(":")+1,seleniumProxy.getHttpProxy().length());
browserStackLocalArgs.put("key", <key>);
browserStackLocalArgs.put("localIdentifier", <identifier>);
browserStackLocalArgs.put("forcelocal", "true");
browserStackLocalArgs.put("force", "true");
browserStackLocalArgs.put("forceproxy", "true");
browserStackLocalArgs.put("localProxyHost", host);
browserStackLocalArgs.put("localProxyPort", String.valueOf(port));
browserStackLocalArgs.put("--daemon", "start");
browserStackLocal.start(browserStackLocalArgs);

Я использовал оба localProxyHost и -local-proxy-host, но не повезло. Я также добавляю возможность установки для стека браузеров.

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setCapability(CapabilityType.PROXY, proxy);
browserStackCapabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions); 

Выполняя ps -ef | grep browserserck возвращает меня

505   921     1   0  6:33pm ??         0:00.86 /Users/ITAS4/.browserstack/BrowserStackLocal -d start sqfXJPx2Hpyp4L -forceproxy -localIdentifier browserstack_local_machine -force -localProxyPort 49676 ---daemon start -forcelocal -localProxyHost CHISIMAC0123.local -daemonInstance

505   943   921   0  6:33pm ??         0:02.29 /Users/ITAS4/.browserstack/BrowserStackLocal sqfXJPx2Hpyp4L -forceproxy -localIdentifier browserstack_local_machine-browserstack-fork-0 -localProxyPort 49676 ---daemon start -forcelocal -localProxyHost CHISIMAC0123.local -daemonInstance

505   944   921   0  6:33pm ??         0:00.79 /Users/ITAS4/.browserstack/BrowserStackLocal sqfXJPx2Hpyp4L -forceproxy -localIdentifier browserstack_local_machine-browserstack-fork-1 -localProxyPort 49676 ---daemon start -forcelocal -localProxyHost CHISIMAC0123.local -daemonInstance

505   945   921   0  6:33pm ??         0:00.80 /Users/ITAS4/.browserstack/BrowserStackLocal sqfXJPx2Hpyp4L -forceproxy -localIdentifier browserstack_local_machine-browserstack-fork-2 -localProxyPort 49676 ---daemon start -forcelocal -localProxyHost CHISIMAC0123.local -daemonInstance

505   946   921   0  6:33pm ??         0:00.79 /Users/ITAS4/.browserstack/BrowserStackLocal sqfXJPx2Hpyp4L -forceproxy -localIdentifier browserstack_local_machine-browserstack-fork-3 -localProxyPort 49676 ---daemon start -forcelocal -localProxyHost CHISIMAC0123.local -daemonInstance

505   947   921   0  6:33pm ??         0:00.80 /Users/ITAS4/.browserstack/BrowserStackLocal sqfXJPx2Hpyp4L -forceproxy -localIdentifier browserstack_local_machine-browserstack-fork-4 -localProxyPort 49676 ---daemon start -forcelocal -localProxyHost CHISIMAC0123.local -daemonInstance
...