我想在使用 selenium 进行 GUI 测试时使用 browsermob 来监视网络连接。我找到了一些信息和文档here https://stackoverflow.com/questions/36744627/network-capturing-with-selenium-phantomjs and here https://github.com/AutomatedTester/browsermob-proxy-py and here https://browsermob-proxy-py.readthedocs.io/en/stable/,但绝对不清楚如何真正使用它。
在文档中写道:
server = Server("path/to/browsermob-proxy")
但那条路是什么?在哪里可以找到它?
我也看到
java -jar browsermob.jar --port 9090
但根本没有解释这个 jar 文件是什么,它是 browsermob 安装的一部分,还是不相关的东西。
如果有人可以提供一个关于如何使用 browsermob 的完整且有效的示例,以及我需要安装的所有内容,我将不胜感激......
BrowserMob Proxy
BrowserMob Proxy
是一个开源工具,用于捕获性能数据适用于 HAR 格式的 Web 应用程序。它还允许操纵浏览器行为和流量,例如模拟网络流量、重写 HTTP 请求和响应等以及操纵来自 AJAX 应用程序的网络流量。简而言之,BrowserMob proxy
帮助我们使用 Selenium WebDriver 自动化测试捕获 Web 应用程序的客户端性能数据。
您可以找到有关的更多详细信息BrowserMob Proxy
来自Python 文档 https://browsermob-proxy-py.readthedocs.io/en/stable/ and 本教程 http://www.seleniumeasy.com/selenium-tutorials/browsermob-proxy-selenium-example.
在 Windows 上使用 Python 客户端演示 BrowserMob Proxy 2.0
-
Install browsermob代理通过 CLI :
C:\Users\your_user>pip install browsermob-proxy
Collecting browsermob-proxy
Downloading browsermob-proxy-0.8.0.tar.gz
Collecting requests>=2.9.1 (from browsermob-proxy)
Downloading requests-2.18.4-py2.py3-none-any.whl (88kB)
100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 92kB 148kB/s
Collecting idna<2.7,>=2.5 (from requests>=2.9.1->browsermob-proxy)
Downloading idna-2.6-py2.py3-none-any.whl (56kB)
100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 639kB/s
Collecting urllib3<1.23,>=1.21.1 (from requests>=2.9.1->browsermob-proxy)
Downloading urllib3-1.22-py2.py3-none-any.whl (132kB)
100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 133kB 250kB/s
Collecting certifi>=2017.4.17 (from requests>=2.9.1->browsermob-proxy)
Downloading certifi-2017.11.5-py2.py3-none-any.whl (330kB)
100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 337kB 401kB/s
Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.9.1->browsermob-proxy)
Downloading chardet-3.0.4-py2.py3-none-any.whl (133kB)
100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 143kB 296kB/s
Installing collected packages: idna, urllib3, certifi, chardet, requests, browse
rmob-proxy
Running setup.py install for browsermob-proxy ... done
Successfully installed browsermob-proxy-0.8.0 certifi-2017.11.5 chardet-3.0.4 id
na-2.6 requests-2.18.4 urllib3-1.22
-
Download
the browsermob代理二进制文件browsermob-proxy-2.1.4-bin形成以下网址:
https://bmp.lightbody.net/
Extract
and Save
内的目录C:\Utility
-
Launch
the 浏览器mob代理服务器通过 CLI 命令手动:
C:\Utility\browsermob-proxy-2.1.4\lib>java -jar browsermob-dist-2.1.4.jar --port 9090
Running BrowserMob Proxy using LittleProxy implementation. To revert to the legacy implementation, run the proxy with the command-line option '--use-littleproxy false'.
[INFO 2018-01-17T19:01:30,276 net.lightbody.bmp.proxy.Main] (main) Starting BrowserMob Proxy version 2.1.4
[INFO 2018-01-17T19:01:30,388 org.eclipse.jetty.util.log] (main) jetty-7.x.y-SNAPSHOT
[INFO 2018-01-17T19:01:30,471 org.eclipse.jetty.util.log] (main) started o.e.j.s.ServletContextHandler{/,null}
[INFO 2018-01-17T19:01:30,871 org.eclipse.jetty.util.log] (main) Started [email protected] /cdn-cgi/l/email-protection:9090
您还可以启动浏览器mob代理服务器通过你的代码如下。
-
创建一个新的PyDev
模块(如果使用Eclipse
)并通过你的编写一个基本程序IDE
如下 :
from browsermobproxy import Server
server = Server("C:\\Utility\\browsermob-proxy-2.1.4\\bin\\browsermob-proxy")
server.start()
proxy = server.create_proxy()
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)
proxy.new_har("google")
driver.get("http://www.google.co.in")
proxy.har # returns a HAR JSON blob
server.stop()
driver.quit()
快照:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)