标签: browsermob

使用代理与BrowserMob时,慢速Selenium测试

我正在使用BrowserMob(http://bmp.lightbody.net/)设置ChromeDriver来拦截HTTP响应.

ProxyServer proxyServer = null;
proxyServer = new ProxyServer(9101);
proxyServer.start();

proxyServer.setCaptureContent(true);
proxyServer.setCaptureHeaders(true);

Proxy proxy = proxyServer.seleniumProxy();
proxy.setHttpProxy("localhost:9101");


proxyServer.addResponseInterceptor(new ResponseInterceptor() {

@Override
public void process(BrowserMobHttpResponse response, Har har) {
    if (response.getRawResponse().getStatusLine().getStatusCode() == 500) {
                    // do something
                }

            }
        });

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.PROXY, proxy);

System.setProperty("webdriver.chrome.driver", "seleniumdrivers/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--lang=nl");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
this.driver = new ChromeDriver(capabilities);
Run Code Online (Sandbox Code Playgroud)

运行Selenium测试时,每个页面加载速度都非常慢.没有代理,它工作正常.有人知道原因/解决方案吗?

在日志控制台中,将显示以下消息:jan 10, 2014 12:58:06 PM net.sf.uadetector.datastore.AbstractUpdateOperation isUpdateAvailable INFO: Can not check for an updated version. Are you …

java proxy selenium selenium-webdriver browsermob

5
推荐指数
0
解决办法
4789
查看次数

使用ChromeDriver设置browsermob代理

我试图设置browsermob在我的硒项目中工作。我一直在寻找一种使用ChromeOptions设置代理的方法,但是所有消息来源都告诉我在所有其他示例中都使用ChromeOptions,然后在实例化新的ChromeDriver实例之前将其转换为DesiredCapabilities。

这是我的代码:

ChromeOptions options = new ChromeOptions();
// Setting some chrome features here

ProxyServer proxyServer = new ProxyServer(4444);
proxyServer.start();

Proxy proxy = proxyServer.seleniumProxy();

DesiredCapabilities capabilities = DesiredCapabilities.chrome();

capabilities.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setCapability(CapabilityType.PROXY, proxy);

WebDriver driver = new ChromeDriver(capabilities); // Error happens here
Run Code Online (Sandbox Code Playgroud)

我正在使用来自Maven存储库的Webdriver版本2.44。这是我得到的错误:

java.lang.IllegalAccessError: tried to access field com.google.gson.JsonNull.INSTANCE from class org.openqa.selenium.remote.BeanToJsonConverter
Run Code Online (Sandbox Code Playgroud)

是否有人知道将代理连接到chromedriver的原因或任何其他解决方案?

java proxy selenium-chromedriver selenium-webdriver browsermob

5
推荐指数
1
解决办法
7180
查看次数

如何使用browsermob-proxy和nightwatch.js监视HTTP调用?

我正在使用Nightwatch.js框架为SPA应用程序编写测试用例。这里有一个要求,我们必须监视HTTP调用并获取站点的性能结果。因为可以使用JMeter轻松实现。

使用自动化测试工具,我们可以使用browsermob-proxy和硒来实现。

是否可以使用Nightwatch.jsbrowsermob-proxy进行相同的操作?

同样要执行哪些步骤。

javascript selenium node.js browsermob nightwatch.js

5
推荐指数
1
解决办法
2503
查看次数

本机应用程序中Appium的HTTP代理?

我想知道是否有人知道在运行Appium测试时,用于嗅探,记录和处理本机应用程序的HTTP流量的Java/Groovy库/工具是什么?对于特定情况,是否有人有使用Browser Mob的经验?谢谢!最好,丹尼尔

sniffing appium browsermob

5
推荐指数
1
解决办法
810
查看次数

无法使用BrowserMob代理使用硒访问不安全的https

我试图在我的硒(chrome)框架中嵌入browsermob代理以进行UI自动化测试,以便拦截响应和其他网络。

说明:

使用浏览器代理的Selenium Webdriver可以正常工作-HTTP和受保护的HTTPS URL都可以。当我尝试导航到不安全的HTTPS URL时,出现以下Chrome错误:ERR_TUNNEL_CONNECTION_FAILED

这是我的python代码:

class Browser(object):
    display = None
    browser = None

    def __init__(self, implicitly_wait_seconds=10, is_visible=True, display_size=None, browser_name='chrome'):
        if not is_visible:
            self.display = Display(display_size)
        self.server = Server('/home/erez/Downloads/browsermob-proxy-2.1.4/bin/browsermob-proxy')
        self.server.start()
        self.proxy = self.server.create_proxy()
        self.capabilities = DesiredCapabilities.CHROME
        self.proxy.add_to_capabilities(self.capabilities)
        self.proxy.new_har("test", options={'captureHeaders': True, 'captureContent': True})
        self.start_browser(display_size, implicitly_wait_seconds, browser_name)

    def __enter__(self):
        return self

    def __exit__(self, _type, value, trace):
        self.close()

    def start_browser(self, display_size, implicitly_wait_seconds=10, browser_name='chrome'):
        if browser_name == 'chrome':
            chrome_options = Options()
            # chrome_options.add_argument("--disable-extensions")
            chrome_options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])
            chrome_options.add_argument("--ssl-version-max")
            chrome_options.add_argument("--start-maximized")
            chrome_options.add_argument('--proxy-server=%s' % self.proxy.proxy)
            chrome_options.add_argument('--ignore-certificate-errors')
            chrome_options.add_argument('--allow-insecure-localhost')
            chrome_options.add_argument('--ignore-urlfetcher-cert-requests') …
Run Code Online (Sandbox Code Playgroud)

https proxy selenium selenium-chromedriver browsermob

5
推荐指数
2
解决办法
2568
查看次数

No headers in HAR response

I parse website 'http://ok.ru'. To get data from the post request I need to send a specific token that is generated by Javascript on the website and this token is contained in headers.

So I thought maybe one solution would be to open the website, let it generate token, grab headers and that's it.

One tool that can implement Java scripts is Selenium, however, to get headers I need to use brosermob-proxy (or equivalent). That is where I'm …

python-2.7 har selenium-webdriver browsermob browsermob-proxy

4
推荐指数
1
解决办法
1241
查看次数

你如何在 Selenium 中设置 ChromeDriver 的端口?

作为一些背景,我正在使用 BrowserMob 代理,但我被端口设置阻止了。所以我想知道如何自己设置端口。

 Server srv = new Server(@"C:\BMob\browsermob\bin\browsermob-proxy.bat");
 srv.Start();
 Client cln = srv.CreateProxy();
 cln.NewHar("BOWZA"); 
 ChromeOptions co = new ChromeOptions();
 Proxy  seleniumProxy = new Proxy { HttpProxy = cln.SeleniumProxy };
 co.Proxy = seleniumProxy;
 ChromeDriver cDriver = new ChromeDriver(co);
// What do I do now...?
Run Code Online (Sandbox Code Playgroud)

我只是找不到任何记录此内容的内容,抱歉

c# selenium-chromedriver selenium-webdriver browsermob

3
推荐指数
1
解决办法
1万
查看次数