是否有可能使用curl来准确地testing一个网站有很多的JavaScript?

我有一个网站,有很多的JavaScript,但简单的HTML。 我想用curl来尝试简单的压力testing。 那可能吗? 如果我只是curl的网站,我得到的HTML。 因此,大量的curl请求并不能告诉我它是如何在一定的stream量上执行的。 (我知道有1000多种复杂的压力testing框架和方法 – 我很高兴能够学习它们,但是现在我需要一些快速和肮脏的东西,因为这个网站在几天之内会有很多stream量。)有没有办法使用CURL来testing一个JavaScript密集的网站?

你是对的,curl不会像一个真正的浏览器的真实用户浏览您的网站,所以你需要别的东西(如果你关心这种差异)。

请记住,JS在浏览器中执行,所以这不一定会加载到你的服务器(这当然取决于你的JS调用服务器的调用做更多的工作,如ajax调用)。 你关心一旦页面击中用户会发生什么,或者你在testing你的服务器的性能? 无论哪种方式,您都有几个性能/负载testing选项。

你可以使用类似phantomjs的东西(如果你需要完全渲染的网页,或者你需要与JS进行交互……这会给你什么curl不能),但是即使如此,你将无法轻松地模拟大量来自不同地点的用户。

phantomjs.org/ PhantomJS是一个JavaScript API的无头WebKit脚本。 它有各种networking的快速和本地支持…

你可以看看beezwithmachineguns,但是这可能需要修改才能像真正的浏览器那样正确加载JS。

由于你没有时间,尝试一个已经做你想做的在线服务。 我以前使用过https://www.blitz.io/ ,因为它是软件即服务,所以没有什么可以下载或configuration的,所以很容易,也很轻松。

curl实用程序不执行JavaScript我想你需要像N浏览器,这是同时访问您的网站的东西。

如果你有足够的硬件,你可以考虑使用Selenium Grid 。

但是,AJAX请求仍然可以使用较less的CPU / RAM消耗testing工具(如Apache JMeter)来捕获和复制。 您可以通过JMeter代理服务器将浏览器指向testing站点,该服务器将logging所有请求,包括asynchronousJavaScript驱动,然后使用大量虚拟用户重播脚本。

或者,在有限许可的基础上考虑以下商业工具

  • SOASTA CloudTest lite。 100个线程,不会过期
  • LoadRunner版本12社区版。 50个虚拟用户,不过期

如果您的财务风险达到足够高的水平以保证性能testing,那么您会发现,如果您衡量失败的财务影响,即使是最昂贵的商业工具,失败成本也会使任何成本的可用市场工具。

如果您没有获得成功的技巧,您也可以通过免费或开源工具获得负面的投资回报率,就像将钥匙交给异国情调的意大利跑车给不信任汽车的人,乘坐巴士,训练他们整个成年人的生活。 汽车非常有能力:司机,不是那么多。