« 2010年09月 | 首页 | 2011年12月 »

2010年12月28日

用Win32::IEAutomation与HttpWatch自动分析页面返回时间

    做web开发,在windows上使用HttpWatch的场景比较多。统计页面返回时间是其中一个,如果是重复性的工作的话。HttpWatch本身提供了Automation的功能。httpwatch提供标准的COM组件,可用多种语言操作。官方安装包里提供了c#/js/ruby/vbs的示例。并且使用ruby的时候可以配合watir自动化测试工具来工作,比较方便。但安装watir未成功,ruby1.8报找不到包的错误,ruby1.9报找不到dll的错误。不熟悉ruby,于是放弃。

    在cpan中找到Win32::Watir但安装出错,又找到相关的Win32::IEAutomation,使用cpan安装成功。 现在ActivePerl也支持cpan安装,第一次使用的时候会自动下载编译器以及dmake。其实像watir以及Win32::IEAutomation都可以看成是语法糖,直接通过COM自行创建IE的实例,再用DOM语法来玩也是一样的,但有了这些工具会方便很多。

    配置完环境后上demo,代码参照HttpWatch自带的js的demo以及Win32::IEAutomation的demo.

#!/usr/bin/perl
use strict;
use warnings;
use Win32::OLE;
use Win32::IEAutomation;

my $control = Win32::OLE->new('HttpWatch.Controller') or die "failed to create httpwatch";
my $ie = Win32::IEAutomation->new( visible => 1, maximize => 1);
my $plugin = $control->Attach($ie->getAgent());
$plugin->Record();
$ie->gotoURL('http://www.baidu.com');
$ie->getTextBox('name:', "wd")->SetValue("大美女");
$ie->getButton('caption:', "百度一下")->Click;
$control->Wait($plugin, -1);
$plugin->Stop();
my $summary = $plugin->Log->Entries->Summary;
print "Total time to load page (secs):      " . $summary->Time . "\n";

    上面这个demo是直接完成了一次百度的搜索。在实际工作中可以模拟登录,发表文章等。统计多次访问的平均值来评估页面速度或其它项目。HttpWatch自带的帮助文档对于各个对象的方法及属性有详细说明。

2010年12月13日

往事

    有的时候,一通电话就能勾起一段往事。就像走了很久,忽然回望一下来路,可以礼貌性的来一阵唏嘘慨叹,但心中的那份无耐酸楚却只有自己才能体味。

    试着别去憎恨曾经珍爱过的物事,会抹平许多无谓的伤痛。释然,是原谅与被原谅后的轻松。打开那扇窗,阳光,空气,还有心情都需要一个通路。

    别恋始于别念,当平静的生活上了轨道,辛苦劳顿营生,空留下坦然,不知觉中活到了明白。

当爱已成往事

张国荣

往事不要再提
人生已多风雨
纵然记忆抹不去
爱与恨都还在心里
真的要断了过去
让明天好好继续
你就不要再苦苦追问我的消息
爱情它是个难题
让人目眩神迷
忘了痛或许可以
忘了你却太不容易
你不曾真的离去
你始终在我心里
我对你仍有爱意
我对自己无能为力
因为我仍有梦
依然将你放在我心中
总是容易被往事打动
总是为了你心痛
别留恋岁月中
我无意的柔情万种
不要问我是否再相逢
不要管我是否言不由衷
为何你不懂
只要有爱就有痛
有一天你会知道
人生没有我并不会不同
人生已经太匆匆
我好害怕总是泪眼朦胧
忘了我就没有痛
将往事留在风中
因为我仍有梦
依然将你放在我心中
总是容易被往事打动
总是为了你心痛
别留恋岁月中
我无意的柔情万种
不要问我是否再相逢
不要管我是否言不由衷
为何你不懂
只要有爱就有痛
有一天你会知道
人生没有我并不会不同
人生已经太匆匆
我好害怕总是泪眼朦胧
忘了我就没有痛
将往事留在风中
为何你不懂
只要有爱就有痛
有一天你会知道
人生没有我并不会不同
人生已经太匆匆
我好害怕总是泪眼朦胧
忘了我就没有痛
将往事留在风中