<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://cmmionline.net/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>非一般的测试</title><link>http://cmmionline.net/blogs/fayetest/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.0 (Build: 60217.2664)</generator><item><title>Rational Automatic Function Test实践总结</title><link>http://cmmionline.net/blogs/fayetest/archive/2008/09/14/8534.aspx</link><pubDate>Sun, 14 Sep 2008 07:47:00 GMT</pubDate><guid isPermaLink="false">a3cee3cf-888f-4043-8fa2-9101e6e147b9:8534</guid><dc:creator>faye</dc:creator><slash:comments>0</slash:comments><comments>http://cmmionline.net/blogs/fayetest/comments/8534.aspx</comments><wfw:commentRss>http://cmmionline.net/blogs/fayetest/commentrss.aspx?PostID=8534</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;作者：关滨飞&lt;BR&gt;摘自&lt;/SPAN&gt;&lt;SPAN&gt;：&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&lt;A href="http://www.cmmionline.net/"&gt;&lt;FONT face=Calibri color=#99aa99&gt;&lt;STRONG&gt;http://www.cmmionline.net&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;一、&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Rational &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;工具能把整个体系集成于一体管理：测试计划、测试执行、缺陷管理，每个环节的关系都紧密相关&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;A href="/photos/chatu/picture8541.aspx" target=_blank&gt;&lt;IMG height=368 src="/photos/chatu/images/8541/original.aspx" width=851 border=0&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;）&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Test Manager&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;管理测试计划：测试需求，测试用例，并把测试用例关联测试需求、测试脚本。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;）&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;管理自动测试脚本，脚本就是把执行测试的所有动作，转化为基于&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;自有的语言&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;—SQA. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;而当今常被提到的自动测试框架，其实就是把&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ALL&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;测试动作所操作对象写成公共函数，调用公共函数时只需求提供将要操作是哪个对象、什么动作，而不需要你去写脚本。这样不需要大量的时间去维护脚本，节省测试成本；而且这样的自动化功能测试非常容易维护，当被测试的软件界面及业务逻辑被改变时，你只需要修改界面的对象及动作顺序&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;这样即使是一个无技术的测试人员，维护脚本也是小菜一碟的事情。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;）&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ClearQuest, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;管理软件缺陷。当运行脚本的测试结果出来后，你可以直接对有缺陷的软件功能提交缺陷。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;这样紧密一环扣一环的关系（测试计划&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;--&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;测试用例&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;--&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;测试脚本&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;--&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;缺陷），我们就好容易找出其家族成员来。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/8542/original.aspx" target=_blank&gt;&lt;IMG height=89 src="/photos/chatu/images/8542/original.aspx" width=468 border=0&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;A href="/photos/chatu/picture8541.aspx" target=_blank&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;试想想要需求被变更后，&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;test manager&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;会自动检测到其影响的测试用例，这是多舒服的事情，而不需要你自己手动去找“被变更需求”的相关测试影响。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;不过，需求的文件格式及表达形式，&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Test manager&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;还是非常有讲究的，在下面会说到如何设置。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;二、其实这个工具弱势在哪呢？&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;．自动化测试强调的是容易维护，举例来说：当做回归测试时，只需要动一下鼠标键让&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ROBOT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;运行脚本，然后就可以得到测试结果。但代价却是前期得花比手工测试&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;倍的测试时间来创建测试脚本，那要是整个软件周期在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1-3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;个月、无计划要重用的小型项目，不建议用此工具。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2. IBM&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中国区售后技术支持人员还是挺高效及高质的，你要是有问题，只需要一个邮件，他们半天肯定给你解答。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;IBM&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;策略是只确保&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ROBOT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的原来功能没有缺陷，你要是提了一些好基本的新需求，他们是决不会修改的，他们现在主推&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;RFT(Rational Functional Test), RFT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;IBM&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;收购&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Rational&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;后在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ROBOT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的基本上优化而做出来的软件。性能及功能方面远超于&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ROBOT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;三、下面会对&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Test Manager, Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;详细说明使用技巧、不能满足我们需要的哪些基本需求、缺陷：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1. Test Manager&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;A&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;．导出&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Test log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;文件后，如何用转换成&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;html&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;后文件？&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;脚本&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;play back&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;后生成&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Test log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;，当把这些&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;文件导出后，其文件为&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;*.rtpar,&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;默认可以以&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;txt&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;来打开，但看起来都是排版好乱的一堆字符。要是用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;html file&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;打开，比较整体。转换方法如下：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;edit&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;打开&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;*.rtpar&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;确认第一个行为“&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;”&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;在第一行的后面插入新行，并加上以下内容“&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;?xml-stylesheet type="text/xsl" href="TestLogDetail.xsl"?&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;”&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;存盘&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;把&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;*.rtpar&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的后缀名改为&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;xml.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;B&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;B.&lt;/FONT&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;测试用例如何对应测试脚本、测试需求&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;测试用例关联测试脚本：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/8543/original.aspx" target=_blank&gt;&lt;IMG height=517 src="/photos/chatu/images/8543/original.aspx" width=840 border=0&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/8542/original.aspx" target=_blank&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;测试用例关联测试需求：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/8544/original.aspx" target=_blank&gt;&lt;IMG height=591 src="/photos/chatu/images/8544/original.aspx" width=512 border=0&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;D&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;．不支持&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Microsoft&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;应用软件的中文内容&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;导出&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;suite log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;到&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;CSV&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;文件或&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Word&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;文件，所有被导出的中文都会成为乱码。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;从&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;excel&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;文件中导入的测试用例到&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;test manager, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;所有被导入的中文都会成为乱码。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;从&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;excel&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;文件中导入的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;manual test script&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;到&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;test manager, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;所有被导入的中文都会成为乱码。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;E&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;．&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Test Case &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;只能逐条导入。&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Test case&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;可以从外部文件中导入，它提供你选择外部源文件如&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;excel, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;并要求指定取源文件的哪个行列中的内容。这个是挺有用的功能。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;但一次只能导入一个测试用例，这个功能严重影响工作效率。试想想，要是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;excel&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中一行就是一个测试用例，那要是有&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;200&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;个测试用例，那我要导入&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;200&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;次。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;．&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Inspector &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;工具&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;A&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;．&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Inspector&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;是个检测被测试软件的对象属性的好工具，当被测试软件是基于&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;java&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;开台开发的二层以上人嵌套的窗体时，用“&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;SQAgetproperty (window, object property, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;变量&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;”&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;函数时&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;window&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;里不能只写一层窗体，而是嵌套了多少层就要写成多少层，要不，窗体是写不到位的。层与层之前用此符分隔“&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;;\;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;”如下例子所示：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Result = HTMLLinkVP (CompareProperties, "Caption=CMMI on line - CMMI&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;速成&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt; - Microsoft Internet Explorer;\;HTMLText=&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;版权声明&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;", "Text",SResult)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/8545/original.aspx" target=_blank&gt;&lt;IMG height=89 src="/photos/chatu/images/8545/original.aspx" width=749 border=0&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;这里只举一层的关系的例子，&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;B&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;嵌套在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;A&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;B&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;被嵌套在多层中时&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;就在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;B&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;前按顺序加上&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;并以&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;;\;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;分隔&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;B&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;．&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;inspector&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;工具的性能不好。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;打开时，要&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;3-5&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;分钟才能开启。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;用其去检测软件的对象属性，就更慢，要是你选择检测的是更个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;WINDOW&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;，而不是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;window&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;里具体的一个控件，&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;10&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;分钟未测检是常事，而且中途会出错，一出错就产生一连串的关联错误，非要令&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;PC&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;死机不可&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;提示通常理由“&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;memory can’t be read&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;”。解决办法只能是重启&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;PC&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;或注销用户。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;有时侯&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Inspertor&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;检测试的对象属性不正确，当出现此情况时，以&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ROBOT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;GUI Insert&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;工具为准。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;GUI Insert&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;还是比较稳定的。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;3&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;．&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ROBOT&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;在测试项目初期，建议请先建立应用测试工具的相关规范，让你们的测试团以同一标准更有序地进行测试。定义的内容有哪些：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Script &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;编码&lt;/SPAN&gt;&lt;SPAN&gt;规范&lt;/SPAN&gt;&lt;SPAN&gt;、动作文件&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Excel&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;格式及内容&lt;/SPAN&gt;&lt;SPAN&gt;规范&lt;/SPAN&gt;&lt;SPAN&gt;，用例、脚本、函数命名规范。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;回头想想当初定义的自动化测试框架是相当值得的，因为：&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;减少测试人员编写测试脚本的时间，让他更多时间去考虑测试用例的设计。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;创建的框架，不光只能用在当前的项目，而且可能用在所有不同开发平台的项目的测试，这是测试组的经验财富。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;测试框架的结构我不再多说，大家可以参考前一篇文章：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;http://cmmionline.net/blogs/fayetest/archive/2008/03/30/1783.aspx&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;应用过程的会有一部分修改，但结构大同小异。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;4&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;．数据修复：&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;administrator&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中有一个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;DataStrore Doctor&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;功能。这个功能好有用，当你因为各方面原因而导致数据包产生问题，这个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Datastrore Doctor&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;可以帮到你忙。我曾经遇的问题是：不能在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;test plan&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中创建测试用例（创建时报错并自动退出&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;test manager&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;）&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;当运行&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Datastrore Doctor&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;还是不能解决问题时，建议把项目迁移到别一个新位置后，运行&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Datastrore Doctor&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;再不行，使用以下方案&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;但注意操作前一定要做好数据库备份工作&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;):&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;用以下段两个脚本分别造成&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;check.bat&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;及&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;populate.bat &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;修改以下两段脚本的内容&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;把以下关于目录内容&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;改成你本地的真实项目目录名&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;运行&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;check bat&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph&gt;&lt;SPAN&gt;&lt;SPAN&gt;Ø&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;再运行&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;populate.bat.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;注意运行此&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;bat&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的目的是重建数据库关系&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;但你已创建的项目数据还是存在的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;而且在运行此&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;BAT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;前&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;它会自动备份原始数据库到同一项目目录中&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;文件&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Check.bat&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的内容：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/8546/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/8546/original.aspx" border=0&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;文件&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;populate.bat&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的内容：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;6&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&lt;A href="/photos/chatu/images/8547/original.aspx" target=_blank&gt;&lt;IMG height=71 src="/photos/chatu/images/8547/500x71.aspx" width=569 border=0&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;5&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;．项目迁移&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;方法&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;：在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Rational administraotr&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;创建新项目，再引用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;existing datastore.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;方法&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;：把旧项目所有文件复制到新目录，然手动修改以下文件的项目目录为最新的目录。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;gt;\&amp;lt;project&amp;gt;.rsp&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;gt;\TestDatastore\project.dat&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;gt;\TestDatastore\datastore.dat&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;gt;\TestDatastore\DefaultTestScriptDatastore\project.dat&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;gt;\TestDatastore\DefaultTestScriptDatastore\datastore.dat&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;gt;\TestUsersAndGroups\project.dat&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;gt;\TestUsersAndGroups\datastore.dat&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;gt;\TestDatastore\TMS_TestScriptSources\*.rtxml&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;注意：你还要修改&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&amp;nbsp;Menu&amp;nbsp;Tools-&amp;gt;General&amp;nbsp;Option-&amp;gt;Presferences-&amp;gt;SQABasic&amp;nbsp;Path&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;-----&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;全文完&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;-----&lt;O:P&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&lt;FONT color=#ff1493&gt;&lt;STRONG&gt;特别声明：&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;如需转载此文，请给出指向本网站的连接，如下：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;作者：关滨飞&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;摘自：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.cmmionline.net/"&gt;&lt;SPAN&gt;&lt;FONT face=Calibri color=#99aa99&gt;http://www.cmmionline.net&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;如不能按此要求，请不要转载此文。&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://cmmionline.net/aggbug.aspx?PostID=8534" width="1" height="1"&gt;</description></item><item><title>Rational Robot 自动测试框架(Robot Autotest Framework)</title><link>http://cmmionline.net/blogs/fayetest/archive/2008/03/30/1783.aspx</link><pubDate>Sat, 29 Mar 2008 17:05:00 GMT</pubDate><guid isPermaLink="false">a3cee3cf-888f-4043-8fa2-9101e6e147b9:1783</guid><dc:creator>faye</dc:creator><slash:comments>2</slash:comments><comments>http://cmmionline.net/blogs/fayetest/comments/1783.aspx</comments><wfw:commentRss>http://cmmionline.net/blogs/fayetest/commentrss.aspx?PostID=1783</wfw:commentRss><description>&lt;SPAN&gt;&lt;FONT face=Calibri&gt;
&lt;P class=MsoNormal&gt;&lt;STRONG&gt;&lt;SPAN&gt;作者：关滨飞&lt;BR&gt;摘自&lt;/SPAN&gt;&lt;SPAN&gt;：&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&lt;A href="http://www.cmmionline.net/"&gt;&lt;FONT face=Calibri color=#99aa99&gt;&lt;STRONG&gt;http://www.cmmionline.net&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;STRONG&gt;摘要&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;：&lt;BR&gt;&lt;/STRONG&gt;1.框架的重要性.&lt;BR&gt;2.什么是框架？&lt;BR&gt;3.框架的特征.&lt;BR&gt;4.如何实现框架.&lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;首先先提出疑问&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;什么是框架呢&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;框架，即F&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;amework&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;。其实就是某种应用的半成品，就是一组组件，供你选用完成你自己的系统。简单说就是使用别人搭好的舞台，你来做表演&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;一个没思想的机械人。而且，框架一般是成熟的，不断升级的。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;测试为什么要用框架？&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;回归测试每个版本发布都包括新增加的功能和已有的功能，已有的功能已经在以前的版本中进行过测试，但是还需要在此版本中执行回归测试。在这种情况下，测试部门往往会考虑到，既然回归测试的测试用例都已经存在并且已经在上一个版本中执行过，那么在新版本中能否自动的执行这些测试？如果能这样的话，将极大的节省时间和资源，将有限的资源投入到新功能的测试上，缓解测试的压力。那我们就会想到用自动化功能测试代替手工测试&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;当用工具进行自动化功能测试时&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;每个测试用例对应&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;N&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;个测试脚本&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;那算起来&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;脚本真是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;N&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;多呀&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;那录制及维护这些脚本的测试人员就会叫苦连天&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;另一方面项目进度及成本的压力&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;根本没有太多余的时间给测试人员去花时间在自动化功能测试&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;测试其实好多东西都能重用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;假想我们把这个舞台都搭好了&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;你只需要集中精力完成系统的业务逻辑的测试&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;把这此业务逻辑转化成一批数据&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;那框架只需要读取数据就可以实现你的逻辑测试&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;例子就正如我们希望机械人给我们测试，那你只需要告诉他对象，动作，他就能实现你的工作，而不需要你去写脚本。智能吧。继续看下来吧。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;3.Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;测试框架&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;那这个机械人是如何运作的呢。人类应该给他怎样的指令，他才能读懂并工作呢？&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;使用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;SQABasic&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;脚本开发的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;测试技术框架。此&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;测试技术框架以表驱动为指导思想，读入动态结构，解释并执行动态结构中的每一项，这是自动化测试的引擎。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/1774/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/1774/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;（图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;三者交互工作图）&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;下面我会以&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Window Calculator &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;作为例子解释，而测试目的是：测试&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Calculator&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;所以功能的正确性。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;数据驱动：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Datapool&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;及外部数据表驱动&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Datapool&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的数据存贮文件，&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;可对它进行读写。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;这里的表是指&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;外部表，如&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;EXCEL&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;表，它可以嵌套（&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;OLE&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;）在&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;里，&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;可对它进行读写。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;数据表是测试人员向&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;下达业务测试命令的媒体。传送的内容有：对象（窗体及控件）、动作、期望值。如下表所示&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/1775/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/1775/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;（图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;数据表图）&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;这个表中这里一共针对&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Calculator&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;工具中三种不同的控件进行操作：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Menu, PushButton, EditBox. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;每一行代表是要求&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;操作的一个动作。这个表的动作逻辑就是：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;）．计算&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1+80=&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;？，然后判断值是否正确&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;）．&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Sqrt(81)=?, &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;然后判断值是否正确&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;3). &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;点击不同的菜单。然后判断。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;那&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ROBOT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;如何脚本实现框架化？&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;把脚本分两部分维护即可：主程序（&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;sub main&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;）&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;+&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;子程序&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;(sub-function/sub)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;主程序要实现功能是把“指定表名”传入到子程序中。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Sub-function&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;是实现对主程序传入的数据表名的内容进行不同动作处理。分为两层，第一层读取主程序传入数据表名，读取数据表的内容，判断数据表的控件是什么&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;并对号入座到不同处理过程（第二层）。第二层就是对不同的动作进行相关操作。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;为什么要判断控件呢：原因是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;对不同的控件类型所做一系列动作都是不同，那可它放动不同的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;sub-function&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中处理。如&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;对一个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;PushButton&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;控制进行&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Click &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;操作和&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;DBClick&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;对都不同的&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;所以分类处理&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;IMG src="/photos/chatu/images/1776/original.aspx" border=0&gt;&lt;BR&gt;（图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;3: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;交互图）&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;以上图可以清楚地看到主程序和子程序和计算器之间的交互&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&lt;A href="/photos/chatu/images/1777/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/1777/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;4: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;活动图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;)&lt;BR&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&lt;A href="/photos/chatu/images/1778/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/1778/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;5: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;活动图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;以上图可以看到主程序及子程序的内部处理动作&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;以&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ROBOT&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;语言说明&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;以下实例将以读取&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;datapool&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的数据为例。&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&lt;A href="/photos/chatu/images/1779/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/1779/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;6: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;为主程序&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;ApplicationDatapoolData&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;这些是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;sub-function. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;读取名为&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;”FWCalcData”&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的数据表名&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; &lt;/FONT&gt;&lt;SPAN&gt;名到&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;sub-function&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&lt;A href="/photos/chatu/images/1780/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/1780/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;7:ApplicationDatapoolData)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;这个&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;sub-function&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的作用是打开数据表&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;读取数据内容&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;按不同的控件类型转到不以&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;sub-function&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;中&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;如当控件类型是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;PushButton&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;时&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;就调用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;sub-function “processPushButton”. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;所有这些子程序应放到&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Global.shl&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;文件作为公共调用&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;这样就会方便多了。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&lt;A href="/photos/chatu/images/1781/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/1781/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;(&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;8)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;上图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;8&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;为&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;sub-function”ProcessPushButton”. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;是对&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;PushButton&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;这种控件的不同动作的进行处理&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;另外在图&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2 &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;数据表图中&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;还有部分是&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Verify Result&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;的动作&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;其目的是判断实际值与数据表中期望值不一致时传到&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;回放结果窗体显示。&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Function&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;如下&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&lt;A href="/photos/chatu/images/1782/original.aspx" target=_blank&gt;&lt;IMG src="/photos/chatu/images/1782/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;总结&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;我分别使用了交互图、活动图去表达了&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;1&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;）人与&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;是主要是通过数据表数据驱动交互；&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;2&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;）主程序与子程序之间是如何嵌套实现测试框架，以及&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;Robot&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;程序的一系列动作有哪些。其实实现这些框架并不困难，只需要把握好以数据表数据驱动设计框架，不段补充数据表的动作，及不同异常的处理。相信以后你的机械人可越来越聪明。&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;-----&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN&gt;全文完&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;-----&lt;O:P&gt;&lt;/O:P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal align=left&gt;&lt;SPAN&gt;&lt;FONT color=#ff1493&gt;&lt;STRONG&gt;特别声明：&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;如需转载此文，请给出指向本网站的连接，如下：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;作者：关滨飞&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;摘自：&lt;/SPAN&gt;&lt;SPAN&gt;&lt;A href="http://www.cmmionline.net/"&gt;&lt;SPAN&gt;&lt;FONT face=Calibri color=#99aa99&gt;http://www.cmmionline.net&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;如不能按此要求，请不要转载此文。&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;A href="/photos/chatu/images/1774/original.aspx" target=_blank&gt;&lt;/A&gt;&lt;A href="/photos/chatu/images/1775/original.aspx" target=_blank&gt;&lt;/A&gt;&lt;A href="/photos/chatu/images/1776/original.aspx" target=_blank&gt;&lt;/A&gt;&lt;A href="/photos/chatu/images/1782/original.aspx" target=_blank&gt;&lt;/A&gt;&lt;img src="http://cmmionline.net/aggbug.aspx?PostID=1783" width="1" height="1"&gt;</description></item></channel></rss>