background image

  

user_pref(

“extensions.yslow.optinBeacon”, true);

配置本地

YSlow 

打开

Firefox 输入:about:config(我保证会很小心的)filter 中输入:yslow 修改以下三条

数据

  

extensions.yslow.beaconUrl = http://localhost/showslow/beacon/yslow/

  如果测试和服务器不在同一机器上,请将

localhost 改成实际地址

  

extensions.yslow.beaconInfo = grade

  

extensions.yslow.optinBeacon = true

  重启

Firefox,have fun :)

    还 等 什 么

? 开 始 你 的 测 试 之 旅 吧 , 查 看 测 试 报 告 的 URL 是 :

http://localhost/showslow/

  在这个地方遇到了一个问题就是所有配置都是正确的情况下,

ShowSlow 依然接收

不到

YSlow 发送的测试数据,后来在 RedHat 的服务器上搭建环境同样遇到了这个问题,

经过

SA 白非童鞋的帮助查看 Apache 的报错日志(/var/log/apache2 /error.log)发现罪魁祸首是

脚本中需要的几个模块必须是

PHP5.2 以上的版本,遂升级 PHP 至最新版本可解决问题。

  

test_harness.pl

  这个脚本是用

Perl 语言写的,我也是刚接触这个语言,但是我还是推荐各位童鞋

看看他的文件结构,老外写的代码阅读起来还是比较舒服,附带着大量注释方便我这样的
小白也能轻松理解每个函数的意义。我们主要需要用到的是

display,profile,source 这三个

属性

(具体作用 ReadMe 有解释),可以参考下我运行这个脚本的方式:
 

 

perl  test_harness.pl  -display=:1  -source  http://localhost/URLs  -profile 

/home/eric/FFProfiles

   

Can

’t  locate  POE.pm  in  @INC  (@INC  contains:  /etc/perl  /usr/local/lib/perl/5.10.1 

/usr/local/share/perl/5.10.1  /usr/lib/perl5  /usr/share/perl5  /usr/lib/perl/5.10  /usr/share/perl/5.10 
/usr/local/lib/site_perl .) at test_harness.pl line 100.

  

BEGIN failed-compilation aborted at test_harness.pl line 100.

  这个问题纠结了我好几天,百思不得其解,关键还是我第一次使用

Linux 和

Perl,对于很多报错信息都可以熟视无睹(请鄙视我),最后请教了 Sergey 童鞋,才恍然大悟
原来是没有安装

POE(请再次鄙视我),解决办法参考如下:

  

sudo perl -MCPAN -e shell (sudo 很关键啊,内牛满面)

  

cpan> install POE

  如果提示

YAML 没有安装 (类似于 XML 的数据描述语言)

  

cpan>install YAML

  

cpan> exit

  这个时候自动化脚本已经开始运行了,我们可以通过外部机器访问虚拟机搭建的

ShowSlow 查看测试结果 (Ubuntu 使用 ifconfig 查看本机 IP 地址,注意虚拟机网卡要设置成
Bridged 方式)

  

monitor.sh

  自动调用之前编写

test_harness.pl 脚本,当我们将调用 test_harness 的一些参数添

加进

monitor 后使用 Linux 的 Cron 就可以实现自动化测试了:)

  注意将脚本文件夹的绝对路径赋值给

Xvfb_PIDFILE,因为每次执行的时候系统会

自动生成一个

__xvfb.pid

  

2010-7-1 日更新

  在

Ubuntu 和 RedHat 环境搭建下的 Showslow 平台点击测试 URL 进入 Detail Page