故意减慢HTML / PHP页面加载到测试

时间:2011-09-13 17:31:09

标签: php javascript jquery testing load-testing

我很好奇是否存在故意减慢页面加载速度的方法?

我正在测试我的HTML&我的本地主机上的PHP页面现在,我想看看当页面加载速度较慢时我的加载gif等将如何执行。

我意识到这是一个罕见的请求,因为大多数开发人员只关心加速 up 页面加载,但我认为可能有一个方法,使用javascript / jQuery或PHP,做类似的事情这用于测试目的。

感谢您的帮助!

注意:我正在测试MAMP,以便在Mac OS 10.7上运行Apache服务器

8 个答案:

答案 0 :(得分:15)

您可以使用php的sleep($seconds)功能来减慢页面加载速度。但是,如果您希望在处理页面之前将任何内容发送到用户的浏览器,则需要将implicit output buffer flushing to "on"ob_implicit_flush(true);一起转动。否则,在完成加载之前,您的页面将不会包含任何内容。单独打电话睡觉是行不通的。

答案 1 :(得分:4)

在Chrome中,您可以使用开发者工具模拟缓慢的Internet连接。在最右边的“网络”标签下。您可以使用“ Fast G3”之类的预设,也可以创建自己的数字,以进行上传,下载和ping操作。

enter image description here

参考:https://helpdeskgeek.com/networking/simulate-slow-internet-connection-testing/

答案 2 :(得分:3)

这是我会尝试的: 使用php资源作为图像的来源:

<img src="images/gifLoager.php" />

在gifLoader.php中,读取你的图像文件,在循环中延迟输出它。

$fp = fopen( $path, 'rb');
while(!feof($fp)) {
        print(fread($fp, 1024));
        flush();
        Sleep(1);
     }
fclose($fp);

在输出二进制数据之前,不要忘记适当设置标题。

<强> Referrences:

http://stackoverflow.com/questions/1563069/stream-binary-file-from-mysql-to-download-with-php
http://php.net/manual/en/function.sleep.php
http://www.gamedev.net/topic/427622-php-and-file-streaming-script-with-resume-capability/

更新2015-04-09 使用Chrome'设备模式': 此工具具有网络限制功能,可让您查看网页在网络带宽较慢的设备上的呈现方式。它还具有许多其他功能,可以模拟各种设备上的功能,如屏幕尺寸和触摸。

https://developer.chrome.com/devtools/docs/device-mode

答案 3 :(得分:3)

Moussa有正确的想法。测试慢速页面加载的最佳方法是使用Chrome的开发人员工具。选择网络选项卡,然后单击“无限制”下拉列表。然后将页面更改为所需的速度。

这种方式优于使用睡眠功能,因为您不必乱用任何代码,然后记得将其取出。如果你想改变速度,只需改变节流水平就可以了。

有关限制check out the docs的更多信息。

答案 4 :(得分:1)

您可以使用sleep()


<?php
// Delays for 10 seconds.
sleep(10);
?>

...
html here
...

答案 5 :(得分:0)

JS setTimeout的一点点可以做到这一点

setTimeout(function()
{
    // Delayed code in here
    alert('You waited 5 seconds to see me'); // Waits 5 seconds, then alerts this
}, 5000); // 5000 = 5 seconds

答案 6 :(得分:0)

在PHP代码中调用sleep()以将请求延迟到服务器。

答案 7 :(得分:0)

你可以使用sloppy local web proxy来减慢连接速度(它在JAVA中,所以它可能会在你的开发机器上运行。你可能还想关闭mod_deflate用于测试目的,如果你想要如此浏览器响应缓慢的HTML加载(例如,动态调整大小的HTML表格等)

另请参阅webmasters.stackexchange.com上的this question