51Testing软件测试论坛
标题:
终于搞定了,分享代码
[打印本页]
作者:
TANCH
时间:
2006-6-9 17:35
标题:
终于搞定了,分享代码
在各位论坛朋友的帮助下,我终于如期搞定了这个CASE。
大概内容是,建立日志文件,从配置文件中读取参数,并将相关参数赋值到QTP的脚本中,调用外部TCL程序发包验证,最后写日志。
此过程感谢论坛里的各种精华帖,以及各位朋友,xiaonan斑竹。
'Creat log 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
'Reading parameter from config 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").Select LanMode
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 by IXIA,the rule would to 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
'If warnning windows will 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 the log, 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
坚决鼓励!希望大家都能够共享自己的经验,共同进步!
作者:
marry120
时间:
2006-6-12 17:54
顶一下
作者:
BiSheng
时间:
2006-6-14 17:11
谢谢楼主的无私!也顶一下!
作者:
xiasan2004
时间:
2007-11-15 16:25
强人啊 。这个是什么意思啊?
能不能讲讲啊
初学不知道这段代码的一些函数是什么东西啊??
作者:
tianmawlm
时间:
2007-11-15 16:58
学习
作者:
caodongjian
时间:
2007-11-15 17:14
虽然还看不明白.但还是要顶的
作者:
danmy
时间:
2007-11-16 09:24
呵呵,lz的代码不够通用啊。
config文件通过Execute strText 来赋值也太危险了点。
作者:
wzdoxu
时间:
2007-11-16 15:46
谢谢楼主的无私精神,楼主能不能说说上诉代码在QTP中正确运行需要注意什么,以及怎样才能保证正确运行啊!
上述代码直接在QTP运行通不过。
作者:
songyq521
时间:
2007-11-19 10:48
ding and up
作者:
rivermen
时间:
2007-11-19 11:06
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
作者:
jenvee
时间:
2009-5-16 21:01
study share thx
作者:
nekkst
时间:
2009-8-18 14:45
执行会出错。。。。。。。。。。。。。。。。
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
还有个问题:
config.txt是自己手写的吧。
我在里面写了2个地址:
lan_ip:192.168.1.12
wan_ip:10.40.3.12
作者:
nekkst
时间:
2009-8-19 13:11
没有人解答吗?
作者:
heqingbluesky
时间:
2009-8-20 15:12
把写日志的功能作为一个Function来使用,这样比较方便。
作者:
zero0223
时间:
2009-8-20 15:42
作者:
zero0223
时间:
2009-8-20 15:56
好坟!
作者:
独一无二
时间:
2009-8-20 17:51
不错啊
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2