51Testing软件测试论坛

标题: 为什么运行到红色代码部门就提示是无效过程或参数呢? [打印本页]

作者: suxinghe    时间: 2007-12-18 18:06
标题: 为什么运行到红色代码部门就提示是无效过程或参数呢?
'以代码方式启动浏览器并打开登陆首页
Sub use_login()
        Browser1 = "IE"
        StartURL = "http://at2.mangocity.com/TMC/index.jsp"
        If Browser1 = "IE" Then
                Set IE = Createobject("InternetExplorer.Application")
                IE.Visible = true
                IE.Navigate = StrartURL
        End If
End Sub


'创建一个日志文件
   Function CreateLog(message)
   Dim fso,filespec,filefolder,folder_path
   Dim CurrentDate,CurrentTime
   CurrentDate = Date
   CurrentTime = Time
   TestName = "Log"

   Set fso = createobject("scripting.FileSystemObject")

        '创建日志文件夹
        If Not(fso.FolderExists("D:\LOG")) Then
                Set filefolder = fso.createfolder("D:\LOG")
                 folder_path = filefolder.path
                 'msgbox(folder_path)
                Set filefolder = Nothing
        else
                folder_path = "D:\LOG"
        End If

        '创建日志文件
   filespec = folder_path&"\"&CurrentDate &TestName& ".txt"

   If not(fso.FileExists(filespec)) Then
                Set LogFile = fso.CreateTextFile(filespec, Forwriting, true)
                LogFile.writeline("#######################################################################")
                LogFile.writeline(CurrentDate  &  CurrentTime  &  "Test:"  &  environment.Value("TestName"))
                LogFile.writeline("#######################################################################")
                LogFile.close
                Set LogFile = Nothing
        else
                Set LogFile = fso.OpenTextFile(filespec, ForAppending, False)
                LogFile.writeline(CurrentDate  &  CurrentTime  &  " "  &  message)
                LogFile.close
                Set LogFile = Nothing
   End If
   Set fso = Nothing
End Function
作者: jinsen    时间: 2007-12-18 18:13
一个文件只能打开一次,想要变换形式再次打开,必须先关闭。
作者: jinsen    时间: 2007-12-18 18:15
对不起,看错了,请无视上述发言。
作者: jinsen    时间: 2007-12-18 18:22
Set LogFile = fso.CreateTextFile(filespec, Forwriting, true)
这句话就出错了。
Date = 2007/12/18
文件名是不能有"/"出现的。
作者: suxinghe    时间: 2007-12-18 18:26
可我确实生成了2007-12-18Log.txt日志文件

而且日期格式是2007-12-18这样的
作者: gy21st    时间: 2007-12-18 19:01
Set LogFile = fso.OpenTextFile(filespec, 8, False)

另外,Set LogFile = fso.CreateTextFile(filespec, Forwriting, true)这句也错了,没报错是因为把Forwriting当成False了。
再另外,你确信要unicode模式?

[ 本帖最后由 gy21st 于 2007-12-18 19:16 编辑 ]
作者: jinsen    时间: 2007-12-19 09:45
原来如此啊,受教了。
但是,在我本地我把Set LogFile = fso.CreateTextFile(filespec, Forwriting, true) 改变成
Set LogFile = fso.CreateTextFile(filespec, true) 一样有错啊。
我在debug的时候看到取出的Date的格式是"YYYY/MM/DD",而"suxinghe 发表于 2007-12-18 18:26"说"日期格式是2007-12-18",
这个是QTP的设置问题还是其他的问题呢?
作者: ZH_0211    时间: 2007-12-19 10:14
标题: 回复 1# 的帖子
我问个比较白痴的问题:
   为何我运行了你这段代码之后,得出的结果是通过啊?

    可是我在哪也看不到创建的日志文件在哪??为啥?????
作者: jinsen    时间: 2007-12-19 10:23
你有没有调用Function啊?
Call CreateLog("testestest")
作者: gy21st    时间: 2007-12-19 10:50
标题: 回复 7# 的帖子
日期的格式是和你机器中的regional settings中的格式一致的。VBScript对格式的设置支持比较少,没有VB的format函数,只有formatdatetime函数几个有限的格式。
所以说楼主的CurrentDate=Date然后用来做文件名的字符串也是很危险的。最好自己处理一下,得到类似20071219这样在文件名中合法的字符串。
作者: jinsen    时间: 2007-12-19 11:09
明白了,谢谢。
作者: suxinghe    时间: 2007-12-19 13:52
原帖由 gy21st 于 2007-12-18 19:01 发表
Set LogFile = fso.OpenTextFile(filespec, 8, False)

另外,Set LogFile = fso.CreateTextFile(filespec, Forwriting, true)这句也错了,没报错是因为把Forwriting当成False了。
再另外,你确信要unicode模式?


谢谢,这条语句我已经改过了,呵呵,不使用unicode码,可我还是不明白,为什么forappending不行,而换成8就可以了呢,这两者应该是等价的啊




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2