终于搞定了,分享代码
在各位论坛朋友的帮助下,我终于如期搞定了这个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 坚决鼓励!希望大家都能够共享自己的经验,共同进步! 顶一下 谢谢楼主的无私!也顶一下! 强人啊 。这个是什么意思啊?
能不能讲讲啊
初学不知道这段代码的一些函数是什么东西啊?? :) :) :) :) 学习 :Q :Q :Q 虽然还看不明白.但还是要顶的 呵呵,lz的代码不够通用啊。
config文件通过Execute strText 来赋值也太危险了点。 谢谢楼主的无私精神,楼主能不能说说上诉代码在QTP中正确运行需要注意什么,以及怎样才能保证正确运行啊!
上述代码直接在QTP运行通不过。 ding and up nothing new except read/write txt file
and use the function split,arrange the string to an array
any way thanks for your sharing :) study share thx 执行会出错。。。。。。。。。。。。。。。。
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) 还有个问题:
config.txt是自己手写的吧。
我在里面写了2个地址:
lan_ip:192.168.1.12
wan_ip:10.40.3.12 没有人解答吗? 把写日志的功能作为一个Function来使用,这样比较方便。 :victory: :victory: 好坟! 不错啊
页:
[1]