如果是,如何称呼它,或者在哪里可以找到有关它的更多信息? (我不是在谈论使用WebDriverBackend。)

如果没有,那还有什么替代方法?

评论

我最终可能会这样做,但是会寻找本机Webdriver解决方案。

问题已得到解答,但是SQA上的许多人都找不到该问题的答案,因此正在重复该问题。我们可以为有关该问题的问题添加更多的上下文。例如,此[sqa.stackexchange.com/questions/2915/…问题)非常清楚地从更广泛的角度对它进行了描述,恕我直言。

#1 楼

您可以使用代理捕获网络流量,例如Br​​owserMob代理(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