<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>进化的测试 &#187; Plugins</title>
	<atom:link href="http://magustest.com/blog/tag/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://magustest.com/blog</link>
	<description>软件测试，自动化测试，白盒测试，Python</description>
	<lastBuildDate>Thu, 17 May 2012 14:19:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>解决Jenkins Email Extension Plugin发送邮件失败</title>
		<link>http://magustest.com/blog/automationtesting/jenkins-email-extension-plugin-failed-send-email/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=jenkins-email-extension-plugin-failed-send-email</link>
		<comments>http://magustest.com/blog/automationtesting/jenkins-email-extension-plugin-failed-send-email/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 02:38:54 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[自动化测试]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[持续集成]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=815</guid>
		<description><![CDATA[昨天用来测试的虚拟机不知道怎么回事，Firefox自动升级到8.0。结果就是我的WebDriver PythonBindings 在FF8下面是用不了的。现象就是，实例化一个Firefox Driver，然后 driver.get(&#8216;http://www.google.com&#8217;)，立刻返回，浏览器没有做任何响应。这个问题我自己不知道怎么解决，外面的世界貌似也没人遇到这个问题，究竟是没人碰到这个问题呢，还是很少用人PythonBinding？ 恢复了VM镜像，然后让Jenkins重新跑起来，但是之后就遇到一个问题，发邮件一直失败。错误是 ERROR: Could not send email as a part of the post-build publishers. javax.mail.SendFailedException: Invalid Addresses; nested exception is: com.sun.mail.smtp.SMTPAddressFailedException: 553-5.1.2 We weren&#8217;t able to find the recipient domain. Please check for any 553-5.1.2 spelling errors, and make sure you didn&#8217;t enter any spaces, periods, 553 5.1.2 or other punctuation <a href='http://magustest.com/blog/automationtesting/jenkins-email-extension-plugin-failed-send-email/' class='excerpt-more'>[...]</a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>昨天用来测试的虚拟机不知道怎么回事，Firefox自动升级到8.0。结果就是我的<a href="http://code.google.com/p/selenium/wiki/PythonBindings" target="_blank">WebDriver PythonBindings</a> 在FF8下面是用不了的。现象就是，实例化一个Firefox Driver，然后 driver.get(&#8216;http://www.google.com&#8217;)，立刻返回，浏览器没有做任何响应。这个问题我自己不知道怎么解决，外面的世界貌似也没人遇到这个问题，究竟是没人碰到这个问题呢，还是很少用人PythonBinding？</p>
<p>恢复了VM镜像，然后让Jenkins重新跑起来，但是之后就遇到一个问题，发邮件一直失败。错误是</p>
<p>ERROR: Could not send email as a part of the post-build publishers.<br />
javax.mail.SendFailedException: Invalid Addresses;<br />
nested exception is:<br />
com.sun.mail.smtp.SMTPAddressFailedException: 553-5.1.2 We weren&#8217;t able to find the recipient domain. Please check for any<br />
553-5.1.2 spelling errors, and make sure you didn&#8217;t enter any spaces, periods,<br />
553 5.1.2 or other punctuation after the recipient&#8217;s email address. i6sm163233obl.2</p>
<p>搜了一下，应该是Jenkins标准的邮件插件是用空格来做多个邮件地址的分隔符，而<a href="http://wiki.hudson-ci.org/display/HUDSON/Email-ext+plugin" target="_blank">Email Extension Plugin</a>使用逗号分隔多个邮件地址的。但是这应该是一个很早之前的问题，已经被fix了。</p>
<p>傻傻地build了好多个以后，我想起来，恢复VM以后我是直接把之前的config.xml拷贝回去那个任务的文件夹里面的。进去打开那个config.xml，找到这一行：</p>
<p>&lt;recipientList&gt;$PROJECT_DEFAULT_RECIPIENTS&lt;/recipientList&gt;</p>
<p>删掉。就好了。</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/automationtesting/jenkins-email-extension-plugin-failed-send-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>刷新并且观察主机IP地址的好工具&#8211;Firefox DNS Flusher</title>
		<link>http://magustest.com/blog/softwaretesting/firefox-dns-flusher/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=firefox-dns-flusher</link>
		<comments>http://magustest.com/blog/softwaretesting/firefox-dns-flusher/#comments</comments>
		<pubDate>Wed, 27 May 2009 09:59:31 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[软件测试]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=531</guid>
		<description><![CDATA[首先祝大家端午节快乐。 前一段时间写了篇文章介绍了一个在Firefox下查看主机IP的插件，那个插件虽然不错，但是还是有点麻烦，要把鼠标挪过去才能看，最近发现一个更加好用方便的插件：Firefox DNS Flusher。这个插件使用起来很简单，安装完毕以后在Firefox的状态栏的右侧，会有一个显示当前主机IP的地方，如果修改完了HOSTS文件，想要刷新一下DNS，那么可以左键或者右键单击那个IP地址栏就可以了，实现了不重启浏览器也能使得最新的HOSTS文件生效！不错吧！不过测试的时候建议还是要重启一下浏览器，因为当前的域名的IP指向是刷新了，但是其他域名的呢？例如专门存放css或者js文件的子域名，他们不一定能被刷新哦。抓个图： No related posts.
No related posts.]]></description>
			<content:encoded><![CDATA[<p>首先祝大家端午节快乐。</p>
<p>前一段时间写了篇文章介绍了一个<a href="http://magustest.com/blog/softwaretesting/web-testing-using-flagfox-screengrab-removecookie/" target="_blank">在Firefox下查看主机IP的插件</a>，那个插件虽然不错，但是还是有点麻烦，要把鼠标挪过去才能看，最近发现一个更加好用方便的插件：<a href="https://addons.mozilla.org/en-US/firefox/addon/7408" target="_blank">Firefox DNS Flusher</a>。这个插件使用起来很简单，安装完毕以后在Firefox的状态栏的右侧，会有一个显示当前主机IP的地方，如果修改完了HOSTS文件，想要刷新一下DNS，那么可以左键或者右键单击那个IP地址栏就可以了，实现了不重启浏览器也能使得最新的HOSTS文件生效！不错吧！不过测试的时候建议还是要重启一下浏览器，因为当前的域名的IP指向是刷新了，但是其他域名的呢？例如专门存放css或者js文件的子域名，他们不一定能被刷新哦。抓个图：</p>
<p><img class="alignnone size-full wp-image-532" title="flusher" src="http://magustest.com/blog/wp-content/uploads/2009/05/flusher1.png" alt="flusher" width="418" height="230" /></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/softwaretesting/firefox-dns-flusher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebug网络监视详解</title>
		<link>http://magustest.com/blog/softwaretesting/introduction-to-firebug-network-monitoring/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=introduction-to-firebug-network-monitoring</link>
		<comments>http://magustest.com/blog/softwaretesting/introduction-to-firebug-network-monitoring/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 05:35:45 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[软件测试]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=460</guid>
		<description><![CDATA[Firebug是一个非常强大的Firefox附加组件，可以查看、编辑HTML，CSS，JavaScript，Cookies，是开发者必不可少的工具，现在Firebug的发行版本是1.3.3。 Firebug中有一个叫“网络”的面板，在这里我们可以看到各个元素的详细信息。 从左往右分别是 请求部分 http状态码 域名 文件大小 timeline 请求部分 这个地方是可以展开的，里面包括了请求的地址，请求的方法（是GET还是POST），请求的参数，Headers等等。 http状态码 如果是成功，就是200，404就是请求资源部存在，具体可以看这里 域名 查看该资源所属的域名，其实在请求部分中已经有这个信息了，不过在这里列出来会方便查找某些域名下在资源 文件大小 没什么可解释的 timeline 这里是重点。在Firebug 1.3.3中，timeline如下图所示： 有2个时间信息是让人比较迷惑的。 Queuing：这个Queuing一开始我以为是从浏览器发送请求，到服务器返回第一个字节的时间；后来我发现我的瞎猜是错的，Queuing是Firefox浏览器的一种机制，就例如如果一个页面上有很多个图片元素，那么其中一些图片元素的请求就被放到队列里面。 Receiving Data：接收数据的时间 在Firebug 1.3.3中，这两个数据让人很迷惑，而且实用价值很小。后来我发现了现在Firebug有 1.4 alpha版本，在1.4中，会把请求的时间细分，具体如下图所示： 分别是： 1) DNS Lookup （DNS查找时间） 2) Connecting （这个我没搞清楚是什么连接时间） 3) Queuing (Firefox内部的队列) 4) Waiting for the response (请求发出去以后，等待服务端响应的时间) 5) Receiving Data (接受到服务端响应以后，下载数据所用的时间) 有了这些时间，可以帮助对页面进行优化，例如如果发现接受数据时间很长，那是不是因为图片文件太大，或者没有用GZIP压缩；如果等待响应时间很长，是不是程序设计有性能问题，导致响应时间很长。 最后推荐大家一个WEB工具，Cuzillion，这个工具可让用户在线创建一个他们想要的页面，例如可以放一个引用的JS到HEAD里面，或者在BODY中放几个图片，IFRAME等。通过创建不同的页面，可以对一些前端最佳实践进行验证。例如把JS放在页面的底部，CSS放在页面的顶部等等。 No related posts.
No related posts.]]></description>
			<content:encoded><![CDATA[<p><a href="http://getfirebug.com/" target="_blank">Firebug</a>是一个非常强大的Firefox附加组件，可以查看、编辑HTML，CSS，JavaScript，Cookies，是开发者必不可少的工具，现在Firebug的发行版本是1.3.3。</p>
<p>Firebug中有一个叫“网络”的面板，在这里我们可以看到各个元素的详细信息。</p>
<p>从左往右分别是</p>
<ul>
<li>请求部分</li>
<li>http状态码</li>
<li>域名</li>
<li>文件大小</li>
<li>timeline</li>
</ul>
<p><strong><a name="request_part"></a>请求部分</strong></p>
<p><img class="alignnone size-full wp-image-461" title="firebug_headers" src="http://magustest.com/blog/wp-content/uploads/2009/04/firebug_headers1.png" alt="firebug_headers" width="613" height="274" /></p>
<p>这个地方是可以展开的，里面包括了请求的地址，请求的方法（是GET还是POST），请求的参数，Headers等等。</p>
<p><strong>http状态码</strong></p>
<p>如果是成功，就是200，404就是请求资源部存在，<a href="http://en.wikipedia.org/wiki/List_of_HTTP_status_codes" target="_blank">具体可以看这里</a></p>
<p><strong>域名</strong></p>
<p>查看该资源所属的域名，其实在<a href="#request_part">请求部分</a>中已经有这个信息了，不过在这里列出来会方便查找某些域名下在资源</p>
<p><strong>文件大小</strong></p>
<p>没什么可解释的</p>
<p><strong>timeline</strong></p>
<p>这里是重点。在Firebug 1.3.3中，timeline如下图所示：<br />
<span id="more-460"></span><br />
<img class="alignnone size-full wp-image-462" title="firebug_13" src="http://magustest.com/blog/wp-content/uploads/2009/04/firebug_131.png" alt="firebug_13" width="393" height="190" /></p>
<p>有2个时间信息是让人比较迷惑的。</p>
<p><strong><span style="text-decoration: underline;">Queuing</span></strong>：这个Queuing一开始我以为是从浏览器发送请求，到服务器返回第一个字节的时间；后来我发现我的瞎猜是错的，Queuing是Firefox浏览器的一种机制，就例如如果一个页面上有很多个图片元素，那么其中一些图片元素的请求就被放到队列里面。</p>
<p><span style="text-decoration: underline;"><strong>Receiving Data</strong></span>：接收数据的时间</p>
<p>在Firebug 1.3.3中，这两个数据让人很迷惑，而且实用价值很小。后来我发现了现在Firebug有 <a href="http://getfirebug.com/releases/firebug/1.4/" target="_blank">1.4 alpha版本</a>，在1.4中，会把请求的时间细分，具体如下图所示：</p>
<p><img class="alignnone size-full wp-image-464" title="firebug_14_withdns" src="http://magustest.com/blog/wp-content/uploads/2009/04/firebug_14_withdns1.png" alt="firebug_14_withdns" width="385" height="233" /></p>
<p>分别是：</p>
<p>1) <strong>DNS Lookup</strong> （DNS查找时间）<br />
2) <strong>Connecting</strong> （这个我没搞清楚是什么连接时间）<br />
3) <strong>Queuing </strong>(Firefox内部的队列)<br />
4) <strong>Waiting for the response </strong>(请求发出去以后，等待服务端响应的时间)<br />
5) <strong>Receiving Data</strong> (接受到服务端响应以后，下载数据所用的时间)</p>
<p>有了这些时间，可以帮助对页面进行优化，例如如果发现接受数据时间很长，那是不是因为图片文件太大，或者没有用GZIP压缩；如果等待响应时间很长，是不是程序设计有性能问题，导致响应时间很长。</p>
<p>最后推荐大家一个WEB工具，<a href="http://stevesouders.com/cuzillion/" target="_blank">Cuzillion</a>，这个工具可让用户在线创建一个他们想要的页面，例如可以放一个引用的JS到HEAD里面，或者在BODY中放几个图片，IFRAME等。通过创建不同的页面，可以对一些前端最佳实践进行验证。例如把JS放在页面的底部，CSS放在页面的顶部等等。</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/softwaretesting/introduction-to-firebug-network-monitoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用.htaccess文件实现WordPress图片防盗链</title>
		<link>http://magustest.com/blog/sitesetup/wordpress-hotlink-protection-using-htaccess/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-hotlink-protection-using-htaccess</link>
		<comments>http://magustest.com/blog/sitesetup/wordpress-hotlink-protection-using-htaccess/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 04:40:46 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[建站]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=420</guid>
		<description><![CDATA[最近查看博客的LOG，发现有图片盗链的情况，而且文章也是原文照抄。不过没什么，有人抄，证明文章是有价值的；况且互联网上你COPY我，我COPY你，都是很常见的。不过问题在于我在虚机主机真的很虚，对流量有严格的限制，有图片盗链的话流量立刻就上去了，为了防止流量超标，决定做一下图片防盗链。 如果虚拟主机用的是CPanel，那么就比较方便，直接用Hotlink protection就好了，可惜我不是…… 首先是搜到一个WordPress的插件防盗链的方法，叫做WordPress Hotlink protection plugin，号称在防盗链的同时不会影响输出的FEED，很高兴，下载下来试用了一下，图片防盗链成功，不过在Google Reader里面还是不能显示图片。看了一下代码，其实这个插件也是修改.htaccess文件。既然都是同样的方法，那么我直接放个.htaccess文件到uploads目录下，参考了网上若干.htaccess的写法，最后我的版本如下： RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !magustest.com [NC] RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !xianguo.com [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !google.cn [NC] RewriteCond %{HTTP_REFERER} !feedburner.com [NC] RewriteCond %{HTTP_REFERER} !feedsky.com [NC] RewriteCond %{HTTP_REFERER} !testingjob.net [NC] RewriteRule .*.(jpg&#124;gif&#124;png&#124;bmp&#124;swf&#124;jpeg)$ xxx/forbid.png [R,NC,L] RewriteCond 里面的第一行是说如果没有Referer(其实正确的英语拼写应该是Referrer)，也就是直接访问，那么可以看。接下来的就是白名单，其中允许了谷歌，抓虾，鲜果等网站，那么在这些网站里面订阅我的博客的朋友也都能看到图片了。最后一行RewriteRule就是如果后缀名是那6个（都是吃流量的多媒体文件）的话，那么就显示为xxx/temp/forbid.png这个图片。 一般Linux类和Unix类虚机主机都支持重写.htaccess。这样子设置以后，在常见的阅读器中查看博客文章也能看到图片，同时也能有效地防止盗链图片而导致的流量超标。 No related <a href='http://magustest.com/blog/sitesetup/wordpress-hotlink-protection-using-htaccess/' class='excerpt-more'>[...]</a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>最近查看博客的LOG，发现有图片盗链的情况，而且文章也是原文照抄。不过没什么，有人抄，证明文章是有价值的；况且互联网上你COPY我，我COPY你，都是很常见的。不过问题在于我在虚机主机真的很虚，对流量有严格的限制，有图片盗链的话流量立刻就上去了，为了防止流量超标，决定做一下图片防盗链。</p>
<p>如果虚拟主机用的是CPanel，那么就比较方便，<a href="http://www.hostmonstercn.com/hostmonster/setting-cp" target="_blank">直接用Hotlink protection</a>就好了，可惜我不是……</p>
<p>首先是搜到一个<a href="http://chenjinghua.net/wordpress-images-hotlink-protection-plugin-protect-blog-images-from-images-theft-hotlinking-248.html" target="_blank">WordPress的插件防盗链的方法</a>，叫做<a href="http://www.techmixer.com/wordpress-images-hotlink-protection-plugin-protect-blog-images-from-images-theft-hotlinking/" target="_blank">WordPress Hotlink protection plugin</a>，号称在防盗链的同时不会影响输出的FEED，很高兴，下载下来试用了一下，图片防盗链成功，不过在Google Reader里面还是不能显示图片。看了一下代码，其实这个插件也是修改.htaccess文件。既然都是同样的方法，那么我直接放个.htaccess文件到uploads目录下，参考了网上若干.htaccess的写法，最后我的版本如下：</p>
<blockquote>
<pre>RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !magustest.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteCond %{HTTP_REFERER} !testingjob.net [NC]
RewriteRule .*.(jpg|gif|png|bmp|swf|jpeg)$ xxx/forbid.png [R,NC,L]</pre>
</blockquote>
<p>RewriteCond 里面的第一行是说如果没有Referer(<a href="http://zh.wikipedia.org/wiki/HTTP_referrer" target="_blank">其实正确的英语拼写应该是Referrer</a>)，也就是直接访问，那么可以看。接下来的就是白名单，其中允许了谷歌，抓虾，鲜果等网站，那么在这些网站里面订阅我的博客的朋友也都能看到图片了。最后一行RewriteRule就是如果后缀名是那6个（都是吃流量的多媒体文件）的话，那么就显示为xxx/temp/forbid.png这个图片。</p>
<p>一般Linux类和Unix类虚机主机都支持重写.htaccess。这样子设置以后，在常见的阅读器中查看博客文章也能看到图片，同时也能有效地防止盗链图片而导致的流量超标。</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/sitesetup/wordpress-hotlink-protection-using-htaccess/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Web测试中三个好用的Firefox插件</title>
		<link>http://magustest.com/blog/softwaretesting/web-testing-using-flagfox-screengrab-removecookie/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=web-testing-using-flagfox-screengrab-removecookie</link>
		<comments>http://magustest.com/blog/softwaretesting/web-testing-using-flagfox-screengrab-removecookie/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 03:42:20 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[软件测试]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=409</guid>
		<description><![CDATA[对于从事Web开发和测试的工程师来说，Firefox是一个优秀的浏览器；因为基于Firefox的插件有很多，这些插件都极大地方便了开发和测试的工作。其中有著名的FireBug，FireCookie，Web Developer等，今天要介绍的是另外几个名气没那么大的Firefox插件，他们分别是FlagFox、Remove Cookie(s) for Site、Screengrab。 1. FlagFox 这是一个可以将网站服务器所在国家的国旗显示在状态栏上的插件。它通过查询扩展内建的IP地址库，同时通过维基和Geotool获得更多信息。可以参考下图，当我们浏览一个网站的时候在浏览器地址栏的最右边会有一个中国国旗，因为该网站的服务器就在中国；然后把鼠标挪过去放在国旗上面，就会出现该网站的IP，这里就是60.28.210.209。 其实我知道IP所在的国家对于测试没什么帮助，我只想知道我所访问的网站的IP。因为大家都知道做测试的时候经常需要配HOST，重启浏览器，但是有时候 配好了HOST重启完了还不一定生效；又或者HOST文件太大，有时候一个域名给配上了若干个IP（这是一个失误啦~）；又或者是一个域名下有多台测试 机。我想在测试的过程中清楚地知道我现在究竟在访问哪台测试机。这就是FlagFox能起到的作用了 如图，我把www.myspace.cn配上了10.60.0.13这台机子，然后访问。这时候由于是一个内网IP，所以国旗变成了一个网络驱动器的图片，把鼠标放上去那个驱动器上，能看到现在www.myspace.cn所对应的服务器地址就是10.60.0.13。 2. Remove Cookie(s) for Site 这个插件可以通过工具栏按钮或者菜单实现当前网站Cookie的一键清除。有时候站点的一些新功能会根据某个COOKIE的值来进行bucket test，而落到这个bucket里面的几率比较低，需要在测试的过程中频繁地清除COOKIE，然后刷新页面获取一个新的COOKIE，虽然已经有很多方式可以清除COOKIE，例如用Web Developer，FireCookie。但是这个Remove Cookie(s) for Site小巧方便，只需要右键展开菜单，然后左键一点就搞定了。 3. Screengrab 这个插件可以截取网页屏幕，包括截取当前窗口、选定区域，或是滚动截取网页的全部内容。这对测试人员来说非常方便，而且可以直接save成为文件，不过如果是要在图片上加点说明，画个圈什么的，就要用其他图像编辑器了。我个人比较喜欢用那个滚屏抓图。 Related posts: 刷新并且观察主机IP地址的好工具&#8211;Firefox DNS Flusher 用Python脚本对ASP.NET站点进行预热
Related posts:<ol>
<li><a href='http://magustest.com/blog/softwaretesting/firefox-dns-flusher/' rel='bookmark' title='刷新并且观察主机IP地址的好工具&#8211;Firefox DNS Flusher'>刷新并且观察主机IP地址的好工具&#8211;Firefox DNS Flusher</a></li>
<li><a href='http://magustest.com/blog/softwaretesting/warmup-asp-net-website/' rel='bookmark' title='用Python脚本对ASP.NET站点进行预热'>用Python脚本对ASP.NET站点进行预热</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>对于从事Web开发和测试的工程师来说，Firefox是一个优秀的浏览器；因为基于Firefox的插件有很多，这些插件都极大地方便了开发和测试的工作。其中有著名的<a href="http://addons.mozilla.org/firefox/addon/1843" target="_blank">FireBug</a>，<a href="http://addons.mozilla.org/en-US/firefox/addon/6683" target="_blank">FireCookie</a>，<a href="http://addons.mozilla.org/en-US/firefox/addon/60" target="_blank">Web Developer</a>等，今天要介绍的是另外几个名气没那么大的Firefox插件，他们分别是<a href="http://addons.mozilla.org/zh-CN/firefox/addon/5791" target="_blank">FlagFox</a>、<a href="http://addons.mozilla.org/zh-CN/firefox/addon/1595" target="_blank">Remove Cookie(s) for Site</a>、<a href="http://addons.mozilla.org/zh-CN/firefox/addon/1146" target="_blank">Screengrab</a>。</p>
<p><span style="font-size: medium;"><strong>1. FlagFox</strong></span></p>
<p>这是一个可以将网站服务器所在国家的国旗显示在状态栏上的插件。它通过查询扩展内建的IP地址库，同时通过维基和Geotool获得更多信息。可以参考下图，当我们浏览一个网站的时候在浏览器地址栏的最右边会有一个中国国旗，因为该网站的服务器就在中国；然后把鼠标挪过去放在国旗上面，就会出现该网站的IP，这里就是60.28.210.209。</p>
<p><img class="alignnone size-full wp-image-411" title="flagfox_1" src="http://magustest.com/blog/wp-content/uploads/2009/04/flagfox_11.png" alt="flagfox_1" width="380" height="195" /></p>
<p>其实我知道IP所在的国家对于测试没什么帮助，我只想知道我所访问的网站的IP。因为大家都知道做测试的时候经常需要配HOST，重启浏览器，但是有时候 配好了HOST重启完了还不一定生效；又或者HOST文件太大，有时候一个域名给配上了若干个IP（这是一个失误啦~）；又或者是一个域名下有多台测试 机。我想在测试的过程中清楚地知道我现在究竟在访问哪台测试机。这就是FlagFox能起到的作用了<br />
<span id="more-409"></span></p>
<p>如图，我把www.myspace.cn配上了10.60.0.13这台机子，然后访问。这时候由于是一个内网IP，所以国旗变成了一个网络驱动器的图片，把鼠标放上去那个驱动器上，能看到现在www.myspace.cn所对应的服务器地址就是10.60.0.13。</p>
<p><img class="alignnone size-full wp-image-412" title="flagfox_2" src="http://magustest.com/blog/wp-content/uploads/2009/04/flagfox_21.png" alt="flagfox_2" width="373" height="218" /></p>
<p><strong><span style="font-size: medium;">2. Remove Cookie(s) for Site</span></strong></p>
<p>这个插件可以通过工具栏按钮或者菜单实现当前网站Cookie的一键清除。有时候站点的一些新功能会根据某个COOKIE的值来进行bucket test，而落到这个bucket里面的几率比较低，需要在测试的过程中频繁地清除COOKIE，然后刷新页面获取一个新的COOKIE，虽然已经有很多方式可以清除COOKIE，例如用Web Developer，FireCookie。但是这个Remove Cookie(s) for Site小巧方便，只需要右键展开菜单，然后左键一点就搞定了。</p>
<p><img class="alignnone size-full wp-image-415" title="screengrab" src="http://magustest.com/blog/wp-content/uploads/2009/04/screengrab1.png" alt="screengrab" width="206" height="340" /></p>
<p><span style="font-size: medium;"><strong>3. Screengrab</strong></span></p>
<p>这个插件可以截取网页屏幕，包括截取当前窗口、选定区域，或是滚动截取网页的全部内容。这对测试人员来说非常方便，而且可以直接save成为文件，不过如果是要在图片上加点说明，画个圈什么的，就要用其他图像编辑器了。我个人比较喜欢用那个滚屏抓图。</p>
<p><img class="alignnone size-full wp-image-416" title="screen" src="http://magustest.com/blog/wp-content/uploads/2009/04/screen1.png" alt="screen" width="509" height="402" /></p>
<p>Related posts:<ol>
<li><a href='http://magustest.com/blog/softwaretesting/firefox-dns-flusher/' rel='bookmark' title='刷新并且观察主机IP地址的好工具&#8211;Firefox DNS Flusher'>刷新并且观察主机IP地址的好工具&#8211;Firefox DNS Flusher</a></li>
<li><a href='http://magustest.com/blog/softwaretesting/warmup-asp-net-website/' rel='bookmark' title='用Python脚本对ASP.NET站点进行预热'>用Python脚本对ASP.NET站点进行预热</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/softwaretesting/web-testing-using-flagfox-screengrab-removecookie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress登陆后功能菜单没有改变的原因及其解决办法</title>
		<link>http://magustest.com/blog/wordpress/wordpress-functional-menu-did-not-change-after-login/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-functional-menu-did-not-change-after-login</link>
		<comments>http://magustest.com/blog/wordpress/wordpress-functional-menu-did-not-change-after-login/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 15:06:28 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Widget]]></category>

		<guid isPermaLink="false">http://magustest.com/?p=210</guid>
		<description><![CDATA[这两天很奇怪，我登陆WP以后，首页的“功能”菜单居然没有改变，但是我的确是处于已经登陆的状态的。因为我装了Google Analyticator插件，并且设置了对于ADMIN是不记录Google统计的。在查看页面的源代码，看不到Google的统计代码，由此可以推断我是已经处于登陆的状态的，但是为什么“功能”菜单没有改变呢？如下图： 于是我就不断地Google，基本上答案都不是我想要的，正当要放弃的时候，突然想到我装了一个新的插件“WP Widget Cache”，这个插件可以给Widget做缓存，我猜是不是因为我的功能菜单被缓存起来了，所以没有更新。果然是因为这个原因： 在这里，只需要把过期时间留空，就可以了。更改后，登陆的效果： 后记：对于WP Widget Cache这个插件，对每个Widget的过期设置一定要做好，例如评论的Widget，触发刷新的时间应该是有新的评论发布，博客的Widget触发刷新的事件应该是有博客发布等。 Related posts: 我喜欢的15个WordPress插件
Related posts:<ol>
<li><a href='http://magustest.com/blog/wordpress/best-finteen-wordpress-plugins/' rel='bookmark' title='我喜欢的15个WordPress插件'>我喜欢的15个WordPress插件</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>这两天很奇怪，我登陆WP以后，首页的“功能”菜单居然没有改变，但是我的确是处于已经登陆的状态的。因为我装了Google Analyticator插件，并且设置了对于ADMIN是不记录Google统计的。在查看页面的源代码，看不到Google的统计代码，由此可以推断我是已经处于登陆的状态的，但是为什么“功能”菜单没有改变呢？如下图：</p>
<p><a href="http://magustest.com/blog/wp-content/uploads/2008/12/login-with-expires-header1.png"><img class="alignnone size-full wp-image-215" title="login-with-expires-header" src="http://magustest.com/blog/wp-content/uploads/2008/12/login-with-expires-header1.png" alt="" width="217" height="212" /></a><br />
<span id="more-210"></span><br />
于是我就不断地Google，基本上答案都不是我想要的，正当要放弃的时候，突然想到我装了一个新的插件“WP Widget Cache”，这个插件可以给Widget做缓存，我猜是不是因为我的功能菜单被缓存起来了，所以没有更新。果然是因为这个原因：</p>
<p><a href="http://magustest.com/blog/wp-content/uploads/2008/12/widget-expires-header1.jpg"><img class="alignnone size-full wp-image-216" title="widget-expires-header" src="http://magustest.com/blog/wp-content/uploads/2008/12/widget-expires-header1.jpg" alt="" width="288" height="301" /></a></p>
<p>在这里，只需要把过期时间留空，就可以了。更改后，登陆的效果：</p>
<p><a href="http://magustest.com/blog/wp-content/uploads/2008/12/login-without-expires-header1.png"><img class="alignnone size-full wp-image-217" title="login-without-expires-header" src="http://magustest.com/blog/wp-content/uploads/2008/12/login-without-expires-header1.png" alt="" width="207" height="185" /></a></p>
<p>后记：对于WP Widget Cache这个插件，对每个Widget的过期设置一定要做好，例如评论的Widget，触发刷新的时间应该是有新的评论发布，博客的Widget触发刷新的事件应该是有博客发布等。</p>
<p>Related posts:<ol>
<li><a href='http://magustest.com/blog/wordpress/best-finteen-wordpress-plugins/' rel='bookmark' title='我喜欢的15个WordPress插件'>我喜欢的15个WordPress插件</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/wordpress/wordpress-functional-menu-did-not-change-after-login/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我喜欢的15个WordPress插件</title>
		<link>http://magustest.com/blog/wordpress/best-finteen-wordpress-plugins/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=best-finteen-wordpress-plugins</link>
		<comments>http://magustest.com/blog/wordpress/best-finteen-wordpress-plugins/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 14:51:48 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=149</guid>
		<description><![CDATA[1. All in One SEO Pack 一个功能强大的SEO插件，这个插件可以帮助你重新博客的标题，描述以及关键字，还能针对每个页面，每篇博客的标题进行定制。例如对于一篇博客，WordPress默认是把整站的标题放在前头，然后再跟上当前博客的标题，用户可以利用All in One SEO Pack来做一些修改，把当前博客的标题放到整站标题的前面。除了默认的内容外，All in One SEO Pack还允许用户增加自定义的Header信息，例如加上author等。对于单篇日志的描述和关键字都可以做修改；除此之外，All in One SEO Pack还能让用户自定义单篇博客的标题，这里说的标题是博客页面的标题，并不是博客的题目。20\80原则，做好20%的事情，就能有80%的收获，我看过奶罩改公司做的SEO文档，相当详细，但是不是美国人都有时间做到100%，All in One SEO Pack能帮我们做到20% 2. Google Analyticator 可能有些朋友会用Google Analytics做统计分析，一般人其实改一下WordPress的模板中的footer.php的文件，加上那段统计的代码，是没什么难度的；但是Google Analyticator不单只省去我们这步工作，而且还有一些比较使用的功能，其中一个就是不统计管理员的访问。这个功能我觉得比较有用，因为个人博客来说访问量不会很大，但是博主会很关心自己的博客，经常来访问，但是我们统计自己访问自己的记录又有什么意义呢？所以Google Analyticator可以帮助博主把统计分析做得更加精确。 3. Google XML Sitemaps Sitemap 就是网站上网页的列表，提交 Sitemap 有助于 Google 知道网站上的所有网页，包括 Google 的正常抓取过程可能无法找到的网址。这个Google XML Sitemaps插件可以在每次提交一篇新文章的同时更新一下本地的Sitemap，同时还会提交到Google，Yahoo等搜索引擎，但是遗憾的是现在还不支持给百度提交Sitemap。 4. Ozh&#8217; Admin Drop Down Menu 这个插件可以把WordPress的后台改头换面，把一类的菜单都隐藏起来，只要把鼠标挪到相应的栏目的上面，隐藏的菜单就会浮出来。 5. Permalink Redirect 固定连接重定向，只要在WordPress里面设置了启用“永久链接”，都应该装上这个插件。因为在WordPress里面启用永久链接，会导致有2种方式可以访问到同样的内容 <a href='http://magustest.com/blog/wordpress/best-finteen-wordpress-plugins/' class='excerpt-more'>[...]</a>
Related posts:<ol>
<li><a href='http://magustest.com/blog/sitesetup/wordpress-hotlink-protection-using-htaccess/' rel='bookmark' title='用.htaccess文件实现WordPress图片防盗链'>用.htaccess文件实现WordPress图片防盗链</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/" target="_blank"><span style="color: #ff9900;"><strong>1. All in One SEO Pack</strong></span></a></p>
<p>一个功能强大的SEO插件，这个插件可以帮助你重新博客的标题，描述以及关键字，还能针对每个页面，每篇博客的标题进行定制。例如对于一篇博客，WordPress默认是把整站的标题放在前头，然后再跟上当前博客的标题，用户可以利用All in One SEO Pack来做一些修改，把当前博客的标题放到整站标题的前面。除了默认的内容外，All in One SEO Pack还允许用户增加自定义的Header信息，例如加上author等。对于单篇日志的描述和关键字都可以做修改；除此之外，All in One SEO Pack还能让用户自定义单篇博客的标题，这里说的标题是博客页面的标题，并不是博客的题目。20\80原则，做好20%的事情，就能有80%的收获，我看过奶罩改公司做的SEO文档，相当详细，但是不是美国人都有时间做到100%，All in One SEO Pack能帮我们做到20% <img src='http://magustest.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> <span style="color: #ff9900;"><strong></strong></span></p>
<p><a href="http://wordpress.org/extend/plugins/google-analyticator/" target="_blank"><span style="color: #ff9900;"><strong>2. Google Analyticator</strong></span></a><br />
<span id="more-149"></span><br />
可能有些朋友会用Google Analytics做统计分析，一般人其实改一下WordPress的模板中的footer.php的文件，加上那段统计的代码，是没什么难度的；但是Google Analyticator不单只省去我们这步工作，而且还有一些比较使用的功能，其中一个就是不统计管理员的访问。这个功能我觉得比较有用，因为个人博客来说访问量不会很大，但是博主会很关心自己的博客，经常来访问，但是我们统计自己访问自己的记录又有什么意义呢？所以Google Analyticator可以帮助博主把统计分析做得更加精确。</p>
<p><a href="http://wordpress.org/extend/plugins/google-sitemap-generator/" target="_blank"><span style="color: #ff9900;"><strong>3. Google XML Sitemaps</strong></span></a></p>
<p>Sitemap 就是网站上网页的列表，提交 Sitemap 有助于 Google 知道网站上的所有网页，包括 Google 的正常抓取过程可能无法找到的网址。这个Google XML Sitemaps插件可以在每次提交一篇新文章的同时更新一下本地的Sitemap，同时还会提交到Google，Yahoo等搜索引擎，但是遗憾的是现在还不支持给百度提交Sitemap。</p>
<p><a href="http://wordpress.org/extend/plugins/ozh-admin-drop-down-menu/" target="_blank"><span style="color: #ff9900;"><strong>4. Ozh&#8217; Admin Drop Down Menu</strong></span></a></p>
<p>这个插件可以把WordPress的后台改头换面，把一类的菜单都隐藏起来，只要把鼠标挪到相应的栏目的上面，隐藏的菜单就会浮出来。</p>
<p><a href="http://wordpress.org/extend/plugins/permalink-redirect/" target="_blank"><span style="color: #ff9900;"><strong>5. Permalink Redirect</strong></span></a></p>
<p>固定连接重定向，只要在WordPress里面设置了启用“永久链接”，都应该装上这个插件。因为在WordPress里面启用永久链接，会导致有2种方式可以访问到同样的内容</p>
<ul>
<li>/?p=123</li>
<li>/<code>2008/12/sample-post/</code></li>
</ul>
<p>重复的内容对站点的排名不利。这个插件的重定向方式是301，对搜索引擎来说也是友好的。</p>
<p><a href="http://www.wordpress.org/extend/plugins/simple-tags" target="_blank"><span style="color: #ff9900;"><strong>6. Simple Tags</strong></span></a></p>
<p>这个插件不单只是生成Tag云那么简单，名字叫Simple Tags但是却一点都不简单。它提供了批量管理标签的功能，如果在大量文章中修改TAG，这绝对是一个很好的帮手。但是如果是中文用户，那么这个插件的某些功能是用不上的。例如智能标签，现在只能对英文进行只能标签，还有一个功能就是会按照文章的内容到Yahoo和互联网搜索相应的关键词作为TAG，我试验过，英文还是挺好用的，但是对于中文就是一点都不支持了，希望以后能支持中文。</p>
<p><a href="http://wordpress.org/extend/plugins/tinymce-advanced/" target="_blank"><span style="color: #ff9900;"><strong>7. TinyMCE Advanced</strong></span></a></p>
<p>WordPress默认的博客编辑器真的有点简陋，不过还有，有TinyMCE Advanced插件，装上以后可以自定义博客编辑器的菜单，完全AJAX化的操作，非常方便。但是我在使用中发现一个问题，就是如果我把按钮放到第二行，整个第二行都不显示出来，只有放在第一行，第三行和第四行的菜单能显示出来。刚开始的时候还以为是我缓存没有清楚干净。</p>
<p><a href="http://wordpress.org/extend/plugins/wp-db-backup/" target="_blank"><span style="color: #ff9900;"><strong>8. WordPress Database Backup</strong></span></a></p>
<p>经常备份，及时备份。这个插件最大的有点就是它能够做定时任务，每小时，每天，每周都可以，如果还满足不了需求，可以修改插件来改变备份的间隔时间。还有一个比较突出的优点，就是它不单只能够备份WordPress默认创建的数据表，而且还能备份一些插件建立的数据表，例如WP-PostRatings插件创建的数据表它也能备份。</p>
<p><a href="http://wordpress.org/extend/plugins/wordpress-thread-comment/" target="_blank"><span style="color: #ff9900;"><strong>9. WordPress Thread Comment</strong></span></a></p>
<p>WordPress多级评论插件，让评论盖楼，同时可以让众多评论更加有逻辑地排列到一起。这个插件能帮助评论者们更好地交流。</p>
<p><a href="http://wordpress.org/extend/plugins/wp-codebox/" target="_blank"><span style="color: #ff9900;"><strong>10. WP-CodeBox</strong></span></a></p>
<p>一个WordPress语法高亮插件，非常好用。我也曾经尝试过WP-Syntax，还是觉得CodeBox好。这两个插件都用的是GESHI的核心，但是CodeBox功能更加强大，其中一点比WP-Syntax强的就是CodeBox支持代码收缩和展开，对于博客里面一些很长的代码段的处理，是相当有用的。而且还支持把代码打包下载，读者看到一段完整的代码，可以直接把代码文件下载，不需要手动拷贝粘贴。</p>
<p><a href="http://wordpress.org/extend/plugins/wp-pagenavi/" target="_blank"><span style="color: #ff9900;"><strong>11. WP-PageNavi</strong></span></a></p>
<p>一个简约而不简单的WordPress显示分页的插件。</p>
<p><a href="http://wordpress.org/extend/plugins/wp-postratings/" target="_blank"><span style="color: #ff9900;"><strong>12. WP-PostRatings</strong></span></a></p>
<p>一个WordPress文章打分插件，内含很多个不同的模板。而且这个插件不单只是打分就完了，还带着一个Widget，装上Widget可以把得分高的文章列出来，相当不错。</p>
<p><a href="http://wordpress.org/extend/plugins/wp-sticky/" target="_blank"><span style="color: #ff9900;"><strong>13. WP-Sticky</strong></span></a></p>
<p>一个WordPress的文章置顶插件。</p>
<p><a href="http://wordpress.org/extend/plugins/wp-widget-cache/" target="_blank"><span style="color: #ff9900;"><strong>14. WP Widget Cache</strong></span></a></p>
<p>给侧边栏加缓存，很多时候侧边栏的数据都是没有变化的，可以给侧边栏加上缓冲，减少服务器的压力，同时页面显示的速度也会快一点。这个插件功能也很强大，可以对单个Widget的过期时间进行设置，同时还能设定触发更新该Widget的事件。</p>
<p><a href="http://mitcho.com/code/yarpp/" target="_blank"><span style="color: #ff9900;"><strong>15. Yet Another Related Posts Plugin</strong></span></a></p>
<p>相关文章的插件，功能十分强大，可以禁止某个分类或者某个标签下的文章关联。例如不想自己的“个人日记”这个分类的文章出现在相关文章里面，可以屏蔽”个人日记“这个分类。对于TAG标签也能进行相同的设置。可以设定关联设置，给标题，正文，标签设定不同的权重来进行匹配，这个插件还支持RSS输出的时候也能加上关联文章，很不错！</p>
<p>以上是我现在用的比较爽的15个WordPress插件，如果大家有什么好的，记得推荐一下。</p>
<p>Related posts:<ol>
<li><a href='http://magustest.com/blog/sitesetup/wordpress-hotlink-protection-using-htaccess/' rel='bookmark' title='用.htaccess文件实现WordPress图片防盗链'>用.htaccess文件实现WordPress图片防盗链</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/wordpress/best-finteen-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

