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