TANCH 发表于 2006-6-9 17:35:06

终于搞定了,分享代码

在各位论坛朋友的帮助下,我终于如期搞定了这个CASE。
大概内容是,建立日志文件,从配置文件中读取参数,并将相关参数赋值到QTP的脚本中,调用外部TCL程序发包验证,最后写日志。

此过程感谢论坛里的各种精华帖,以及各位朋友,xiaonan斑竹。


'Creatlog file
Dim LOGFile, fso, MyFile

LOGFile="C:\Log.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
'Whether judging file exists or not
If fso.FileExists(LOGFile) = False Then
          Set MyFile = fso.CreateTextFile(LOGFile, True)
         MyFile.Close
    end if

'Readingparameterfromconfig file
Dim CONFIGFile,objFSO,strText
Const ForReading = 1
CONFIGFile="C:\config.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(CONFIGFile, ForReading)
strText = objTextFile.ReadALL
objTextFile.Close
Execute strText
'Split the "Lan_Start_IP"
tmp1 = Split(Lan_Start_IP, ".")
lanip1 = tmp1(0)
lanip2 = tmp1(1)
lanip3 = tmp1(2)
lanip4 = tmp1(3)
'Split the "Wan_Start_IP"
tmp2 = Split(Wan_Start_IP, ".")
wanip1 = tmp2(0)
wanip2 = tmp2(1)
wanip3 = tmp2(2)
wanip4 = tmp2(3)

Browser("NETGEAR Router").Page("NETGEAR Router").Frame("contents").Link("Firewall Rules").Click
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe").WebButton("Add").Click
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebList("service_list").Select GW_SERVICE
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebList("fwout_action").Select GW_ACTION
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebList("fwout_laniptype").SelectLanMode
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebEdit("lan_start_ip1").Set lanip1
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebEdit("lan_start_ip2").Set lanip2
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebEdit("lan_start_ip3").Set lanip3
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebEdit("lan_start_ip4").Set lanip4
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebList("fwout_waniptype").Select WanMode
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebEdit("wan_start_ip1").Set wanip1
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebEdit("wan_start_ip2").Set wanip2
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebEdit("wan_start_ip3").Set wanip3
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebEdit("wan_start_ip4").Set wanip4
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebList("fwout_logging").Select Log_Mode
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebButton("Apply").Click

'Send the packet byIXIA,the rule wouldto be functioning normally.
SystemUtil.Run "tclsh.exe","main.tcl","C:\ixia\","open"
wait 10

If Browser("NETGEAR Router").Dialog("Microsoft Internet Explorer").exist Then
Browser("NETGEAR Router").Dialog("Microsoft Internet Explorer").WinButton("OK").Click
Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_2").WebButton("Cancel").Click
'Ifwarnning windowswill display ,write log file with " add runle failure"
        Set MyFile = fso.OpenTextFile(LOGFile, 8, True)
        MyFile.WriteLine("")
        MyFile.WriteLine(" " & Cstr(Now) & " ---------------------------------------------------------")
        MyFile.WriteLine("LOG Information!")
        MyFile.WriteLine("Add rule failure!")
        MyFile.Close
        Browser("NETGEAR Router").Page("NETGEAR Router").Frame("formframe_3").WebButton("Apply").Click
               else

'Write thelog, add rules success.
Set MyFile = fso.OpenTextFile(LOGFile, 8, True)
MyFile.WriteLine("")
MyFile.WriteLine(" " & Cstr(Now) & " ---------------------------------------------------------")
MyFile.WriteLine("LOG Information!")
MyFile.WriteLine("add rule success!")
MyFile.Close
End If

eightants 发表于 2006-6-10 01:02:20

坚决鼓励!希望大家都能够共享自己的经验,共同进步!

marry120 发表于 2006-6-12 17:54:48

顶一下

BiSheng 发表于 2006-6-14 17:11:23

谢谢楼主的无私!也顶一下!

xiasan2004 发表于 2007-11-15 16:25:20

强人啊 。这个是什么意思啊?
能不能讲讲啊
初学不知道这段代码的一些函数是什么东西啊??

tianmawlm 发表于 2007-11-15 16:58:35

:) :) :) :) 学习

caodongjian 发表于 2007-11-15 17:14:20

:Q :Q :Q 虽然还看不明白.但还是要顶的

danmy 发表于 2007-11-16 09:24:06

呵呵,lz的代码不够通用啊。
config文件通过Execute strText 来赋值也太危险了点。

wzdoxu 发表于 2007-11-16 15:46:05

谢谢楼主的无私精神,楼主能不能说说上诉代码在QTP中正确运行需要注意什么,以及怎样才能保证正确运行啊!
上述代码直接在QTP运行通不过。

songyq521 发表于 2007-11-19 10:48:08

ding and up

rivermen 发表于 2007-11-19 11:06:08

nothing new except read/write txt file
and use the function split,arrange the string to an array
any way thanks for your sharing

tanxiaojing3 发表于 2007-11-19 15:16:21

:)

jenvee 发表于 2009-5-16 21:01:02

study share thx

nekkst 发表于 2009-8-18 14:45:06

执行会出错。。。。。。。。。。。。。。。。
Execute strText--------------------->执行提示“语句未结束”
'Split the "Lan_Start_IP"
tmp1 = Split(Lan_Start_IP, ".")
lanip1 = tmp1(0)-------------------->提示“下标溢出”
lanip2 = tmp1(1)
lanip3 = tmp1(2)
lanip4 = tmp1(3)
'Split the "Wan_Start_IP"
tmp2 = Split(Wan_Start_IP, ".")
wanip1 = tmp2(0)
wanip2 = tmp2(1)
wanip3 = tmp2(2)
wanip4 = tmp2(3)

nekkst 发表于 2009-8-18 14:46:26

还有个问题:
config.txt是自己手写的吧。

我在里面写了2个地址:
lan_ip:192.168.1.12
wan_ip:10.40.3.12

nekkst 发表于 2009-8-19 13:11:41

没有人解答吗?

heqingbluesky 发表于 2009-8-20 15:12:53

把写日志的功能作为一个Function来使用,这样比较方便。

zero0223 发表于 2009-8-20 15:42:07

:victory: :victory:

zero0223 发表于 2009-8-20 15:56:32

好坟!

独一无二 发表于 2009-8-20 17:51:19

不错啊
页: [1]
查看完整版本: 终于搞定了,分享代码