我正在使用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 …
我试图设置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
我正在使用Nightwatch.js框架为SPA应用程序编写测试用例。这里有一个要求,我们必须监视HTTP调用并获取站点的性能结果。因为可以使用JMeter轻松实现。
使用自动化测试工具,我们可以使用browsermob-proxy和硒来实现。
是否可以使用Nightwatch.js和browsermob-proxy进行相同的操作?
同样要执行哪些步骤。
我想知道是否有人知道在运行Appium测试时,用于嗅探,记录和处理本机应用程序的HTTP流量的Java/Groovy库/工具是什么?对于特定情况,是否有人有使用Browser Mob的经验?谢谢!最好,丹尼尔
我试图在我的硒(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) 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
作为一些背景,我正在使用 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)
我只是找不到任何记录此内容的内容,抱歉
browsermob ×7
proxy ×3
selenium ×3
java ×2
appium ×1
c# ×1
har ×1
https ×1
javascript ×1
node.js ×1
python-2.7 ×1
sniffing ×1