﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-金鳞-文章分类-QTP</title><link>http://www.cnitblog.com/chenxin9821/category/7351.html</link><description>目标-&gt;软件测试架构师</description><language>zh-cn</language><lastBuildDate>Thu, 29 Sep 2011 03:51:29 GMT</lastBuildDate><pubDate>Thu, 29 Sep 2011 03:51:29 GMT</pubDate><ttl>60</ttl><item><title>Andy.j.chen的方法，解决count属性返回-1的问题</title><link>http://www.cnitblog.com/chenxin9821/articles/45808.html</link><dc:creator>金鳞</dc:creator><author>金鳞</author><pubDate>Tue, 17 Jun 2008 04:50:00 GMT</pubDate><guid>http://www.cnitblog.com/chenxin9821/articles/45808.html</guid><wfw:comment>http://www.cnitblog.com/chenxin9821/comments/45808.html</wfw:comment><comments>http://www.cnitblog.com/chenxin9821/articles/45808.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/chenxin9821/comments/commentRss/45808.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/chenxin9821/services/trackbacks/45808.html</trackback:ping><description><![CDATA[<span style="COLOR: #000000; FONT-FAMILY: MS Shell Dlg">Andy.j.chen&nbsp; 说:<br><br>Dim j <br>Set Conn=CreateObject("ADODB.Connection")<br>Set Rs = CreateObject("ADODB.Recordset") <br>Conn.Open "DSN=S7DSQL05;UID=EcomDbo;PWD=Ecom2Dev;APP=QuickTest Professional;WSID=S7DSQL05;DATABASE=SVC2005" Rs.Open "select count(*) FROM dbo.RMAMaster ",Conn<br>'Rs.PageSize=10 <br>j=Rs.RecordCount <br>msgbox j<br><br>这个返回的怎么总是-1哦 <br><br>问题解决了 呵呵<br><br>Rs.Open "select&nbsp; TOP 50 RMANumber FROM dbo.RMAMaster ",Conn,3 </span>
<img src ="http://www.cnitblog.com/chenxin9821/aggbug/45808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/chenxin9821/" target="_blank">金鳞</a> 2008-06-17 12:50 <a href="http://www.cnitblog.com/chenxin9821/articles/45808.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QTP日志记录方法</title><link>http://www.cnitblog.com/chenxin9821/articles/45807.html</link><dc:creator>金鳞</dc:creator><author>金鳞</author><pubDate>Tue, 17 Jun 2008 04:35:00 GMT</pubDate><guid>http://www.cnitblog.com/chenxin9821/articles/45807.html</guid><wfw:comment>http://www.cnitblog.com/chenxin9821/comments/45807.html</wfw:comment><comments>http://www.cnitblog.com/chenxin9821/articles/45807.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/chenxin9821/comments/commentRss/45807.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/chenxin9821/services/trackbacks/45807.html</trackback:ping><description><![CDATA[<p><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt"><a href="http://www.51testing.com/javascrīpt:;" target=_self><span style="COLOR: black; TEXT-DECORATION: none; text-underline: none">QTP</span></a></span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>自动化脚本执行中</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,QTP</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>工程师肯定要考虑如何记录运行中的信息</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>什么时间执行了什么</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'">中间遇到什么问题等等</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt"><o:p></o:p></span></font></p>
<p><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">1.</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>通过</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">Shell</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>记录</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">windows</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>事件</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>在</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">windows</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'">事件查看器中查看</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt"><o:p></o:p></span></font></p>
<p><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'">优点是操作方便</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt"><o:p></o:p></span></font></p>
<p><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">Set WshShell = WScripit.CreateObject("Wscrīpt.Shell")<o:p></o:p></span></p>
<p><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">0</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>是信息</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,1</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>是错误</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,2</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'">是警告</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt"><o:p></o:p></span></font></p>
<p><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">WshShell.LogEvent 0, "Logon scrīpt Completed Successfully"WshShell.LogEvent 1, "Logon scrīpt failed"</span></p>
<p><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">2.</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>通过</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">FileSystemObject</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'">来打开文件来记录</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt"><o:p></o:p></span></font></p>
<p><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>优点是功能强大</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'">想记录啥就是啥</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt"><o:p></o:p></span></font></p>
<p><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">3.</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>利用</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">Desktop.CaptureBitmap</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>来记录当前</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">Screen<o:p></o:p></span></p>
<p><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>填写问题单时</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>发生错误的页面抓图很有说服力</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,</span><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'"><font face=宋体>也便于查看</font></span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt">,</span><font face=宋体><span style="FONT-SIZE: 10pt; COLOR: black; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'">当出错时调用此函数</span><span lang=EN-US style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Times New Roman'; mso-font-kerning: 1.0pt"><o:p></o:p></span></font></p>
<img src ="http://www.cnitblog.com/chenxin9821/aggbug/45807.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/chenxin9821/" target="_blank">金鳞</a> 2008-06-17 12:35 <a href="http://www.cnitblog.com/chenxin9821/articles/45807.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QTP连接数据库[转帖]</title><link>http://www.cnitblog.com/chenxin9821/articles/45804.html</link><dc:creator>金鳞</dc:creator><author>金鳞</author><pubDate>Tue, 17 Jun 2008 03:44:00 GMT</pubDate><guid>http://www.cnitblog.com/chenxin9821/articles/45804.html</guid><wfw:comment>http://www.cnitblog.com/chenxin9821/comments/45804.html</wfw:comment><comments>http://www.cnitblog.com/chenxin9821/articles/45804.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/chenxin9821/comments/commentRss/45804.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/chenxin9821/services/trackbacks/45804.html</trackback:ping><description><![CDATA[<p><span><span><font face="Times New Roman"><font size=3>(1)</font><span>&nbsp;&nbsp;&nbsp; </span></font></span></span><font size=3><span>首先要在控制面板中，加一个</span><span><font face="Times New Roman">odbc</font></span><span>数据源。</span></font></p>
<p><span><span><font face="Times New Roman"><font size=3>(2)</font><span>&nbsp;&nbsp; <span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span><span lang=EN-US style="COLOR: black"><font face="Times New Roman">qtp</font></span><span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中建立连接和记录集</span>&nbsp;</span></font></span></span><font size=3><span><font face="Times New Roman"><br clear=all></font></span></font><span><br><font face="Times New Roman"><font size=3>&nbsp;&nbsp;&nbsp;set cnn=createobject("adodb.connection")<br><span>&nbsp;&nbsp; set </span>ōbjrsa=createobject("adodb.recordset")</font></font></span></p>
<p><span><span><font face="Times New Roman"><font size=3>(3)</font><span>&nbsp;&nbsp;&nbsp; </span></font></span></span><span><font size=3>连接数据库</font></span><span><br><span><span></p>
</span></span><font face="宋体, MS Song"><font size=3><br>&nbsp;cnn.open "provide=msdaora;userid=apts;password=apts;data source=afctwo"<br></font></font></span><span><font face="宋体, MS Song" size=3>&nbsp;userid/password,</font></span><font size=3><span>是登陆数据库的用户名和密码，这样数据库就连接上。</span></font>
<p>&#160;</p>
<p><font face="Times New Roman"><span><span><font size=3>(4)</font><span>&nbsp;</span></span></span></font><span><font size=3>对数据库进行操作。</font></span><span><br><font face="Times New Roman"><font size=3>&nbsp; objrsa.open "select bustypefullname from bustypeinfo",cnn,3,</font></font><st1:chmetcnv w:st="on" UnitName="a" SourceValue="2" HasSpace="True" Negative="False" NumberType="1" TCSC="0"><font size=3><font face="Times New Roman"><st1:chmetcnv w:st="on" UnitName="a" SourceValue="2" HasSpace="False" Negative="False" NumberType="1" TCSC="0">2</st1:chmetcnv></font></font><font face="Times New Roman"><font size=3><br>&nbsp; a</font></font></st1:chmetcnv><font face="Times New Roman" size=3>=objrsa("bustypefullname").value</font></span><font size=3><span>得到字段</span><span><font face="Times New Roman">bustypefullname</font></span><span>的值赋值给了变量</span><span><font face="Times New Roman">a</font></span></font></p>
<img src ="http://www.cnitblog.com/chenxin9821/aggbug/45804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/chenxin9821/" target="_blank">金鳞</a> 2008-06-17 11:44 <a href="http://www.cnitblog.com/chenxin9821/articles/45804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>qtp数据库一块知识 [转贴]</title><link>http://www.cnitblog.com/chenxin9821/articles/45802.html</link><dc:creator>金鳞</dc:creator><author>金鳞</author><pubDate>Tue, 17 Jun 2008 02:41:00 GMT</pubDate><guid>http://www.cnitblog.com/chenxin9821/articles/45802.html</guid><wfw:comment>http://www.cnitblog.com/chenxin9821/comments/45802.html</wfw:comment><comments>http://www.cnitblog.com/chenxin9821/articles/45802.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/chenxin9821/comments/commentRss/45802.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/chenxin9821/services/trackbacks/45802.html</trackback:ping><description><![CDATA[&nbsp;<span>文章比较长，一共三部分：<br></span><span><br><span><strong>第一部分<br></strong></span><br>1</span><span>、连接<a onclick="javascript:tagshow(event, '%CA%FD%BE%DD%BF%E2');" href="javascript:;" target=_self><u><strong><font color=#0000ff>数据库</font></strong></u></a>查询例子，无参数化</span><span><br>//</span><span>查询收文操作，通过数据库查询记录数是否正确</span><span><br>//1</span><span>、输出记录数值，例如</span><span>78</span><span>条</span><span> &nbsp;</span><span>2</span><span>、获取输出的记录数值</span><span>&nbsp;3</span><span>、连接数据库，查询记录数</span><span><br>4</span><span>、输出记录数值和从数据库中查询记录数值，相比较，相等则成功，不等则失败</span><span><br>Browser("</span><span>湛江信息化<a onclick="javascript:tagshow(event, '%B2%E2%CA%D4');" href="javascript:;" target=_self><u><strong><font color=#0000ff>测试</font></strong></u></a>登录</span><span>").Page("</span><span>湛江东兴石油企业有限公司办公<a onclick="javascript:tagshow(event, '%D7%D4%B6%AF%BB%AF');" href="javascript:;" target=_self><u><strong><font color=#0000ff>自动化</font></strong></u></a>系统</span><span>").Frame("mainFrame").</span><span>Output CheckPoint("78")</span><span><br></span><span>Dim mm<br></span><span>'mm=DataTable.GlobalSheet.GetParameter("mainFrameOutput_Text_out").Value&nbsp;&nbsp;<br>//</span><span>注释，获取</span><span>datatable</span><span>值与</span><span>DataTable("mainFrameOutput_Text_out", dtGlobalSheet)</span><span>一致</span><span><br></span><span>mm=DataTable("mainFrameOutput_Text_out", dtGlobalSheet)<br></span><span>MsgBox mm<br>Dim res,cmd,sql<br>Set res=createobject("adodb.recordset")<br>Set cmd=createobject("adodb.command")<br>Cmd.activec<br>Cmd.CommandType = 1<br><a onclick="javascript:tagshow(event, 'sql');" href="javascript:;" target=_self><u><strong><font color=#0000ff>sql</font></strong></u></a>="select count(*) from oa_receivebumf&nbsp;&nbsp;where BUMFNAME </span><span>like '%</span><span>收文测试</span><span>%'"<br></span><span>'sql="select&nbsp;&nbsp;count(*)&nbsp;&nbsp;from oa_receivebumf&nbsp;&nbsp;where BUMFNAME='"&amp;nn&amp;"'" <br>//</span><span>注释，</span><span>sql</span><span>语句</span><span>,</span><span>等于时</span><span>sql</span><span>语句</span><span><br>// sql="select&nbsp;&nbsp;count(*)&nbsp;&nbsp;from oa_receivebumf&nbsp;&nbsp;where BUMFNAME like '%nn%'" //like</span><span>时</span><span>sql</span><span>语句</span><span><br>Cmd.CommandText = sql<br>Set res = Cmd.Execute()<br>//msgbox res("name")<br><br>MsgBox res(0)<br></span><span>If&nbsp; &nbsp;Cstr(res(0)) = Cstr(mm)Then</span><span><br>&nbsp; &nbsp;&nbsp; &nbsp;Reporter.ReportEvent micPass, "<a onclick="javascript:tagshow(event, 'test');" href="javascript:;" target=_self><u><strong><font color=#0000ff>test</font></strong></u></a>\",&nbsp; &nbsp;"</span><span>查询成功</span><span>"&nbsp; &nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;else <br>Reporter.ReportEvent micfail, "test",&nbsp; &nbsp;"</span><span>查询失败</span><span>"<br>End If<br>Set res = nothing<br>Set cmd.ActiveConnection = nothing<br>Set Cmd= nothing<br>2</span><span>、登记用户，查看是否登记成功</span><span><br>&nbsp; &nbsp;//</span><span>登记用户，查询用户是否存在在数据库中</span><span><br>&nbsp; &nbsp;&nbsp;&nbsp;1</span><span>、</span><span> </span><span>参数化</span><span> 2</span><span>、取参数化值</span><span>&nbsp;&nbsp;3</span><span>、查询语句中，赋值给查询条件</span><span><br>&nbsp; &nbsp;&nbsp;&nbsp;4</span><span>、从数据库中查询出用户名，与参数化中值做比较</span><span><br>&nbsp; &nbsp;</span><span>脚本如下：</span><span><br>Browser("</span><span>测试登录</span><span>").Page("</span><span>办公自动化系统</span><span>").Frame("mainFrame_2").WebEdit("addressVO.name").</span><span>Set DataTable("p_Text", dtGlobalSheet)</span><span><br></span><span>Dim xname<br>xname=DataTable("p_Text", dtGlobalSheet)<br>MsgBox&nbsp;&nbsp;xname</span><span><br><br>Dim res,cmd,sql<br>Set res=createobject("adodb.recordset")<br>Set cmd=createobject("adodb.command")<br>Cmd.activec<br>Cmd.CommandType = 1<br>sql="select&nbsp;&nbsp;name from address_list t where name ='</span><span>"&amp;xname&amp;"'"<br></span><span>Cmd.CommandText = sql<br>Set res = Cmd.Execute()<br>'msgbox res("name")<br>MsgBox res(0)<br>Set res = nothing<br>Set cmd.ActiveConnection = nothing<br>Set Cmd= nothing</span>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align=left><strong><span>第二部分</span></strong></p>
<p align=left><span>1</span><span>、</span><span>Datatable</span><span>方法</span><span>GetRowCount<br>&nbsp; &nbsp;DataTable.GetSheet("Action1").GetRowCount&nbsp; &nbsp;//</span><span>获取总行数</span><span><br>&nbsp;&nbsp;</span><span>使用如：</span><span><br>&nbsp;&nbsp;CountNum=DataTable.GetSheet("Action1").GetRowCount<br><br>2</span><span>、</span><span>Datatable</span><span>方法</span><span>SetNextRow<br>&nbsp; &nbsp;DataTable.GetSheet("Action1").SetNextRow&nbsp; &nbsp;&nbsp;&nbsp;//</span><span>取得下一行</span><span><br>&nbsp; &nbsp;datatable.setcurrentrow(n)&nbsp; &nbsp;//</span><span>取得某一行</span><span><br><br>3</span><span>、</span><span>Datatable</span><span>方法</span><span>getcurrentrow&nbsp; &nbsp; //</span><span>获得当前行数</span><span><br>&nbsp; &nbsp;</span><span>例如：</span><span>datatable.getcurrentrow<br><br>4</span><span>、获取</span><span>datatable</span><span>值</span><span><br>&nbsp; &nbsp;4.1&nbsp;&nbsp;DataTable("p_Text", dtLocalSheet)&nbsp;&nbsp;//</span><span>取得</span><span>datatable</span><span>中参数名称为：</span><span>p_Text</span><span>的值</span><span><br>&nbsp; &nbsp;4.2&nbsp;&nbsp;DataTable.GlobalSheet.GetParameter("p_Text").Value&nbsp; &nbsp;//</span><span>获取参数值方法和</span><span>DataTable("p_Text", dtLocalSheet)</span><span>一样</span><span><br>&nbsp; &nbsp;</span><span>例如：</span><span>xname</span><span>为变量，</span><span>dim xname<br>&nbsp; &nbsp;xname=DataTable("p_Text", dtLocalSheet)<br>&nbsp; &nbsp;xname=DataTable.GlobalSheet.GetParameter("p_Text").Value<br><br>5</span><span>、</span><span>datatable.value("num")</span><span>只在</span><span>global</span><span>形式下的一种省略形式；完整形式是</span><span>:<br>datatable.value("num",dtlocalsheet)<br><br>-----</span><span>向某一列的单元格赋值</span><span>:<br>datatable.value("column_name",dtlocalsheet)="nanjing"<br><br>6</span><span>、字符转换</span><span>Cstr<br>&nbsp; &nbsp;dim mm<br>&nbsp; &nbsp;Cstr(mm)<br><br>7</span><span>、获取对象属性名称用法</span><span>:<br>GetRoProperty----</span><span>从应用程序界面上获取对象属性（即，是脚本运行时，获取的对象动态属性值）</span><span><br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</span><span>例如：获取对象库中</span><span>index</span><span>属性值，似乎只能用</span><span>GetToProperty,</span><span>因为应用程序界面上对象没有该属性，只是</span><span><br></span><span>　　　　　　</span><span>QTP</span><span>为识别该对象创立的描述属性；</span><span><br>GetToproperty----</span><span>从对象库中描述对象的属性，静态值</span><span><br>GetToProperties----</span><span>获取用于标识对象的属性集；对于这个集合，有</span><span>count</span><span>等属性方法</span><span><br><br>8</span><span>、如果弹出对话框就获取上面提示信息并与表中的信息对比，不统一证明弹出的提示出错</span><span>,</span><span>主要用来验证</span><span><br>if browser("web_name").dialog("dialog_name").exist(1) then'</span><span>如果不出现</span><span>=false<br>&nbsp; &nbsp;&nbsp;&nbsp;error_message=browser("web_name").dialog("diaglog_name").static("</span><span>用户密码错误</span><span>!".getRoproperty("text")<br></span><span>　　　</span><span>if error_message&lt;&gt;(datatable.value("error_info"))then<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;msgbox(error_message)<br>&nbsp; &nbsp;&nbsp; &nbsp;end if<br>&nbsp; &nbsp;&nbsp;&nbsp;browser("web_name").dialog("diaglog_name").close<br>&nbsp;&nbsp;end if<br></span><span>这里总结了两点技巧：</span><span><br></span><span>　　一是：对于</span><span>dialog</span><span>中，虽然提示信息对象名称是</span><span>"</span><span>用户密码错误</span><span>"</span><span>，但如果信息对象名称是</span><span>&#8220;</span><span>该用户不存在</span><span>&#8221;</span><span>，不用更改会自动识别，我想主要是录制第一遍时，</span><span>&#8220;</span><span>用户密码错误</span><span>&#8221;</span><span>只是让运行时能找到这个控制，而不管它是什么内容，因为在对象仓库中，</span><span>text</span><span>不是决定该对象的属性</span><span><br>&nbsp; &nbsp; </span><span>二是：如果对于提示信息比较长的，可以用</span><span>mid(error_message,n,m)</span><span>取一部份特征提示信息进行验证，这样我想可以节省处理时间，又可以避免长度以及空格等字符的处理</span><span><br><br>9</span><span>、数据库检查点模块</span><span>:<br>sub database_check<br>set con=createobject("adodb.connection")<br>con.open "Descrīption=IBM_ODBC;DRIVER=SQL Server;SERVER=IBM;UID=sa;"&amp;_<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;"PWD=123456;APP=Quick Test Pro;WSID=IBM;DATABASE=IBM_table"<br>'access</span><span>方式</span><span>:con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\test.mdb"<br>'Orocle</span><span>方式</span><span>:con.open "DRIVER={Oracle in OraHome92};SERVER=CESHI;UID=CND_TEST;PWD=CND;DBQ=CESHI;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;"<br>set record=createobject("adodb.recordset")<br>sql="select*from ibm_one_table"<br>record.open sql,con<br>DO<br>if(record("ibm_table_column")="kai")then'//</span><span>查找表格中有多少</span><span>kai<br>num=num+1;<br>end if<br>record.movenext<br>loop until record.eof=true<br>record.close<br>set record=nothing<br>con.close<br>set con=nothing<br>end sub<br><br>10</span><span>、</span><span>"is+*"</span><span>类型</span><span>function<br>isarray'</span><span>是否是数组</span><span><br>isconnected'</span><span>判断</span><span>QTP</span><span>是否连接到</span><span>TD<br>isdate'</span><span>是否是合法的日期类型</span><span><br>isempty'</span><span>判断是否初始化</span><span><br>isNull'</span><span>判断是否为空值</span><span><br>isNumeric'</span><span>判断是否是数字型</span><span><br>isobject'</span><span>判断是否一个功能对象</span><span><br>isready'</span><span>判断设备是否准备就绪</span><span><br>isRootFolder'</span><span>是否是根目录</span><span><br><br>11</span><span>、</span><span>for</span><span>方法</span><span>1,</span><span>参数化时选择：</span><span>dtLocalSheet<br>Dim CountNum<br>CountNum=DataTable.GetSheet("Action1").GetRowCount<br>For i=0 to CountNum-1<br></span><span>－－－－</span><span>xunhuanti------<br>DataTable.GetSheet("Action1").SetNextRow&nbsp; &nbsp; //</span><span>使用</span><span>SetNextRow</span><span>方法</span><span><br>Next<br><br>12</span><span>、</span><span>for</span><span>方法</span><span>2</span><span>，参数化时选择：</span><span>dtLocalSheet<br>dim countNum <br>countNum = DataTable.GetSheet("Action1").GetRowCount<br>For i=1 to countNum<br>DataTable.GetSheet("Action1").SetCurrentRow(i)&nbsp;&nbsp;//</span><span>使用</span><span>SetCurrentRow(i)</span><span>方法</span><span><br>―――ddd―――<br>next<br>13</span><span>、</span><span>while</span><span>方法</span><span>1</span><span>，参数化时选择：</span><span>dtLocalSheet<br>Dim CountNum,i<br>i=1<br>CountNum=DataTable.GetSheet("Action1").GetRowCount<br>While i&lt;=CountNum<br></span><span>－－－－－－</span><span>xuhuanti---<br>DataTable.GetSheet("Action1").SetNextRow<br>i = i+1<br>Wend<br><br>14</span><span>、</span><span>while</span><span>方法</span><span>2</span><span>，参数化时选择：</span><span>dtLocalSheet<br>Dim CountNum,i<br>i=1<br>CountNum=DataTable.GetSheet("Action1").GetRowCount<br>While i&lt;=CountNum<br><br>DataTable.GetSheet("Action1").SetCurrentRow(i)<br></span><span>－－－－</span><span>xuhuanti</span><span>－－－</span><span><br>i = i+1<br>Wend</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align=left><strong><span>第三部分</span></strong></p>
<p align=left><span>15</span><span>、</span><span>Do while</span><span>方法</span><span><br>Dim i,RowCount '</span><span>定义两个变量</span><span><br>i=0<br>RowCount=DataTable.GetSheet("Action1").GetRowCount '</span><span>设置</span><span>RowCount</span><span>等于</span><span>Action1</span><span>中的行数。</span><span><br>msgbox RowCount<br>Do while i&lt;rowcount<br>i=i+1 '</span><span>第一次进入循环，执行这句后，</span><span>i=1<br>'DataTable.GetSheet("Action1").SetCurrentRow(i)&nbsp;&nbsp;</span><span>这句话被我注释掉了，正确的写法应该是下面这样，分开写。</span><span><br><br>datatable.getsheet("Action1") <br>datatable.setcurrentrow(i)<br><br></span><span>－－－－</span><span>xunhuanti</span><span>－－－－</span><span><br>loop<br><br>16</span><span>、取对象属性（</span><span>Property</span><span>）值</span><span><br><br>Dim usname<br>usname =Browser("</span><span>测试登录</span><span>").Page("</span><span>办公自动化系统</span><span>").Frame("mainFrame_2").WebEdit("addressVO.name").GetRoProperty("Value")&nbsp; &nbsp;'</span><span>获取对象属性（</span><span>Property</span><span>）值，如</span><span>Property</span><span>为</span><span>Value<br>MsgBox usname<br><br>17</span><span>、取得要删除的</span><span>id</span><span>，并删除</span><span><br>'url</span><span>在查看该新增记录的信息页面对象中取得，所以录制的时候，登记，查看（修改），删除</span><span><br><br>Dim strUserid,id,strId<br><br>&nbsp; &nbsp;&nbsp;&nbsp;id=Browser("</span><span>测试登录</span><span>").Page("</span><span>办公自动化系统</span><span>").Frame("mainFrame_4").GetROProperty("url") '</span><span>在</span><span>url</span><span>这个属性值中存在我需要删除记录的</span><span>ID</span><span>信息</span><span><br>&nbsp;&nbsp;strId=Mid (id,instr(60,id,"=")+1)&nbsp;&nbsp;'</span><span>这一步是把需要的</span><span>id</span><span>值取了出来，例如：</span><span>strId=Mid (id,instr(1,id,"=")+1)<br>&nbsp; &nbsp;&nbsp;&nbsp;strUserid =strId&nbsp;&nbsp;'strUserid</span><span>是我要删除的记录前的复选框属性值当中的</span><span>ID</span><span>信息</span><span><br>Browser("</span><span>测试登录</span><span>").Page("</span><span>办公自动化系统</span><span>").Frame("mainFrame").WebCheckBox("value:="&amp;strUserid).Set "ON" </span><span>这样就把想删除的记录选中了。</span><span><br>Browser("</span><span>测试登录</span><span>").Page("</span><span>办公自动化系统</span><span>").Frame("mainFrame").WebButton("</span><span>删</span><span> </span><span>除</span><span>").Click '</span><span>这样就删除掉啦，呵呵</span><span><br><br>17.2</span><span>通过数据库取得</span><span>id</span><span>值，并赋值进行删除</span><span><br><br>Browser("</span><span>测试登录</span><span>").Page("</span><span>办公自动化系统</span><span>").Frame("mainFrame_2").WebEdit("addressVO.name").Set DataTable("p_Text", dtGlobalSheet)<br>Browser("</span><span>测试登录</span><span>").Page("</span><span>办公自动化系统</span><span>").Frame("mainFrame_2").WebEdit("addressVO.address").Set DataTable("p_Text1", dtGlobalSheet)<br><br>Browser("</span><span>测试登录</span><span>").Page("</span><span>办公自动化系统</span><span>").Frame("mainFrame_2").WebEdit("addressVO.unitTel").Set DataTable("p_Text2", dtGlobalSheet)<br><br>Dim xname,address,unitTel<br>xname=DataTable("p_Text", dtGlobalSheet)&nbsp; &nbsp;'</span><span>从</span><span>datatable</span><span>中取值</span><span><br>address=DataTable("p_Text1", dtGlobalSheet)<br>unitTel=DataTable("p_Text2",dtGlobalSheet)</p>
</span>
<img src ="http://www.cnitblog.com/chenxin9821/aggbug/45802.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/chenxin9821/" target="_blank">金鳞</a> 2008-06-17 10:41 <a href="http://www.cnitblog.com/chenxin9821/articles/45802.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>