51Testing软件测试论坛

标题: 自动化测试如何生成文本日志? [打印本页]

作者: yinhuanping    时间: 2014-9-2 10:52
标题: 自动化测试如何生成文本日志?
代码是这样的
Dim fsol, MyFileSet
fsol = CreateObject("Scripting.FileSystemObject")
系统错误提示Run Error:
对象不支持此属性或方法"fsol=CreateObject("Scripting.FileSystemObject")"
请教如何解决?
作者: 赵佳乐SMILE    时间: 2014-9-4 09:56
我这也提示这个

FSO是FileSystemObject 或 Scripting.FileSystemObject 的缩写,为 IIS 内置组件,用于操作磁盘、文件夹或文本文件。

不知道是不是要装IIS啊
作者: 赵佳乐SMILE    时间: 2014-9-4 09:57
建议你还是换其他的方式吧
作者: 黑羽祭    时间: 2014-9-15 15:38
本帖最后由 黑羽祭 于 2014-9-15 15:39 编辑

文本日志的话是要写入文本是吧
在QTP中,经常会遇到需要写入外部文件的地方,比如写Log什么的,这时,可以使用下面代码进行写Txt操作。
  1. '新建文件
  2. Dim FSO
  3. Const ForReading=1,ForWriting=2,ForAppending=8 '参数赋值(1:只读,2:只写,8:追加)
  4. Set FSO = CreateObject("Scripting.FileSystemObject") '创建一个文本对象

  5. Dim txtPath
  6. txtPath = "D:\log.txt"
  7. FSO.OpenTextFile txtPath,8,true 'true表示如果当前目录下不存在log.txt文件则创建一个。

  8. '写文件
  9. Call QTP_Writetxt(txtPath,"我是追加")
  10. Call QTP_Writetxt2(txtPath,"我是改写")
复制代码
然后是两个函数:
  1. '===========================================
  2. '写文件函数(追加)
  3. '===========================================
  4. Public Function QTP_Writetxt(oPath,words)
  5. Dim FSO
  6. Set FSO = CreateObject("Scripting.FileSystemObject")
  7. Set logFile = FSO.OpenTextFile(oPath, 8, true)

  8. logFile.WriteLine (CStr(words))
  9. logFile.Close

  10. Set logFile = Nothing
  11. Set FSO = Nothing
  12. End Function

  13. '===========================================
  14. '写文件函数(改写)
  15. '===========================================
  16. Public Function QTP_Writetxt2(oPath,words)
  17. Dim FSO
  18. Set FSO = CreateObject("Scripting.FileSystemObject")
  19. Set logFile = FSO.OpenTextFile(oPath, 2, true)

  20. logFile.WriteLine (CStr(words))
  21. logFile.Close

  22. Set logFile = Nothing
  23. Set FSO = Nothing
  24. End Function
复制代码
除了直接打印之外,我还会加上写html语句,然后新建文件的后缀名也改成.html,这样,保存的文件就是一个网页啦,可以写入超链接,颜色,插入图片等等一系列动作。
这样,一个打印就可以做到图文并茂啦~




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