【发布时间】:2010-10-03 02:38:40
【问题描述】:
我们正在使用 watir 并使用 ruby in steel 与 VS 2008 集成,并且我们已经自动化了我们的 Web 应用程序,它非常棒。 有没有办法使用相同的脚本进行性能测试或者有没有更好的工具。
【问题讨论】:
标签: ruby watir performance-testing
我们正在使用 watir 并使用 ruby in steel 与 VS 2008 集成,并且我们已经自动化了我们的 Web 应用程序,它非常棒。 有没有办法使用相同的脚本进行性能测试或者有没有更好的工具。
【问题讨论】:
标签: ruby watir performance-testing
d如果您真的只是在谈论“性能”,那么您可以更改脚本以开始捕获和记录页面加载时间。每当您执行某些导致页面加载的操作(例如导航到链接)时,Watir 都会返回加载页面的时间。
您只需要让脚本实现某种简单的日志记录方法即可记录加载每个页面的时间,然后更改脚本以便捕获它的返回值 ala
loadtime = browser.goto(someurl)
perflogger(someurl, loadtime)
【讨论】:
看看 LoadWise,您可以重用现有的功能测试脚本进行性能测试。
使用相同的负载测试脚本,无需更改,您可以在 Firefox 中预览它(通过 FireWatir)或使用 X 个虚拟用户访问您的网站(通过 Celerity)。
【讨论】:
很难判断您是想要分析网站性能的工具(即:分析器)还是负载/压力测试工具。鉴于您正在谈论脚本重用,我将假设您需要负载测试工具而不是分析器。
所有负载测试工具,除了一个(免责声明:我的公司就是那个),通过记录 HTTP 流量然后重放它来工作。该脚本非常不同于您为 Watir 使用的功能测试脚本。
您可以记录由 Watir 脚本生成的 HTTP 流量,也可以尝试直接运行功能测试。
如果您还使用 FireWatir,则可以使用 Firebug,它是一个 excellent web developer tool,并显示每个页面的记录流量。如果您主要使用 IE,请查看 HttpWatch。它是商业的,但为 IE 提供了great network timings,并且可以导出为各种数据格式。或者,许多load testing tools 提供代理,可以记录流量并为您生成加载脚本。
获得网络数据后,您可以快速将其转换为 Pylot、Grinder、JMeter 等可以理解的脚本。这种方法的问题是,每当站点的任何部分或测试发生变化时,您都需要重新录制脚本。如果您的应用程序不仅仅是基本的 HTML(即:Ajax、.NET 视图状态等),那么您可能必须使用负载测试工具的一些高级部分。有关更多信息,请参阅我在 ajax load testing 上的文章。
无耻插件:如果您正在使用 Selenium(或者愿意将几个 Watir 脚本转换为 Selenium 脚本),这是另一个开源 functional testing tool,您可以使用 BrowserMob,它提供了load testing service 使用真实的浏览器播放负载和功能测试脚本(Selenium)来驱动它们。它使用更多的资源,但由于云计算,价格点仍然很低。
【讨论】: