whoamiyaya 发表于 2009-6-17 16:33:35

如何验证html source里的某段语句

比如我测一个web page,然后我view source,我想check一下这个html source里某一两句东东是否和预期的一样,该怎么做呢?我只知道checkpoint里有check某段page表面的文字,但是因为文字可能还包括链接等,所以我想qtp应该可以去验证html source里的某段东西是不是正确吧?高手指教哈!

dreamever 发表于 2009-6-17 16:47:39

好象自动化测试不是这么用的……要是真这么干的话,我宁肯直接去项目的源文件中去读取那些jsp文件

wugecat 发表于 2009-6-17 17:00:57

好像不行啊.....你也说了QTP是检查html表面文字,但是到了html source里就不算表面的文字了,是属性了

whoamiyaya 发表于 2009-6-17 17:12:38

那比如我要验证页面上有这么一段东西(比如就我们当前这个页面):
51Testing软件测试论坛 » »

我想一下子验证字和链接是否正确,我的想法是验证这段东东的html source是否和我预期的一样……不知有没有办法……因为以前我用过一个开源的自动化工具selenium,可以很方便的做这个。。。

lvguobin 发表于 2009-6-17 17:47:14

以google主页的html source为例
Set XmlHttp=CreateObject("MSxml2.XMLHTTP")
XmlHttp.Open "GET","http://www.google.cn",false
XmlHttp.Send
a=XmlHttp.ResponseText

把a然后writeline保存到一个txt文件里

''''txt读某行的函数

Public Function R_file(path,hangshu)
Dim fso
set fso=CreateObject("Scripting.FileSystemObject")
set file=fso.opentextfile(path,1)
For i=1 to hangshu-1 step 1
file.skipline
next
R_file=file.readline
file.close
set fso=nothing
End Function
''''例如读第二行
a=R_file("c:\a.txt",2)
然后用正则表达式去对比
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches      ' 创建变量。
Set regEx = New RegExp         ' 创建正则表达式。
regEx.Pattern = patrn          ' 设置模式。
regEx.IgnoreCase = True         ' 设置为不区分大小写。
regEx.Global = True         ' 设置全局适用。
Set Matches = regEx.Execute(strng)   ' 执行搜索。
For Each Match in Matches      ' 对 Matches 集合进行迭代。
    RetStr = RetStr & "Match found at position "
    RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
    RetStr = RetStr & Match.Value & "'." & vbCRLF
Next
RegExpTest = RetStr
End Function
RegExpTest("写入你预期的htmlsource", a)

wugecat 发表于 2009-6-17 17:49:47

这个简单啊...插个检查点,设置成检查文字和链接不就完了.........QTP很好实现,这个最基本了,看看帮助吧
页: [1]
查看完整版本: 如何验证html source里的某段语句