性能测试工具
我们正在使用 watir 并使用 ruby in Steel 与 VS 2008 集成,我们已经自动化了我们的 Web 应用程序,这非常棒。 有没有办法使用相同的脚本来进行性能测试或者是否有更好的工具。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我们正在使用 watir 并使用 ruby in Steel 与 VS 2008 集成,我们已经自动化了我们的 Web 应用程序,这非常棒。 有没有办法使用相同的脚本来进行性能测试或者是否有更好的工具。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
很难判断您是否想要分析网站性能的工具(即:分析器)或负载/压力测试工具。 鉴于您正在谈论脚本重用,我假设您需要一个负载测试工具而不是分析器。
所有负载测试工具,除了一个(免责声明:我的公司就是那个)之外,都是通过记录 HTTP 流量然后重放它来工作的。 该脚本与功能测试脚本(例如 Watir 的脚本)非常不同。
您可以记录 Watir 脚本生成的 HTTP 流量,也可以尝试直接运行功能测试。
如果您也在使用 FireWatir,则可以使用 Firebug,它是一个优秀的 Web 开发人员工具,可以向您显示记录的流量对于每个页面。 如果您主要使用 IE,请查看 HttpWatch。 它是商业性的,但为 IE 提供了出色的网络时序,并且可以导出为各种数据格式。 或者,许多 加载 测试 工具提供一个代理,可以记录流量并为您生成加载脚本。
一旦获得网络数据,您可以快速将其转换为 Pylot、Grinder、JMeter 等可以理解的脚本。 此方法的问题在于,每当站点或测试的任何部分发生更改时,您都需要重新录制脚本。 如果您的应用程序不仅仅是基本的 HTML(即:Ajax、.NET viewstate 等),那么您可能必须使用负载测试工具的一些高级部分。 有关详细信息,请参阅我关于 ajax 负载测试的文章。
无耻插件:如果您正在使用 Selenium(或者愿意将几个 Watir 脚本转换为 Selenium 脚本),这是另一个开源 ,您可以使用BrowserMob,它提供了负载测试服务,使用真正的浏览器回放负载和功能测试脚本(Selenium)来驱动它们。 它使用更多的资源,但由于云计算,价格仍然非常低。
It's hard to tell if you want something that analyzes the performance of your website (ie: profiler) or a load/stress testing tool. I'm going to assume you want a load testing tool and not a profiler, given that you're talking about script reuse.
All load testing tools, except for one (disclaimer: my company is that one), work by recording HTTP traffic and then replaying it. The script is very different from a functional testing script like one you'd have for Watir.
You can either record the HTTP traffic generated by your Watir script or try to run your functional tests directly.
If you're also using FireWatir, you can use Firebug, which is an excellent web developer tool and shows you the recorded traffic for each page. If you're using IE primarily, check out HttpWatch. It's commercial, but provides great network timings for IE and can export to various data formats. Alternatively, many load testing tools provide a proxy that can record traffic and generate a load script for you.
Once you've got the network data, you can likely quickly turn it in to a script that Pylot, Grinder, JMeter, etc can understand. The problem with this method is that you need to re-record your script whenever any part of the site or the test changes. And if your app is anything more than basic HTML (ie: Ajax, .NET viewstate, etc) then you may have to use some advanced parts of your load testing tool. See my article on ajax load testing for more info.
Shameless plug: if you were using Selenium (or were willing to convert a couple Watir scripts to Selenium scripts), which is another open source functional testing tool, you could use BrowserMob, which provides a load testing service that uses real browsers to play back the load and functional test scripts (Selenium) to drive them. It uses a lot more resources, but thanks to cloud computing the price point is still very low.
您可以使用 rawk 来运行日志文件。 这对花费这么长时间的事情进行了相当全面的总结。
或者,还有 NewRelic,它为您的 Rails 应用程序提供监控,并为您提供每个请求正在执行的操作的详细信息。
最后还有 FiveRuns,它的功能与 NewRelic 非常相似。
There's rawk that you could run over the log files. This gives a pretty comprehensive summary of what's taking so long.
Alternatively there's NewRelic which provides monitoring for your rails app and gives you a detailed breakdown of what every request is doing.
And finally there's FiveRuns which does things very similar to NewRelic.
看看LoadWise,您可以重用现有的功能测试脚本进行性能测试。
使用相同的负载测试脚本而不进行任何更改,您可以在 Firefox 中预览它(通过 FireWatir)或使用 X 个虚拟用户访问您的网站(通过 Celerity)。
http://testwisely.com/en/loadwise
Have a look at LoadWise, you could reuse existing functional test scripts for performance testing.
With the same load test scripts without change, You can either preview it in Firefox (via FireWatir) or hit your web sites with X number of virtual users (via Celerity).
http://testwisely.com/en/loadwise
如果您真的只是在谈论“性能”,那么您可以更改脚本以开始捕获和记录页面加载时间。 每当您进行某些导致页面加载的操作(例如导航到链接)时,Watir 都会返回加载页面的时间。
您只需要让脚本实现某种简单的日志记录方法,以便能够记录加载每个页面的时间,然后更改脚本,以便捕获它的返回值
dIf you are truely talking just 'performance' then you could alter the scripts to start capturing and recording the page load tines. Any time you so some action that causes a page to load (like navigating to a link) Watir returns the time to load the page.
You just need to have the scripts implement some kind of simple logging method to be able to record the time to load each page, and then alter the scripts so that it return value is captured ala