ࡱ> LNK @ nbjbj %4؝؝n:::::::rrrrL$:!L::::B[o  $("Rz$ :{{{ :::: {^:::: { :c,::: ehTsrR $ !0:!.%+%N$r::::n%:5 `{{{  N $ N COM Interface for Telnet to UNIX and Linux A little bit of history A while back I had to automate a Client/Server application and execute quite a few UNIX commands on a backend. After trying several things, like PuTTY, TE Add-in, Exceed, etc., I made a choice to use Exceed. It worked decent enough, but it was a complicated solution. I had to use "Capture to File" feature and then parse the file. A couple years later I was working on a performance test for Telnet interface and I needed to use WinSock protocol to create a LoadRunner script. It got me thinking - Are there any WinSock COM interface I can use in QTP? My goal was to connect to Unix/Linux box bypassing external applications and execute scripts on locked boxes. Another reason was that QTP has problems with GetVisibleText method. This is from QTP 9.5 Readme: On Windows Vista 32-bit or any 64-bit operating system, QuickTest text recognition features (such as text checkpoints and output values, GetVisibleText and GetTextLocation test object methods, and TextUtil.GetText and TextUtil.GetTextLocation reserved object methods) are limited and are not always reliable. After several unsuccessful attempts I finally found w3Sockets Dll which satisfied my needs. It is a free download from Dimac Development -  HYPERLINK "www.dimac.net" www.dimac.net W3Sockets DLL w3Sockets properties and methods: COM Object - socket.tcp Buffer : HYPERLINK \l "Buffer"String DoTelnetEmulation : HYPERLINK \l "DoTelnetEmulation"Boolean Host : HYPERLINK \l "Host"String TelnetEmulation : HYPERLINK \l "TelnetEmulation"String TimeOut : HYPERLINK \l "TimeOut"Integer Close() : GetLine() : String GetText( HYPERLINK \l "GetText"len ) : String Open() : SendLine( HYPERLINK \l "SendLine"Line ) : SendText( HYPERLINK \l "SendText"text ) : Wait() : WaitFor( HYPERLINK \l "WaitFor"Substring ) : Boolean WaitForDisconnect() :  The full W3Sockets reference is located at:  HYPERLINK "http://www.dimac.net/Products/FreeProducts/w3Sockets/Reference/Refstart.htm" http://www.dimac.net/Products/FreeProducts/w3Sockets/Reference/Refstart.htm You need to download this Dll and register it using SocketReg.exe included in a zip file. Note: Readme said that you need to download winsock2 - ignore it. Example of Use: This function will connect to Unix/Linux box via Telnet, navigates to TestDirectory, executes grep command and returns grep results Function w3Socket_Example() Dim NavDirPrompt: NavDirPrompt = "TestDitectory]$" Dim w3sock Set w3sock = CreateObject("socket.tcp") w3sock.timeout = 5000 w3sock.DoTelnetEmulation = True w3sock.TelnetEmulation = "TTY" w3sock.Host = myserver:23" ' server name and port w3sock.Close w3sock.Open ' Open connection w3sock.WaitFor "login:" ' wait for Login prompt w3sock.SendLine "myusername" ' send username w3sock.WaitFor "Password:" ' wait for Password prompt w3sock.SendLine "mypassword" ' send password w3sock.WaitFor "$" ' wait for $ prompt Print "Initial prompt: "& w3sock.Buffer ' retrieve data w3sock.SendLine "cd /home/default/TestDitectory" ' change directory If w3sock.WaitFor(NavDirPrompt)<>True Then ' wait for TestDirectory prompt Reporter.ReportEvent micFail,"cd command,"Prompt: & NavDirPrompt &" not found. w3sock.Close ' Close connection Set w3sock = Nothing Exit Function End If w3sock.SendLine "grep "Hello world" *.xml" ' send grep to search for xml files with "Hello world" w3sock.WaitFor NavDirPrompt ' wait for Stub Directory prompt w3Socket_Example =w3Sock.Buffer ' return results w3sock.Close ' Close connection Set w3sock = Nothing End Function You can also find some examples on Web:  HYPERLINK "http://www.tek-tips.com/viewthread.cfm?qid=938038&page=3" http://www.tek-tips.com/viewthread.cfm?qid=938038&page=3  HYPERLINK "http://www.mediamonkey.com/forum/viewtopic.php?t=21124" http://www.mediamonkey.com/forum/viewtopic.php?t=21124 !$*+,-D}n o  ? wi[I[#h,hb5CJOJQJ^JaJhbCJOJQJ^JaJhACJOJQJ^JaJhCqCJOJQJ^JaJh,CJOJQJ^JaJhG5OJQJ\^JhGCJOJQJ^JaJ#hGmhGm5CJOJQJ^JaJhG5CJOJQJ^JaJhz: 5CJOJQJ^JaJho5CJOJQJ^JaJ#hGmhG5CJOJQJ^JaJ+,-EF $ o " ? u w 0 1 2 @ A c d !!v:!v:!!v:!v:!v:!v:!v:!v:!v:!v:!Z!v:!v:!v:!v:!v:!v:!!v:!v:!v:Xdd[$\$^Xgdb1$7$8$H$ $1$7$8$H$a$gdGmn?    1 u v    ! . / 2 @ d 罯iVIhG5OJQJ\^J$hGmhG0JCJOJQJ^JaJ/jhGmhG)CJOJQJU^JaJ#jhGmCJOJQJU^JaJhNCJOJQJ^JaJhGmCJOJQJ^JaJhGCJOJQJ^JaJhbCJOJQJ^JaJ6hbhb56B* CJOJQJ\aJmH phfsH 0hbhb6B* CJOJQJaJmH phfsH d q { | } 6<=ؾ汣汣i汣L汣8jhbh\5B*CJOJQJU\^JaJph8jShbh\5B*CJOJQJU\^JaJph8jhbh\5B*CJOJQJU\^JaJphhbhG6B*]phhbhG<B*ph2jhbh\B*CJOJQJU^JaJphhbhGm5B*\phhbhG5B*\phhb5B*\phd | vwxyzQR\!v:!v:!v:!v:!v:!v:!v:!v:!v:!!!v:!v:!v: dd1$7$8$H$ 1$7$8$H$gdGm7kd$$If fp4  a & Fdd$1$7$8$H$IfgdGm=>H_fghrstȺ՝ՒxՒ^ȺՒDՒ2ju hbh\B*CJOJQJU^JaJph2j hbh\B*CJOJQJU^JaJph2jhbh\B*CJOJQJU^JaJphhbhGB*ph8jdhbh\5B*CJOJQJU\^JaJphhbhG6B*]phhbhG<B*phhbhG5B*\ph8j hbh\5B*CJOJQJU\^JaJph&'(1HQ]^_uw˽ز˽ز~زd˽زJFhG2j<hbh\B*CJOJQJU^JaJph2jhbh\B*CJOJQJU^JaJph2jhbh\B*CJOJQJU^JaJph2j+hbh\B*CJOJQJU^JaJphhbhGB*phhbhG6B*]phhbhG<B*phhbhG5B*\ph2j hbh\B*CJOJQJU^JaJphwxzOPQRlm@A[\]^bcxy}~ӅsohӅӅӅӅӅӅ hG5\hG#h 'h '5CJOJQJ^JaJ hGmhGmCJOJQJ^JaJ$hGmhG0JCJOJQJ^JaJ/jhGmhG)CJOJQJU^JaJ#jhGmCJOJQJU^JaJ hGmhGCJOJQJ^JaJh 'CJOJQJ^JaJhGmCJOJQJ^JaJ"   #?pq<=h̺|n```OOOO hGmhGmCJOJQJ^JaJhPCJOJQJ^JaJh >CJOJQJ^JaJ hGmhACJOJQJ^JaJhGCJOJQJ^JaJhACJOJQJ^JaJ hGmhGCJOJQJ^JaJ#hGmhA5CJOJQJ^JaJhG5CJOJQJ^JaJ#hGmhG5CJOJQJ^JaJ#hGmhGm5CJOJQJ^JaJ  #Cb+d<=")!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:1$7$8$H$`gdA 1$7$8$H$gdGm)*TUfg45BCkl345klzgOg/jh+h+CJOJQJU^JaJ$h+h+0JCJOJQJ^JaJ/jh+h+CJOJQJU^JaJ#jh+CJOJQJU^JaJh+CJOJQJ^JaJhGCJOJQJ^JaJ#hGmhG5CJOJQJ^JaJhA5CJOJQJ^JaJhACJOJQJ^JaJ hGmhGCJOJQJ^JaJ)*45BCkn!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:!v:1$7$8$H$P1$7$8$H$^`PgdA 1$7$8$H$gdGm lmn h+h+CJOJQJ^JaJ,jhhN<CJOJQJU^JaJ#0P/ =!"#$%DyK Fwww.dimac.net[Dd >  # A"2W{2ZXC`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >  # A"2W{2ZXC<`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >  # A"2W{2ZXC`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >  # A"2W{2ZXC`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >  # A"2W{2ZXCM`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >  # A"2W{2ZXC`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >  # A"2W{2ZXC `!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >  # A"2W{2ZXC^ `!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >   # A "2W{2ZXC `!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >   # A " 2W{2ZXC `!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >   # A " 2W{2ZXCo`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >   # A " 2W{2ZXC`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >   # A " 2W{2ZXC%`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wU[Dd >  # A" 2W{2ZXC`!W{2ZXCNtkxcdd``a 2 b31i&w @&(220p_pQ8#ؔL< s`#bbb VN+VN-LcbPgPL@wUd$$If!vh5p#vp:V  ,5p/ 44  DyK yK http://www.dimac.net/Products/FreeProducts/w3Sockets/Reference/Refstart.htmDyK yK rhttp://www.tek-tips.com/viewthread.cfm?qid=938038&page=3DyK yK nhttp://www.mediamonkey.com/forum/viewtopic.php?t=21124[Dd > A # A"2]zt!\CÑS%=( `!]zt!\CÑS%=(RRkxcdd``a 2 b31iف?L Ped`ҿ0qF)x@F0WZŠa@@@ NormalCJ_HaJmH sH tH DA@D Default Paragraph FontRi@R  Table Normal4 l4a (k@(No List F^@F G Normal (Web)B*CJ aJ ph>O> Grvts1105B*CJ \aJ ph6U@6 Gm Hyperlink >*B*phFV@!F  >FollowedHyperlink >*B* phn 4 !z zzn-+,-EF$o"?uw012@Acd|vwxyzQR # C b + d < =  " ) * 45BCkp00000000 00000x0x000000000 0 00 00 0 00000000000000 00000 0000 00 00 000000000 00 00 00 000000h0+,-EF$uw012@Acd|vwyQR # C b + d < =  " ) * 45BCkp;00;00;00;00;00;00;00;00;00Z@00 ;00;00;00;00;00;00;00;00;00;00;00;00 ;00 ;00;00;00;00;00;00;00;000000000000000 000000 00 000 00 00 0 00(0 00 00(0 00 00 0? d =wln d )n n .Ok4knXXXX8@0(  B S  ?n _Hlt202105938_PictureBulletslp@mp?12ulmp?t y | [ ] lmp::::!$-Fnov/d{||}<>fhrt&(]_uwxyzP# C p q  ) 5Bkmplmp-`9[xqoUT\Gmc~Aob\+Ndvwp@((؃((@{n@UnknownG:Ax Times New Roman5Symbol3& :Cx Arial7& [ @Verdana"hF[FM! M! xxgg2Q?T\)COM Interface for Telnet to UNIX or Linuxigor.gershovichIgor  Oh+'0 (4 P \ ht|,COM Interface for Telnet to UNIX or Linuxigor.gershovichNormalIgor15Microsoft Word 10.0@ @ށE@ZTsM! ՜.+,D՜.+,h$ hp  Connected Testingg ,COM Interface for Telnet to UNIX or Linux Title 8@ _PID_HLINKSAl>~ 7http://www.mediamonkey.com/forum/viewtopic.php?t=21124J9http://www.tek-tips.com/viewthread.cfm?qid=938038&page=3&/Lhttp://www.dimac.net/Products/FreeProducts/w3Sockets/Reference/Refstart.htmwww.dimac.net  !"#$%&')*+,-./0123456789:<=>?@ABMPQRoot Entry F@Ȑ7OData #1Table(0%WordDocument%4SummaryInformation(;DocumentSummaryInformation8CompObjj   FMicrosoft Word Document MSWordDocWord.Document.89q՜.+,D՜.+,h$ hp  Connected Testingg ,COM Interface for Telnet to UNIX or Linux Title 8@ _PID_HLINKSAl>~ 7http://www.mediamonkey.com/forum/viewtopic.php?t=21124J9http://www.tek-tips.com/viewthread.cfm?qid=938038&page=3&/Lhttp://www.dimac.net/Products/FreeProducts/w3Sockets/Reference/Refstart.htmwww.dimac.net