<?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; Linux</title>
	<atom:link href="http://magustest.com/blog/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://magustest.com/blog</link>
	<description>软件测试，自动化测试，白盒测试，Python</description>
	<lastBuildDate>Wed, 04 Jan 2012 09:09:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>在Ubuntu上安装指定版本的Firefox</title>
		<link>http://magustest.com/blog/linux/install-firefox-on-ubuntu/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=install-firefox-on-ubuntu</link>
		<comments>http://magustest.com/blog/linux/install-firefox-on-ubuntu/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 03:48:29 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[WebDriver]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=819</guid>
		<description><![CDATA[如果你使用Selenium（Webdriver），并且用Firefox作为一个主要的测试浏览器的话，最近一定比较郁闷。Selenium最近也是一路快跑，升级到了2.12了。他们的博客也就是发到2.9而已。而伟大的FF居然升级到了8.0，伤不起啊！每次新版本Firefox出来以后，Webdriver基本上肯定是支持不了的，然后发一个小版本来fix一下，我说你们这是何苦呢？最郁闷的是，我用PythonBindings，在Ubuntu 11下是用不了的，只能在Ubuntu 10上面搞。昨天Firefox自动升级到8.0，我也就跟着完蛋了。吐槽完毕，说说解决办法。 1. 下载指定版本的Firefox 先在这里：ftp://ftp.mozilla.org/pub/firefox/releases下载你想要的Firefox，这里我下的7.0。点进去以后还得选平台，大家都懂得。 2. 解压缩包 tar jxpvf firefox-7.0.tar.bz2 3. 修改owner，假如说上面解压缩出来的文件是放在/home/qa/firefox下 sudo chown -R root:root /home/qa/firefox 4. 把原来的symbol link删掉 sudo unlink /usr/bin/firefox 5. 建一个新的link sudo ln -s /home/qa/firefox/firefox /usr/bin/firefox 搞定！ 最后一步，关掉Firefox的自动更新 1. 在Firefox里面输入 about:config 2. 找到这个变量，设置为false app.update.auto 终于搞定。 鉴于现在Selenium和Firefox频繁升级，如果大家的自动化测试跑得好好的，就不要主动或者被动地升级了。麻木追新是要付出代价的。 No related posts.
No related posts.]]></description>
			<content:encoded><![CDATA[<p>如果你使用Selenium（Webdriver），并且用<a href="http://www.mozilla.org/en-US/firefox/new/" target="_blank">Firefox</a>作为一个主要的测试浏览器的话，最近一定比较郁闷。<a href="http://code.google.com/p/selenium/" target="_blank">Selenium</a>最近也是一路快跑，<a href="http://code.google.com/p/selenium/downloads/list" target="_blank">升级到了2.12</a>了。<a href="http://seleniumhq.wordpress.com/2011/10/20/selenium-2-9-released/" target="_blank">他们的博客也就是发到2.9</a>而已。而伟大的FF居然升级到了8.0，伤不起啊！每次新版本Firefox出来以后，Webdriver基本上肯定是支持不了的，然后发一个小版本来fix一下，我说你们这是何苦呢？最郁闷的是，我用PythonBindings，在Ubuntu 11下是用不了的，只能在Ubuntu 10上面搞。昨天Firefox自动升级到8.0，我也就跟着完蛋了。吐槽完毕，说说解决办法。</p>
<p>1. 下载指定版本的Firefox</p>
<p>先在这里：<a href="ftp://ftp.mozilla.org/pub/firefox/releases">ftp://ftp.mozilla.org/pub/firefox/releases</a>下载你想要的Firefox，这里我下的7.0。点进去以后还得选平台，大家都懂得。</p>
<p>2. 解压缩包</p>
<p>tar jxpvf firefox-7.0.tar.bz2</p>
<p>3. 修改owner，假如说上面解压缩出来的文件是放在/home/qa/firefox下</p>
<p>sudo chown -R root:root /home/qa/firefox</p>
<p>4. 把原来的symbol link删掉</p>
<p>sudo unlink /usr/bin/firefox</p>
<p>5. 建一个新的link</p>
<p>sudo ln -s /home/qa/firefox/firefox /usr/bin/firefox</p>
<p>搞定！</p>
<p>最后一步，关掉Firefox的自动更新</p>
<p>1. 在Firefox里面输入</p>
<p>about:config</p>
<p>2. 找到这个变量，设置为false</p>
<p>app.update.auto</p>
<p>终于搞定。</p>
<p>鉴于现在Selenium和Firefox频繁升级，如果大家的自动化测试跑得好好的，就不要主动或者被动地升级了。麻木追新是要付出代价的。</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/linux/install-firefox-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Python修改含有日期的文件名</title>
		<link>http://magustest.com/blog/linux/modify-filename-using-python/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=modify-filename-using-python</link>
		<comments>http://magustest.com/blog/linux/modify-filename-using-python/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 10:15:35 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=587</guid>
		<description><![CDATA[问题：修要修改一些LOG FILE的名字，那些LOG FILE的文件名格式大概是 log-v0-20091012-daily-1a5019a0.csv 。需要修改红色的日期部分，把这个日期改小一点，例如改到20091001。 首先上程序： 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import time, os, string, sys ONE_DAY = &#40;24 * 60 * 60&#41; if __name__ == &#34;__main__&#34;: if len&#40;sys.argv&#41;&#38;lt;2: print &#34;argv error, useage: python &#34; + __file__ + &#34; foldername int&#34; <a href='http://magustest.com/blog/linux/modify-filename-using-python/'>[...]</a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>问题：修要修改一些LOG FILE的名字，那些LOG FILE的文件名格式大概是 log-v0-<span style="color: #ff0000;">20091012</span>-daily-1a5019a0.csv 。需要修改红色的日期部分，把这个日期改小一点，例如改到20091001。</p>
<p>首先上程序：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">time</span>, <span style="color: #dc143c;">os</span>, <span style="color: #dc143c;">string</span>, <span style="color: #dc143c;">sys</span>
ONE_DAY = <span style="color: black;">&#40;</span><span style="color: #ff4500;">24</span> <span style="color: #66cc66;">*</span> <span style="color: #ff4500;">60</span> <span style="color: #66cc66;">*</span> <span style="color: #ff4500;">60</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span><span style="color: #ff4500;">2</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;argv error, useage: python &quot;</span> + __file__ + <span style="color: #483d8b;">&quot; foldername int&quot;</span>
        <span style="color: #dc143c;">sys</span>.<span style="color: black;">exit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#41;</span>==<span style="color: #ff4500;">2</span>:
        intrday = <span style="color: #ff4500;">1</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        intrday = <span style="color: #008000;">int</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
    folder = <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>
    localtime = <span style="color: #dc143c;">time</span>.<span style="color: black;">localtime</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    todate = <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>localtime<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>localtime<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>localtime<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
    targettime = <span style="color: #dc143c;">time</span>.<span style="color: black;">localtime</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">time</span>.<span style="color: #dc143c;">time</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> - ONE_DAY<span style="color: #66cc66;">*</span>intrday<span style="color: black;">&#41;</span>
    newdate = <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>targettime<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>targettime<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>targettime<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> folder
    <span style="color: #ff7700;font-weight:bold;">for</span> <span style="color: #008000;">file</span> <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">listdir</span><span style="color: black;">&#40;</span>folder<span style="color: black;">&#41;</span>:
        newname = <span style="color: #dc143c;">string</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">string</span>.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #008000;">file</span>, todate<span style="color: black;">&#41;</span>, newdate<span style="color: black;">&#41;</span>
        <span style="color: #dc143c;">os</span>.<span style="color: black;">rename</span><span style="color: black;">&#40;</span>folder+<span style="color: #008000;">file</span>, folder+newname<span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>用的时候就是 $ python rename.py ./ 4 ；这个命令会把当前目录下面符合这个条件的文件名中的日期往前改4天，运行完了以后的文件名就是：log-v0-<span style="color: #ff0000;">20091008</span>-daily-1a5019a0.csv</p>
<p>如果还需要把文件的访问时间和修改时间也一并修改的话，那么只需要用os.utime(path, times)这个函数就好了，times是元组(Tuple)，一般可以这样用：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="python" style="font-family:monospace;">time_for_utime = <span style="color: black;">&#40;</span><span style="color: #dc143c;">time</span>.<span style="color: #dc143c;">time</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, <span style="color: #dc143c;">time</span>.<span style="color: #dc143c;">time</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #dc143c;">os</span>.<span style="color: black;">utime</span><span style="color: black;">&#40;</span>path, time_for_utime<span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/linux/modify-filename-using-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下的snmpd.conf配置说明</title>
		<link>http://magustest.com/blog/linux/setup-snmpd-conf/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setup-snmpd-conf</link>
		<comments>http://magustest.com/blog/linux/setup-snmpd-conf/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 13:52:10 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=584</guid>
		<description><![CDATA[SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP)，用来对通信线路进行管理。在RHEL中，SNMP的配置文件地址是/etc/snmp/snmpd.conf。snmpd.conf的配置项很多，但是真正常用的就那么几个，下面来逐个介绍。 com2sec命令，它的基本语法是“com2sec NAME SOURCE COMMUNITY”。这里要提一下SNMP的安全策略，其实SNMP的安全性并不好，在这个协议中使用COMMUNITY这个东西来做访问控制的。简单来理解就是现在有一个帮会的一个人找去了总舵，那么这个人怎么跟总舵相认呢？他们直接约定一个“暗号”，例如见面就说“床前明月光”，那么总舵的前台就会带你去“床前明月光”想对应的地方。现在回过头来看这行配置，假如有以下一句话 com2sec  magusu default  magus 意思就是做一个映射，把magus这个COMMUNITY串和magusu这个名字做好一对映射，那么以后在调用SNMP的时候，只要你声明你就是magus，那么就可以获得相应的权限了。有了映射以后下面需要做的是建立一个从magusu到组的一个映射，用到的命令是group，它的基本语法是“group NAME MODEL SECURITY” group  magusg v2c  magusu 上面这句话的意思就是把magusu放到组magusg里面，用的协议是v2c，插一句，SNMP现在通常用的有3个版本。那好了，组建好了下来要做什么呢？就是要建立一个VIEW，VIEW的基本语法是“view NAME TYPE SUBTREE [MASK]” view  magusv  included  .1.3.6.1.4.1.9129 像上面这句话的意思就是赋予magusv这个view能够查看1.3.6.1.4.1.9129下面所有节点的权限。最后要做的是设定哪些组的人，哪些view的用户可以做什么具体的事情，用access来设置，基本语法是“access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY”。 access   magusg   “”   any   noauth   exact   magusv   magusv   none 由于例子中用的是v2c版本的协议，所以CONTEXT必须为空，MODEL也就是协议的版本号，在这里例子里面可以是any也可以是v2c，还是由于v2c的缘故，所以LEVEL是noauth；READ、WRITE和NOTIFY分别需要指定一个view或者什么都不指定；在这里的设置就是magusv这个view可以对前面设置好的节点进行读和写操作。 到此，服务端的配置已经完成，重启一下snmpd就可以了，下面看看如何通过SNMP得到我们想要的数据 snmpwalk -v 2c -c magus localhost <a href='http://magustest.com/blog/linux/setup-snmpd-conf/'>[...]</a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP)，用来对通信线路进行管理。在RHEL中，SNMP的配置文件地址是/etc/snmp/snmpd.conf。snmpd.conf的配置项很多，但是真正常用的就那么几个，下面来逐个介绍。</p>
<p>com2sec命令，它的基本语法是“com2sec NAME SOURCE COMMUNITY”。这里要提一下SNMP的安全策略，其实SNMP的安全性并不好，在这个协议中使用COMMUNITY这个东西来做访问控制的。简单来理解就是现在有一个帮会的一个人找去了总舵，那么这个人怎么跟总舵相认呢？他们直接约定一个“暗号”，例如见面就说“床前明月光”，那么总舵的前台就会带你去“床前明月光”想对应的地方。现在回过头来看这行配置，假如有以下一句话</p>
<blockquote><p>com2sec  magusu default  magus</p></blockquote>
<p>意思就是做一个映射，把magus这个COMMUNITY串和magusu这个名字做好一对映射，那么以后在调用SNMP的时候，只要你声明你就是magus，那么就可以获得相应的权限了。有了映射以后下面需要做的是建立一个从magusu到组的一个映射，用到的命令是group，它的基本语法是“group NAME MODEL SECURITY”</p>
<blockquote><p>group  magusg v2c  magusu</p></blockquote>
<p>上面这句话的意思就是把magusu放到组magusg里面，用的协议是v2c，插一句，SNMP现在通常用的有3个版本。那好了，组建好了下来要做什么呢？就是要建立一个VIEW，VIEW的基本语法是“view NAME TYPE SUBTREE [MASK]”</p>
<blockquote><p>view  magusv  included  .1.3.6.1.4.1.9129</p></blockquote>
<p>像上面这句话的意思就是赋予magusv这个view能够查看1.3.6.1.4.1.9129下面所有节点的权限。最后要做的是设定哪些组的人，哪些view的用户可以做什么具体的事情，用access来设置，基本语法是“access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY”。</p>
<blockquote><p>access   magusg   “”   any   noauth   exact   magusv   magusv   none</p></blockquote>
<p>由于例子中用的是v2c版本的协议，所以CONTEXT必须为空，MODEL也就是协议的版本号，在这里例子里面可以是any也可以是v2c，还是由于v2c的缘故，所以LEVEL是noauth；READ、WRITE和NOTIFY分别需要指定一个view或者什么都不指定；在这里的设置就是magusv这个view可以对前面设置好的节点进行读和写操作。</p>
<p>到此，服务端的配置已经完成，重启一下snmpd就可以了，下面看看如何通过SNMP得到我们想要的数据</p>
<blockquote><p>snmpwalk -v 2c -c magus localhost 1.3.6.1.4.1.9129.1.2.2</p></blockquote>
<p>snmpwalk可以便利指定节点下的所有子节点，-v 参数指定SNMP的协议版本，这个跟我们之前配置服务器的版本是要一致的，也就是2c，然后-c参数就指定了community的字符串，也就是刚才定义的magus，然后就是主机地址，由于我在本机测试，所以用的localhost，实际中可以填上IP，最后就是OID的值。搞定！</p>
<p>对于刚刚接触SNMP的朋友来说，理解community的作用是关键，其实说的通俗点就是接头暗号，而且还是个明文的“暗号”。</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/linux/setup-snmpd-conf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VT100终端下screen key binding参考对照表</title>
		<link>http://magustest.com/blog/linux/screen-key-binding/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=screen-key-binding</link>
		<comments>http://magustest.com/blog/linux/screen-key-binding/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 14:41:33 +0000</pubDate>
		<dc:creator>magus</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://magustest.com/blog/?p=578</guid>
		<description><![CDATA[从此就在Linux环境下工作了，最近听说一个软件，名叫screen，主要应用的场景就是当你需要运行一些耗时较长的任务的时候，终端很容易就超时了，超时了以后你前面做的所有东西都白费了，但是有了screen，永远在线成为可能。developerWorks上有一篇文章专门介绍screen的使用，推荐阅读。 我碰到的问题就是想修改screenrc这个配置的时候，不知道具体的Key Binding，看到默认配置里面K7对应的F7按键，F1对应的F11，比较迷茫。还好终于谷歌出来一个很有用的对照表。具体怎么设置可以看这里。 Related posts: WebDriver测试失败后自动获取截图 Web测试中三个好用的Firefox插件
Related posts:<ol>
<li><a href='http://magustest.com/blog/webdriver/webdriver-screenshot-on-exception/' rel='bookmark' title='WebDriver测试失败后自动获取截图'>WebDriver测试失败后自动获取截图</a></li>
<li><a href='http://magustest.com/blog/softwaretesting/web-testing-using-flagfox-screengrab-removecookie/' rel='bookmark' title='Web测试中三个好用的Firefox插件'>Web测试中三个好用的Firefox插件</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>从此就在Linux环境下工作了，最近听说一个软件，名叫<a href="http://www.gnu.org/software/screen/" target="_blank">screen</a>，主要应用的场景就是当你需要运行一些耗时较长的任务的时候，终端很容易就超时了，超时了以后你前面做的所有东西都白费了，但是有了screen，永远在线成为可能。developerWorks上有一篇文章<a href="http://www.ibm.com/developerworks/cn/linux/l-cn-screen/" target="_blank">专门介绍screen的使用</a>，推荐阅读。</p>
<p>我碰到的问题就是想修改screenrc这个配置的时候，不知道具体的Key Binding，看到默认配置里面K7对应的F7按键，F1对应的F11，比较迷茫。还好终于谷歌出来<a href="http://web.mit.edu/gnu/doc/html/screen_10.html#SEC50" target="_blank">一个很有用的对照表</a>。具体怎么设置可以<a href="http://web.mit.edu/gnu/doc/html/screen_13.html" target="_blank">看这里</a>。</p>
<p>Related posts:<ol>
<li><a href='http://magustest.com/blog/webdriver/webdriver-screenshot-on-exception/' rel='bookmark' title='WebDriver测试失败后自动获取截图'>WebDriver测试失败后自动获取截图</a></li>
<li><a href='http://magustest.com/blog/softwaretesting/web-testing-using-flagfox-screengrab-removecookie/' rel='bookmark' title='Web测试中三个好用的Firefox插件'>Web测试中三个好用的Firefox插件</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://magustest.com/blog/linux/screen-key-binding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

