Tag: browsermob

使用Selenium的JAVA中的browsermob不起作用,浏览器的错误不同

我使用Java和selenium,我想使用browsermob:我在不同的浏览器中使用相同的代码,例如firefox: BrowserMobProxyServer proxyServer = new BrowserMobProxyServer(); proxyServer.start(); proxyServer.setHarCaptureTypes(CaptureType.getAllContentCaptureTypes()); proxyServer.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT); Proxy proxy = ClientUtil.createSeleniumProxy(proxyServer); DesiredCapabilities dccFirefox = DesiredCapabilities.firefox(); dccFirefox.setCapability(CapabilityType.PROXY, proxy); this.driver = new FirefoxDriver(dccFirefox); 在Firefox中发生错误: org.openqa.selenium.SessionNotCreatedException: InvalidArgumentError: Expected [object Undefined] undefined to be an integer Build info: version: ‘3.5.1’, revision: ‘9c21bb67ef’, time: ‘2017-08-17T15:26:08.955Z’ System info: host: ‘BEN-PLL-ST1-HP’, ip: ‘192.168.1.9’, os.name: ‘Windows 7’, os.arch: ‘amd64’, os.version: […]

使用BrowserMob-Proxy REST api设置自定义标头

我有一个在端口9091上运行的browsermob代理。我正在尝试使用browsermob-proxy REST API来设置自定义标头。 当我通过代理使用Selenium向我的应用程序发出请求时,我看不到我的应用程序控制台中打印的标题。 以下是我的代码。 请求正文基于此处的文档。 我的要求是使用BrowserMob代理API而不是它的Java库用于这个特定的用例。 我在下面的代码中做错了什么? Proxy proxy = new java.net.Proxy(java.net.Proxy.Type.HTTP, new InetSocketAddress(“localhost”, 9091)); String bpmUrl = “http://localhost:8787/proxy/9091/interceptor/request”; Client client = Client.create(); String requestBody = “request.getMethod().addHeader(\”custom-header\”, \”Bananabot/1.0\”);”; WebResource resource = client.resource(bpmUrl); resource.type(MediaType.TEXT_PLAIN_TYPE).post(requestBody); String url = “http://localhost:8004”; DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability(CapabilityType.PROXY, proxy); WebDriver driver = new FirefoxDriver(capabilities); driver.get(url); driver.quit(); 编辑1 我试过@ Erki的解决方案,我觉得应该可行,但事实并非如此。 这里有什么遗漏? […]

Selenium获取.har文件

我有一个两页的应用程序: /登录 /简介 我想得到.har文件页面/个人资料 。 当我转到页面/登录时 ,使用key = connect.sid和value =“example value”创建cookie。 此cookie尚未激活。 我添加了活动connect.sid的cookie。 WebDriver webDriver = getDriver(); webDriver.get(LOGIN_PAGE); webDriver.manage().addCookie(connectsSId); 它不起作用,因为在加载页面后,/ login创建了一个新的cookie。 我也试过这段代码: WebDriver webDriver = getDriver(); webDriver.get(PROFILE_PAGE); webDriver.manage().deleteAllCookies(); webDriver.manage().addCookie(connectsSId); 这不起作用。 cookies被添加但似乎为时已晚。 WebDriver webDriver = getDriver(); LoginPage loginPage = new LoginPage(getDriver()); LandingPage landingPage = loginPage.login(); landingPage.openProfilePage(); 此代码为页面/登录创建了一个.har文件。 由于某种原因,只有在第一次调用页面后才会创建文件。 我无法解决这个问题。