<?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>Jaunty@软件测试，音乐，还有不一样的生活 &#187; 自动化测试</title>
	<atom:link href="http://jaunty.me/blog/tag/%e8%87%aa%e5%8a%a8%e5%8c%96%e6%b5%8b%e8%af%95/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaunty.me/blog</link>
	<description>软件测试，自动化测试，QTP，Loadrunner，Java，软件开发，性能测试，开源</description>
	<lastBuildDate>Tue, 24 Aug 2010 03:40:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>这两天QTP出错记录</title>
		<link>http://jaunty.me/blog/2009/02/qtp_error_recor/</link>
		<comments>http://jaunty.me/blog/2009/02/qtp_error_recor/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 16:27:19 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[自动化测试]]></category>
		<category><![CDATA[Automation Test Framework]]></category>
		<category><![CDATA[QTP]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=100</guid>
		<description><![CDATA[1. 作关键字驱动脚本的一个小试验
Browser(&#8220;Find a Flight: Mercury&#8221;).Sync
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebRadioGroup(&#8220;tripType&#8221;).Select &#8220;oneway&#8221;
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;passCount&#8221;).Select &#8220;1&#8243;
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;fromPort&#8221;).Select &#8220;London&#8221;
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;fromMonth&#8221;).Select &#8220;March&#8221;
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;fromDay&#8221;).Select &#8220;27&#8243;
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;toPort&#8221;).Select &#8220;New York&#8221;
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;toMonth&#8221;).Select &#8220;April&#8221;
Browser(&#8220;Find [...]]]></description>
			<content:encoded><![CDATA[<p>1. 作关键字驱动脚本的一个小试验</p>
<p>Browser(&#8220;Find a Flight: Mercury&#8221;).Sync<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebRadioGroup(&#8220;tripType&#8221;).Select &#8220;oneway&#8221;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;passCount&#8221;).Select &#8220;1&#8243;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;fromPort&#8221;).Select &#8220;London&#8221;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;fromMonth&#8221;).Select &#8220;March&#8221;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;fromDay&#8221;).Select &#8220;27&#8243;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;toPort&#8221;).Select &#8220;New York&#8221;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;toMonth&#8221;).Select &#8220;April&#8221;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;toDay&#8221;).Select &#8220;21&#8243;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebRadioGroup(&#8220;servClass&#8221;).Select &#8220;First&#8221;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).WebList(&#8220;airline&#8221;).Select &#8220;No Preference&#8221;<br />
Browser(&#8220;Find a Flight: Mercury&#8221;).Page(&#8220;Find a Flight: Mercury&#8221;).Image(&#8220;findFlights&#8221;).Click</p>
<p> </p>
<p><span id="more-100"></span></p>
<p>第2行后面“oneway” 第一次写成“Oneway”了<br />
注意大小写敏感<br />
出错信息是 没有包含在Object‘s  item collection。</p>
<p>2. 作基本的脚本录制回放<br />
Browser(&#8220;Welcome: Mercury Tours&#8221;).Page(&#8220;Welcome: Mercury Tours&#8221;).Sync<br />
Browser(&#8220;Welcome: Mercury Tours&#8221;).Page(&#8220;Welcome: Mercury Tours&#8221;).WebEdit(&#8220;userName&#8221;).Set &#8220;jaunty&#8221;<br />
Browser(&#8220;Welcome: Mercury Tours&#8221;).Page(&#8220;Welcome: Mercury Tours&#8221;).WebEdit(&#8220;password&#8221;).SetSecure &#8220;47cd03a82c95a6103581c815c580052e1720fdfd&#8221;<br />
Browser(&#8220;Welcome: Mercury Tours&#8221;).Page(&#8220;Welcome: Mercury Tours&#8221;).Image(&#8220;Sign-In&#8221;).Click 10,2</p>
<p>第一行Browser的语句，第一次没有给加载页面的过程加同步点 因为想着第一次 页面load 不需要做前提条件。<br />
后来回放的时候 WebEdit对象“userName” 一直对象disabled.<br />
个人猜测是由于机器太慢load太久 但测试步骤已经开始导致<br />
加入同步点解决。</p>
<p>（页面加载过程也需要同步点。。。汗。。。）<br />
后来在windowsForm程序 开始Launcher的时候 也需要加入同步点，第一次回访出现对象disabled问题<br />
加入同步点后解决。</p>
<p> </p>
<p> </p>
<p>3. 描述性编程小实验<br />
Dialog(&#8220;Login&#8221;).WinEdit(&#8220;Agent Name:&#8221;).Set &#8220;jaunty&#8221;<br />
Dialog(&#8220;Login&#8221;).WinEdit(&#8220;Password:&#8221;).SetSecure &#8220;47d888b608eeba747a9be67b7464720d04f7e08e&#8221;<br />
Dialog(&#8220;Login&#8221;).WinObject(&#8220;nativeclass:=Button&#8221;, &#8220;text:=OK&#8221;).Click<br />
Window(&#8220;Flight Reservation&#8221;).WinMenu(&#8220;Menu&#8221;).Select &#8220;File;Exit&#8221;</p>
<p>第三行，第一次忘记在两个属性之间加入空格，导致执行第三行的时候 QTP无法识别下来的动作。无错误信息，就是执行不到下一步！</p>
<p>加入空格解决。</p>
<p> </p>
<p>4. 脚本运行前对待测程序的保证</p>
<p>If not Dialog(&#8220;Login&#8221;).Exist Then<br />
 SystemUtil.Run &#8220;C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe&#8221;<br />
End If</p>
<p>当然最一开始要加入一个语句判断一下所要操作的Object打开了没有。没有的话要打开</p>
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2009/02/qtp_error_recor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QTP执行过程对抛出窗口录入的密码的加密和录入的数据的获得</title>
		<link>http://jaunty.me/blog/2009/02/qtp_password-windows_mask/</link>
		<comments>http://jaunty.me/blog/2009/02/qtp_password-windows_mask/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 16:20:19 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[自动化测试]]></category>
		<category><![CDATA[Automation Test Framework]]></category>
		<category><![CDATA[QTP]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=94</guid>
		<description><![CDATA[有这样一种需求，就是在QTP回放的过程中需要抛出一个录入框，操作者录入的密码显示是加密的（*****的样子），但是要能在后面的脚本获取操作者输入的数据。
可能很多人要问，自动化的过程为什么要人去输入操作。
 
这里先把这个问题的前提阐述一下：
我们的脚本是全球共享的，每个tester都有自己的用户名密码 去访问那个脚本 所以在access脚本的前面就需要QTP 弹出一个交互的对话框让tester去登陆才能access到 脚本的专署的信息，却又不能看到其他人的信息。
经过核查QTP 目前没有发现可以加密的函数，vbs也没有内置的function来提供这种功能。
所以结决方案的思路就是调用IE来create masked对话框
代码如下： 只需要copy到QTP的专家视图，直接run就可以了（也可单独保存为VBS文件运行）


strPw = GetPassword( &#8220;Please enter your password:&#8221; )51Testing软件测试网:z d P7]J
msgbox strPw


51Testing软件测试网.o/wtxrp2X(f4O7l
Function GetPassword( myPrompt )


Dim objIE51Testing软件测试网4x,j? v8S^
&#8216; Create an IE object51Testing软件测试网,eghGE1x
Set ōbjIE = CreateObject( &#8220;InternetExplorer.Application&#8221; )51Testing软件测试网w!\&#8217;M&#8221;N8\Y VSd
&#8216; specify some of the IE window&#8217;s settings51Testing软件测试网$Hx^Vu_
objIE.Navigate &#8220;about:blank&#8221;51Testing软件测试网8v/d8S ](@^7~
objIE.Document.Title = &#8220;Password&#8221;51Testing软件测试网3@4^#{.}#hT,v*vp
objIE.ToolBar = False
+j3~.X6Y5H21468objIE.Resizable = False51Testing软件测试网E iX _ {4X n/~w&#8221;L
objIE.StatusBar = False
$~Y7w9d,h4~21468objIE.Width = [...]]]></description>
			<content:encoded><![CDATA[<p>有这样一种需求，就是在<a onclick="tagshow(event, 'QTP');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong><span style="color: #000066;">QTP</span></strong></span></a>回放的过程中需要抛出一个录入框，操作者录入的密码显示是<a onclick="tagshow(event, '%BC%D3%C3%DC');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong><span style="color: #000066;">加密</span></strong></span></a>的（*****的样子），但是要能在后面的脚本获取操作者输入的数据。</p>
<p>可能很多人要问，<a onclick="tagshow(event, '%D7%D4%B6%AF%BB%AF');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong><span style="color: #000066;">自动化</span></strong></span></a>的过程为什么要人去输入操作。</p>
<p> </p>
<p>这里先把这个问题的前提阐述一下：</p>
<p>我们的脚本是全球共享的，每个tester都有自己的用户名密码 去访问那个脚本 所以在access脚本的前面就需要QTP 弹出一个交互的对话框让tester去登陆才能access到 脚本的专署的信息，却又不能看到<a onclick="tagshow(event, '%C6%E4%CB%FB');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong><span style="color: #000066;">其他</span></strong></span></a>人的信息。</p>
<p>经过核查QTP 目前没有发现可以加密的函数，vbs也没有内置的function来提供这种功能。</p>
<p>所以结决方案的思路就是调用IE来create masked对话框</p>
<p>代码如下： 只需要copy到QTP的专家视图，直接run就可以了（也可单独保存为VBS文件运行）</p>
<p><span id="more-94"></span></p>
<div>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">strPw = GetPassword( &#8220;Please enter your password:&#8221; )<span style="display: none;">51Testing软件测试网:z d P7]J</span><br />
msgbox strPw</span></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;"><span style="display: none;">51Testing软件测试网.o/wtxrp2X(f4O7l</span><br />
Function GetPassword( myPrompt )</span></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">Dim objIE<span style="display: none;">51Testing软件测试网4x,j? v8S^</span><br />
&#8216; Create an IE object<span style="display: none;">51Testing软件测试网,eghGE1x</span><br />
Set ōbjIE = CreateObject( &#8220;InternetExplorer.Application&#8221; )<span style="display: none;">51Testing软件测试网w!\&#8217;M&#8221;N8\Y VSd</span><br />
&#8216; specify some of the IE window&#8217;s settings<span style="display: none;">51Testing软件测试网$Hx^Vu_</span><br />
objIE.Navigate &#8220;about:blank&#8221;<span style="display: none;">51Testing软件测试网8v/d8S ](@^7~</span><br />
objIE.Document.Title = &#8220;Password&#8221;<span style="display: none;">51Testing软件测试网3@4^#{.}#hT,v*vp</span><br />
objIE.ToolBar = False<br />
<span style="display: none;">+j3~.X6Y5H21468</span>objIE.Resizable = False<span style="display: none;">51Testing软件测试网E iX _ {4X n/~w&#8221;L</span><br />
objIE.StatusBar = False<br />
<span style="display: none;">$~Y7w9d,h4~21468</span>objIE.Width = 320<br />
<span style="display: none;">A7p(~j5PW%h+X21468</span>objIE.Height = 180</span></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">Do While objIE.Busy<span style="display: none;">51Testing软件测试网 OqM%d\%h</span><br />
<span style="display: none;">51Testing软件测试网A*Y,o!H]m%y</span><br />
Loop<span style="display: none;">51Testing软件测试网Ctt/p*Q+U4F_</span><br />
&#8216; Insert the HTML code to prompt for a password<br />
<span style="display: none;">!~*H%yEh21468</span>objIE.Document.Body.InnerHTML = &#8220;&lt;DIV align=&#8221;"center&#8221;"&gt;&lt;P&gt;&#8221; &amp; myPrompt _<span style="display: none;">51Testing软件测试网;hTg3}Z.o2N</span><br />
&amp; &#8220;&lt;/P&gt;&#8221; &amp; vbCrLf _<span style="display: none;">51Testing软件测试网8?d%s E(G+d8K9|j8?</span><br />
&amp; &#8220;&lt;P&gt;&lt;INPUT TYPE=&#8221;"password&#8221;" SIZE=&#8221;"20&#8243;&#8221; &#8221; _<br />
<span style="display: none;">O?W9{9q2o Pm*@B21468</span>&amp; &#8220;ID=&#8221;"Password&#8221;"&gt;&lt;/P&gt;&#8221; &amp; vbCrLf _<span style="display: none;">51Testing软件测试网j{sj+E:c6b</span><br />
&amp; &#8220;&lt;P&gt;&lt;INPUT TYPE=&#8221;"hidden&#8221;" ID=&#8221;"OK&#8221;" &#8221; _<br />
<span style="display: none;">0t,jR ]n&#8221;[:j21468</span>&amp; "NAME=""OK"" VALUE=""0""&gt;" _<br />
<span style="display: none;">r+uOi/H'B5t/Xh@a8X21468</span>&amp; "&lt;INPUT TYPE=""submit"" VALUE="" OK "" " _<br />
<span style="display: none;">\+t0q-~o(R-t21468</span>&amp; "OnClick=""VBscrīpt:OK.Value=1""&gt;&lt;/P&gt;&lt;/DIV&gt;"<span style="display: none;">51Testing软件测试网\%@LH/I"~3^EY&amp;]</span><br />
&#8216; Make the window visible<br />
<span style="display: none;">+R` `s(P L+P5l_21468</span>objIE.Visible = True<br />
<span style="display: none;">eRIS}L-ckn21468</span>&#8216; Wait till the OK button has been clicked<span style="display: none;">51Testing软件测试网8b~S s*I^ qu%v</span><br />
Do While objIE.Document.All.OK.Value = 0</span></span></p>
</div>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">Loop</span></span><span style="display: none;">51Testing软件测试网3D{8C2] wN$v5o</span><br />
<span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">&#8216; Read the password from the dialog window<br />
<span style="display: none;">,Zp&amp;Um@7?e?A21468</span>GetPassword = objIE.Document.All.Password.Value<span style="display: none;">51Testing软件测试网0~N6nc&amp;`&#8221;N%t J(Cs(T</span><br />
&#8216; Close and release the object<span style="display: none;">51Testing软件测试网~5u B3F.Ef</span><br />
objIE.Quit<br />
<span style="display: none;">o-GXZkl#El21468</span>Set ōbjIE = Nothing<br />
<span style="display: none;">Owl.m9| H9e21468</span>End Function</span></span></p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"> </p>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">参考信息：</span></span></p>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000066; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;"><a href="http://www.microsoft.com/technet/scrīptcenter/resources/qanda/feb05/hey0204.mspx">http://www.microsoft.com/technet/scrīptcenter/resources/qanda/feb05/hey0204.mspx</a></span></span></p>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></span></p>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">另外</span></span></p>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;">（1）如果在正常的情况下需要加密密码，QTP提供password encoder 可以generate 出加密后的string。</span></span></p>
<p class="MsoNormal"><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"><span style="font-size: 8pt; color: black; font-family: Tahoma;"><span class="035495209-05062008"><span style="color: #000000;">（2） 显示密码信息</span></span></span></span></p>
<p class="MsoNormal">
<div></div>
<p><span style="font-size: xx-small; color: #000000; font-family: Tahoma;"></p>
<p class="MsoNormal"><span style="font-size: 8pt; color: black; font-family: Tahoma;"><span class="035495209-05062008"><span style="color: #000000;"> 抓取密码</span></span></span></p>
<p></span></p>
<p> <span style="color: #0000ff;"> getROProperty(&lt;Object Property the Stores the Password&gt;)</span> &#8230;ie try <span style="color: #0000ff;">getROProperty(&#8220;Password&#8221;)</span></p>
<div><span class="035495209-05062008"><span style="color: #000000;">显示信息</span></span></div>
<div><span class="035495209-05062008">       </span><span style="font-size: 10pt; color: #15326b; font-family: 'Courier New';" lang="EN-GB"><span style="color: #0000ff; font-family: Arial;">MsgBox </span></span></div>
<div><span style="font-size: 10pt; color: #15326b; font-family: 'Courier New';" lang="EN-GB"><span style="color: #000000; font-family: Arial;">（3）对某些列进行掩盖：</span></span></div>
<div><span style="font-size: 10pt; color: #15326b; font-family: 'Courier New';" lang="EN-GB"><span style="color: #000000;">Browser(&#8220;Browser&#8221;).Page(&#8220;Webpage&#8221;).WebEdit(&#8220;txtPassword&#8221;).<strong><em>SetSecure</em></strong> (&#8220;User password&#8221;)</span></span></div>
<div><span style="font-size: 10pt; color: #15326b; font-family: 'Courier New';" lang="EN-GB"></span> </div>
<p class="MsoNormal">
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2009/02/qtp_password-windows_mask/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby &amp; WatiR背景</title>
		<link>http://jaunty.me/blog/2009/02/ruby-watir_backgroun/</link>
		<comments>http://jaunty.me/blog/2009/02/ruby-watir_backgroun/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 15:57:02 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[Ruby&Watir]]></category>
		<category><![CDATA[自动化测试]]></category>
		<category><![CDATA[Automation Test Framework]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[watir]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=90</guid>
		<description><![CDATA[ 

借助空档开始了WatiR和Ruby的学习。这两天的任务就是概括了解一下Ruby和WatiR的思想和背景以及配置好整个环境。 
Ruby &#8212; 就是那个日本人松本行弘创作的，ruby是红宝石的意思，一种号称完全面向对象的脚本语言。
1.       根据一些材料的简介得知Ruby是语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。这些背景我是从百度百科的ruby词条里了解到的。
 


2.       Ruby的官网资源：http://www.ruby-lang.org/zh_CN。 官网首页右边的panel有个“浏览器上ruby的试用”链接，跟着那个试用链接弹出窗口自带的一个全英文的初级指南顺利的做了个20分钟的Ruby简单的巡游，有个基本的初体验。第一个页面就是告知你怎么操作这个指南。需要注意一点就是体验进行到中间的时候如果刷新了页面或者关了页面什么的，再打开就又会从指南的第一条开始。我发现这个指南是语言做好的类似flash一样的一个交互,有一些检查点吧，只要输入了当前页面提示的最后一个要求输入的语句，页面就会翻页。所以这成了我快速翻页的一个方法，呵呵。当然如果已经进行巡游到到指南的第2部分，则可以直接输入 help2 就进入到第2章了。此外网站还有很多文档可以参考。 
本文出自jaunty的51Tesing软件测试博客，转载请保留出处及链接：http://www.51testing.com/?21468 
WatiR &#8212; Web application test in Ruby。顾名思义，这是一个用ruby开发的开源自动化测试框架。
1.       基本就是WatiR封装了对web页面元素识别的机制，测试者可以利用Ruby在这个框架下根据对象的属性识别，而后写ruby代码控制测试逻辑，加入检查点等等以达到自动化测试目的。我个人感觉和QTP的机制如出一辙，只不过Ruby和Watir都是开源，相对QTP便宜很多，并且有可以随意自由定制框架和测试逻辑的优点吧。
2.       WatiR官网资源：http://wtr.rubyforge.org/index.html。有一些文档和这个项目的介绍，据说新的release已经不在这个官网发布了要去http://rubyforge.org/projects/wtr/ 更新和下载，但是社区还是继续在官网发展。有兴趣可以通过官网社区订阅的watir的一个google group群组。我订阅了后，基本每天都会收到很多正在使用watir的人提出问题进行讨论的邮件，比较活跃，我感觉即时还不懂ruby怎么使用也可以从群组讨论的问题学到一些测试的方法和一些技术问题。
]]></description>
			<content:encoded><![CDATA[<div><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;"><span style="font-size: x-small;"> </span></span></div>
<p><span style="font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;"></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">借助空档开始了</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US"><span style="font-family: Calibri;">WatiR</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">和</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US"><span style="font-family: Calibri;">Ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">的<a onclick="tagshow(event, '%D1%A7%CF%B0');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong>学习</strong></span></a>。这两天的任务就是概括了解一下</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US"><span style="font-family: Calibri;">Ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">和</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US"><span style="font-family: Calibri;">WatiR</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">的思想和背景以及配置好整个环境。</span><span lang="EN-US"><span style="font-size: small; font-family: Calibri;"> <br style="mso-special-character: line-break;" /><br style="mso-special-character: line-break;" /></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-family: Calibri;"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US">Ruby</span></strong><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US"> &#8212; </span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">就是那个日本人松本行弘创作的，</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US"><span style="font-family: Calibri;">ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">是红宝石的意思，一种号称完全面向对象的脚本语言。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: 20pt;"><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin;" lang="EN-US"><span style="font-family: Calibri;">1.</span></span><span style="font-size: 7pt; color: black; font-family: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;" lang="EN-US">       </span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">根据一些材料的简介得知</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">Ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">是语法像</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">Smalltalk</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">一样完全面向对象、脚本执行、又有</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">Perl</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">强大的文字处理功能的编程语言。这些背景我是从百度百科的</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">词条里了解到的。</span></p>
<p> </p>
<p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: 20pt;"><span style="font-size: 9pt; font-family: 'Courier New';" lang="EN-US"><span id="more-90"></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: 20pt;"><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin;" lang="EN-US"><span style="font-family: Calibri;">2.</span></span><span style="font-size: 7pt; color: black; font-family: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;" lang="EN-US">       </span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">Ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">的官网资源：</span><span style="font-size: 10pt; color: black; font-family: 'Courier New';" lang="EN-US"><a href="http://www.ruby-lang.org/zh_CN"><span style="font-family: 'Calibri','sans-serif';">http://www.ruby-lang.org/zh_CN</span></a></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">。</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';"><span style="font-family: Calibri;"> </span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">官网首页右边的</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">panel</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">有个“浏览器上</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">的试用”链接，跟着那个试用链接弹出窗口自带的一个全英文的初级指南顺利的做了个</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">20</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">分钟的</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">Ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">简单的巡游，有个基本的初体验。第一个页面就是告知你怎么操作这个指南。需要注意一点就是体验进行到中间的时候如果刷新了页面或者关了页面什么的，再打开就又会从指南的第一条开始。我发现这个指南是语言做好的类似flash一样的一个交互,有一些检查点吧，只要输入了当前页面提示的最后一个要求输入的语句，页面就会翻页。所以这成了我快速翻页的一个方法，呵呵。当然如果已经进行巡游到到指南的第</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">2</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">部分，则可以直接输入</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;"> help2 </span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">就进入到第</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">2</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">章了。此外网站还有很多文档可以参考。</span><span style="font-size: 9pt; font-family: 'Courier New';" lang="EN-US"> </span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: 20pt;"><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">本文出自</span><span style="font-size: 10pt; color: black; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">jaunty</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">的</span><span style="font-size: 10pt; color: black; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">51Tesing</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;"><a onclick="tagshow(event, '%C8%ED%BC%FE%B2%E2%CA%D4');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong>软件测试</strong></span></a>博客，<a onclick="tagshow(event, '%D7%AA%D4%D8');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong>转载</strong></span></a>请保留出处及链接：</span><span style="font-size: 10pt; mso-bidi-font-family: 'Courier New';" lang="EN-US"><a href="http://www.51testing.com/?21468"><span style="color: black;"><span style="font-family: Calibri;">http://www.51testing.com/?21468</span></span></a></span><span style="font-size: 9pt; font-family: 'Courier New';" lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: Calibri;"><strong style="mso-bidi-font-weight: normal;"><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US">WatiR </span></strong><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US">&#8212; <a onclick="tagshow(event, 'Web');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong>Web</strong></span></a> application <a onclick="tagshow(event, 'test');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong>test</strong></span></a> in Ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">。顾名思义，这是一个用</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="EN-US"><span style="font-family: Calibri;">ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">开发的开源<a onclick="tagshow(event, '%D7%D4%B6%AF%BB%AF%B2%E2%CA%D4');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong>自动化测试</strong></span></a>框架。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: 20pt;"><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin;" lang="EN-US"><span style="font-family: Calibri;">1.</span></span><span style="font-size: 7pt; color: black; font-family: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;" lang="EN-US">       </span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">基本就是</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">WatiR</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">封装了对</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">web</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">页面元素识别的机制，测试者可以利用</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">Ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">在这个框架下根据对象的属性识别，而后写</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">代码控制测试逻辑，加入检查点等等以达到自动化测试目的。我个人感觉和</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">QTP</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">的机制如出一辙，只不过</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">Ruby</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">和</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">Watir</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">都是开源，相对</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">QTP</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">便宜很多，并且有可以随意自由定制框架和测试逻辑的优点吧。</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 18pt; text-indent: 20pt;"><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-theme-font: minor-latin;" lang="EN-US"><span style="font-family: Calibri;">2.</span></span><span style="font-size: 7pt; color: black; font-family: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin;" lang="EN-US">       </span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">WatiR</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">官网资源：</span><span style="font-size: 10pt; color: black; font-family: 'Courier New';" lang="EN-US"><a href="http://wtr.rubyforge.org/index.html"><span style="font-family: 'Calibri','sans-serif';">http://wtr.rubyforge.org/index.html</span></a></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">。有一些文档和这个项目的介绍，据说新的</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">release</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">已经不在这个官网发布了要去</span><span style="font-size: 10pt; color: black; font-family: 'Courier New';" lang="EN-US"><a href="http://rubyforge.org/projects/wtr/"><span style="font-family: 'Calibri','sans-serif';">http://rubyforge.org/projects/wtr/</span></a></span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;"> </span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">更新和下载，但是社区还是继续在官网发展。有兴趣可以通过官网社区订阅的</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">watir</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">的一个</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">google group</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">群组。我订阅了后，基本每天都会收到很多正在使用</span><span style="font-size: 10pt; color: black; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New';" lang="EN-US"><span style="font-family: Calibri;">watir</span></span><span style="font-size: 10pt; color: black; font-family: 宋体; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: 'Courier New'; mso-fareast-font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin;">的人提出问题进行讨论的邮件，比较活跃，我感觉即时还不懂ruby怎么使用也可以从群组讨论的问题学到一些测试的方法和一些<a onclick="tagshow(event, '%BC%BC%CA%F5');" href="javascript:;" target="_self"><span style="text-decoration: underline;"><strong>技术</strong></span></a>问题。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2009/02/ruby-watir_backgroun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>收到通过的信息了。</title>
		<link>http://jaunty.me/blog/2009/01/51testing-translatio/</link>
		<comments>http://jaunty.me/blog/2009/01/51testing-translatio/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 16:59:22 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[自动化测试]]></category>
		<category><![CDATA[Automation Test Framework]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[自动化测试框架]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=67</guid>
		<description><![CDATA[
 您好，您申请的文章《DIY: Build Your Own Automation Framework 》还没有被别人译过，可以翻译。 
注：最后译文的质量，是从原文价值和翻译质量两方面来综合评定，所以在挑选文章时请关注原文质量。 
2009-01-12



Best Regards!
*****************************
             51Testing软件测试网
          提高测试水平，改进软件质量
要开始动工咧。。。
原文作者：Keven Liu (Email: softkeven@gmail.com)
原文出处：Software Test &#38; Performance, December 2007, Vol. 4, No. 12
（杂志期刊号或链接）http://www.stpmag.com/issues/stp-2007-12.pdf
推荐理由：利用XML来定制自动化测试的业务流程和逻辑
 
]]></description>
			<content:encoded><![CDATA[<div>
<div><span style="font-size: x-small; font-family: Verdana;"><span style="font-size: x-small; font-family: Verdana;"><span style="font-size: x-small;"><span style="font-size: x-small; font-family: Verdana;"><span> </span></span></span></span></span><span style="font-size: 12pt; color: blue; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">您好，您申请的文章《</span><span style="font-size: 12pt; color: blue; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US">DIY: Build Your Own Automation Framework </span><span style="font-size: 12pt; color: blue; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">》还没有被别人译过，可以翻译。</span><span style="font-size: 12pt; color: blue; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US"> </span></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 14.25pt; text-align: left; mso-pagination: widow-orphan;" align="left"><span style="font-size: 12pt; color: blue; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">注：最后译文的质量，是从原文价值和翻译质量两方面来综合评定，所以在挑选文章时请关注原文质量。</span><span style="font-size: 12pt; color: black; font-family: &quot;Georgia&quot;,&quot;serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 14.25pt; text-align: left; mso-pagination: widow-orphan;" align="left"><span style="font-size: 12pt; color: black; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US">2009-01-12</span></p>
<p><span style="font-size: 12pt; color: black; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US"><br />
</span></p>
<hr style="width: 91.5pt;" size="2" /></div>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 14.25pt; text-align: left; mso-pagination: widow-orphan;" align="left"><span style="font-size: 12pt; color: gray; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US">Best Regards!<br />
*****************************<br />
             51Testing</span><span style="font-size: 12pt; color: gray; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">软件测试网</span><span style="font-size: 12pt; color: gray; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US"><br />
          </span><span style="font-size: 12pt; color: gray; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">提高测试水平，改进软件质量</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 14.25pt; text-align: left; mso-pagination: widow-orphan;" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">要开始动工咧。。。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; line-height: 14.25pt; text-align: left; mso-pagination: widow-orphan;" align="left"><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">原文作者：</span><span style="font-size: 12pt; color: black; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US">Keven Liu (Email: <a href="mailto:softkeven@gmail.com"><span style="color: blue;">softkeven@gmail.com</span></a>)<br />
</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">原文出处：</span><span style="font-size: 12pt; color: black; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US">Software Test &amp; Performance, December 2007, Vol. 4, No. 12<br />
</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">（杂志期刊号或链接）</span><span style="font-size: 12pt; color: black; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US"><a href="http://www.stpmag.com/issues/stp-2007-12.pdf" target="_blank"><span style="color: blue;">http://www.stpmag.com/issues/stp-2007-12.pdf</span></a><br />
</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">推荐理由：利用</span><span style="font-size: 12pt; color: black; font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-fareast-font-family: 宋体;" lang="EN-US">XML</span><span style="font-size: 12pt; color: black; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt;">来定制自动化测试的业务流程和逻辑</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 12pt; color: #222222; font-family: &quot;Tahoma&quot;,&quot;sans-serif&quot;;" lang="EN-US"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2009/01/51testing-translatio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM自动化测试专题</title>
		<link>http://jaunty.me/blog/2009/01/ibm-automation-test/</link>
		<comments>http://jaunty.me/blog/2009/01/ibm-automation-test/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 07:30:15 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[软件测试]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[rft]]></category>
		<category><![CDATA[自动化测试]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=66</guid>
		<description><![CDATA[今天收到订的IBM的通知邮件~有个自动化测试的专题：
大概浏览一下，还是有些东西有点用，虽然IBM有些东西很擅长故弄玄虚，不过读一下当补充业余知识了。
http://www.ibm.com/developerworks/cn/s_newsletter/dw_s_20090108.html
尤其是rup原则的自动化测试的实施。以及ITCL的面向对象组织测试的思想可以学习一下。
虽然测试上来说IBM的工具和很多理念并没有多大的市场，但是毕竟道理都是相通的。可以理解一下。深化一下认识。
]]></description>
			<content:encoded><![CDATA[<p>今天收到订的IBM的通知邮件~有个自动化测试的专题：<br />
大概浏览一下，还是有些东西有点用，虽然IBM有些东西很擅长故弄玄虚，不过读一下当补充业余知识了。</p>
<p>http://www.ibm.com/developerworks/cn/s_newsletter/dw_s_20090108.html</p>
<p>尤其是rup原则的自动化测试的实施。以及ITCL的面向对象组织测试的思想可以学习一下。<br />
虽然测试上来说IBM的工具和很多理念并没有多大的市场，但是毕竟道理都是相通的。可以理解一下。深化一下认识。</p>
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2009/01/ibm-automation-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby&amp;WatiR安装全记录</title>
		<link>http://jaunty.me/blog/2009/01/45/</link>
		<comments>http://jaunty.me/blog/2009/01/45/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 09:41:35 +0000</pubDate>
		<dc:creator>jaunty</dc:creator>
				<category><![CDATA[Ruby&Watir]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[watir]]></category>
		<category><![CDATA[添加新标签]]></category>
		<category><![CDATA[自动化测试]]></category>

		<guid isPermaLink="false">http://jaunty.me/blog/?p=45</guid>
		<description><![CDATA[原本以为就是安装一下，结果也是一波三折的。
安装过程详解，遇到的问题和解决方法。
Step 1 下载 Ruby。在官网下载页面可以看到有a.下载源码安装 b.一键安装。根据OS的类型我选在windows下的版本download Ruby 1.8.6 一步安装。下载完双击运行安装。
Step 2 下载WatiR。在官网下载了WatiR的最新版本1.5.6和版本1.5.4.，我下载的是gem后缀的安装文件。为什么还要下1.5.4后面再解释，这也就是安装一波三折的一个因素。
什么是gem？它到底是什么东西？在wiki上搜索了一下ruby的gems
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a &#8220;gem&#8221;), a tool designed to easily manage the installation of gems, and a server for distributing them. RubyGems is [...]]]></description>
			<content:encoded><![CDATA[<p>原本以为就是安装一下，结果也是一波三折的。</p>
<p>安装过程详解，遇到的问题和解决方法。</p>
<p><span style="color: #ff0000;"><strong>Step 1 下载 Ruby。</strong></span>在官网下载页面可以看到有a.下载源码安装 b.一键安装。根据OS的类型我选在windows下的版本download Ruby 1.8.6 一步安装。下载完双击运行安装。</p>
<p><strong><span style="color: #ff0000;">Step 2 下载WatiR。</span></strong>在官网下载了WatiR的最新版本1.5.6和版本1.5.4.，我下载的是gem后缀的安装文件。为什么还要下1.5.4后面再解释，这也就是安装一波三折的一个因素。</p>
<p>什么是gem？它到底是什么东西？在wiki上搜索了一下ruby的gems</p>
<p>RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a &#8220;gem&#8221;), a tool designed to easily manage the installation of gems, and a server for distributing them. RubyGems is now part of the standard library from Ruby version 1.9.</p>
<p><span id="more-45"></span></p>
<p>大概意思就是说Ruby的gem是ruby自己的一种独立的标准文件包格式。就像我们看到.xls，.doc我们就知道那是office的word和excel文件。那么深入点，.xlsx, .docx就是office2007的word和excel。那么.gem那么就是ruby的文件包。则ruby的应用本身还带有另外一个应用就是叫做RubyGems 是ruby语言所产生的文件包的管理系统。并且这个应用可以用来给系统安装gem文件包，以及可以将Ruby产生的文件制作成gem包还有发包的功能。我个人感觉RubyGems的一部分功能说通俗点有点像windows installer一样，提供了文件包的解析安装服务当然gem还有负责管理所有包的信息的功能，更新，卸载包等等，这个问题以后再深入研究。</p>
<p><strong><span style="color: #ff0000;">Step 3 更新gem.</span></strong> 在windows的开始-〉运行里输入cmd，然后在提示符处键入</p>
<p>gem update system</p>
<p>最开始的时候我就是根据从网上到处搜来的解说片段来尝试安装的。这里这条命令的意思是要update一下gem 才能安装新版本的WatiR. 应该是ruby1.8.6自带的gem版本太低解析不了高版本的watir的gem文件包。</p>
<p>等了很久一直提示正在更新。</p>
<div id="attachment_46" class="wp-caption alignnone" style="width: 514px"><img class="size-full wp-image-46" title="21468_200810231753351" src="http://jaunty.me/blog/wp-content/uploads/2009/01/21468_200810231753351.jpg" alt="Watir安装-1" width="504" height="190" /><p class="wp-caption-text">Watir安装-1</p></div>
<p>最后关掉了当前的cmd窗口又重新开。又重复那个命令，起初我以为是文件太大所以更新慢。后来明白了，因为我们公司网络受管制防火墙，过滤等导致无法在线更新。</p>
<p>于是我尝试不update gem直接安装watir会有什么情况出现。</p>
<p>本文出自jaunty的51Tesing软件测试博客，转载请保留出处及链接：<a href="http://www.51testing.com/?21468">http://www.51testing.com/?21468</a></p>
<p>本文出自jaunty的Tesing软件测试博客，转载请保留出处及链接：<a href="http://jaunty.me/blog">http://jaunty.me/blog</a></p>
<p><strong><span style="color: #ff0000;">Step 4 安装watir 1.5.5。</span></strong>在网上的找到的一些前人安装的的一点讲解，发现安装watir就是</p>
<p>键入</p>
<p>gem install &#8212; 在这里等价于&#8212; gem install water-1.5.5.gem</p>
<p>结果gem自己竟然默认开始在线更新了。结束cmd重开，将提示符转向watir-1.5.5.gem安装包的目录下键入</p>
<p>gem install water-1.5.5.gem</p>
<p>出错了</p>
<p><img class="alignnone size-full wp-image-47" title="21468_200810231755151" src="http://jaunty.me/blog/wp-content/uploads/2009/01/21468_200810231755151.jpg" alt="21468_200810231755151" width="616" height="355" /></p>
<p>WatiR requires win32-process = 0.5.1</p>
<p>无奈之下只好放弃watir1.5.5的最新版，辗转反侧才从rubyforge上找到一点线索，ruby1.8.6所带的gem版本仅能支持到watir的1.5.4。</p>
<p><strong><span style="color: #ff0000;">Step 5 安装watir 1.5.4。</span></strong>打开cmd窗口，键入</p>
<p>gem install water-1.5.4.gem</p>
<p>结果gem又自己默认在线更新。我猜测既然default的动作是默认更新会不会是因为没有找到我要指定的文件所采取的动作。于是实验一下，讲提示符转到watir-1.5.4.gem文件所在的目录下，键入</p>
<p>gem install water-1.5.4.gem</p>
<p>终于成功了！！</p>
<p>之前在网上看到有些人说把watir的安装gem文件copy到ruby的安装目录下，然后尝试安装，我实验了，gem依然找不到目标文件，然后默认在线更新。因此可以得知我们是要帮助gem找到安装文件才行不是丢到ruby的安装目录下就可以解决。我猜测那个人是因为自己的提示符默认再安装当时已经是在WatiR的gem文件目录下了吧。后面成功了。</p>
<p>Extra：</p>
<p>回到家后网络不受限，那么就在线升级gem然后安装WatiR-1.5.6:</p>
<p>gem update system</p>
<p>gem install water-1.5.6.gem</p>
<p>大概是下面的样子：</p>
<p><img class="alignnone size-full wp-image-48" title="21468_200810231755152" src="http://jaunty.me/blog/wp-content/uploads/2009/01/21468_200810231755152.jpg" alt="21468_200810231755152" width="629" height="677" /></p>
<p> </p>
<p><img class="alignnone size-full wp-image-49" title="21468_200810231755153" src="http://jaunty.me/blog/wp-content/uploads/2009/01/21468_200810231755153.jpg" alt="21468_200810231755153" width="629" height="677" /></p>
<p><strong><span style="color: #ff0000;">Finish!</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://jaunty.me/blog/2009/01/45/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
