如果没有,那还有什么替代方法?
#1 楼
您可以使用代理捕获网络流量,例如BrowserMob代理(http://proxy.browsermob.com)要使用Webdriver实例配置代理的使用,请设置CapabilityName.PROXY org.openqa.selenium.Proxy实例的值:测试完成后,您可以使用其提供的机制从browsermob代理中提取数据。请注意,您还可以使用任何所需的代理:它不必是browsermob之一!
评论
使用代理是否会减慢测试速度?
– A.J
2012年5月16日19:57
然后如何在测试中从代理检查值? ...还有另一个维护和增加误报的整个系统。
– gcb
2012年10月26日23:08
#2 楼
目前还没有本机解决方案。如果您使用webDriverBackedSelenium,则可以尝试使用captureNetworkTraffic功能,但是上次听说它时存在一些问题(有关更多信息,请参见此处-https://groups.google.com/d/topic/selenium-users / fMSHeH9ZVqU /讨论)。还值得注意的是,captureNetworkTraffic由于其实现方式而只能在FireFox中使用,因此它不是跨浏览器解决方案。
* Update *
根据通过selenium / webdriver邮件列表获得的一些信息,您可以改用代理(建议使用的是http://bmp.lightbody.net/,尽管还有其他信息)。
要配置它:
Proxy proxy = new Proxy();
proxy.setHttpProxy(<proxyAddress>);
DesiredCapabilities cap = DesiredCapabilities.firefox();
cap.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver = new FirefoxDriver(cap);
当前,此功能应可用于FireFox和IE。看来这将成为捕获前进的网络流量的方法。
注意:“ new Proxy()”-需要org.openqa.selenium.Proxy。
#3 楼
我一直在window.performance.getEntriesByType('resource')
中使用Charles Proxy和executeScript
的组合。性能无法捕获POST数据,因此这就是为什么我也使用Charles的原因。我将Charles会话导出为.har文件,然后使用nodejs脚本合并数据。收集窗口性能数据,进行过滤以获取Adobe Analytics(b / ss),然后返回名称,即GET或POST URL字符串。
let getPerformance = () => {
return (window.performance.getEntriesByType('resource').filter(function(entry){
return /b\/ss/i.test(entry.name);
})).map( entry => { return decodeURIComponent(entry.name) }).join("\n");
}
driver.executeScript( getPerformance ).then( windowPerformance => { /* do something with window.performance data */ })
#4 楼
还没有看完所有内容,但是我确实找到了一个看起来相关的帖子。另外,还没有尝试过,但是,您是否看过任何提琴手库?尽管我已经计划进行尝试,但这还需要几个月的时间。评论
看起来很有趣,但我正在寻找更完整的解决方案,也许需要使用两种工具(在我的情况下,如selenium和gson)。这看起来需要完成很多工作。
–罗尼·亚尼夫(Roni Yaniv)
11年6月27日在11:25
#5 楼
是的,您可以使用BrowserMob代理将其自动化。[请使用下面的说明链接使用BrowserMob代理测试网络流量
https://keshavtechinfo.wordpress.com/web-automation/selenium / web-page-load-testing-using-seleniumandbrowsermob-proxy /
] 1
评论
如何在此处写下答案并使用链接作为参考?
–IAmMilinPatel
16年6月13日在8:00
使用BrowserMob代理,我们可以捕获性能数据。如何使用BrowserMob代理?下载BrowserMob代理2.启动BrowserMob代理创建一个新项目,并使用Selenium Standalone Server Jar导入BrowserMob代理。运行脚本。运行脚本后,您将看到代理服务器已启动,并生成了相应的日志。随着脚本的停止,还将使用所需Web应用程序的性能日志生成HTTP实现文件。现在,您可以导入该HAR文件,并在pcapperf.appspot.com上查看结果。它将显示获取的性能数据。
– kkashyap1707
16年6月14日在5:11
评论
我最终可能会这样做,但是会寻找本机Webdriver解决方案。问题已得到解答,但是SQA上的许多人都找不到该问题的答案,因此正在重复该问题。我们可以为有关该问题的问题添加更多的上下文。例如,此[sqa.stackexchange.com/questions/2915/…问题)非常清楚地从更广泛的角度对它进行了描述,恕我直言。