首先建立一个工程web,工程位于d:\。然后新建一个Script,名为test。以“消费论坛”首页作为被测对象。选择插入Odject Data验证点,验证点的Name为Odject Data,Wait state根据情况设置,Expected result选择Pass。确定后选择HTMLDocument,HTMLTitle=消费论坛。然后在data test中选择Contents,再使用缺省设置确定后完成验证点的添加。这时在目录d:\web\TestDatastore\DefaultTestScriptDatastore\TMS_Scripts\vp下就会产生一个基线文件test.Object Data.base.grd,文件的内容即是插入验证点时所选Object的Contents。注意我们一定要做两处的修改:1、需要修改一下该验证点文件的内容,使其内容在实际运行中永远不会出现,即使该验证点永远不会通过,只有这样回放时才能生成保存实际Contents的grd文件,(可以直接打开验证点文件修改或在Robot的Asset pane中双击验证点以打开Grid Comparator修改此文件);2、由于验证点不通过时会在日志log中显示红色的Fail,则影响我们log日志观察,所以需要将其从log中去掉。则在脚本中验证点之前加入SQASuspendLogOutput即可,该验证点的结果便不会写入日志log中,然后再在验证点之后加上SQAResumeLogOutput以恢复输出日志log。当完成以上修改后,回放脚本时,当执行完验证点后,在d:\web\TestDatastore\TMS_Builds\Build 1.Build\Default.LogFolder\test.Log\vp目录下会生成两个grd文件,其中一个名为test.Object Data.exp.grd,保存Contents的预期值;另一个名为test.Object Data.act????.grd(?代表一个字母或数字,该文件的文件名每次运行脚本时都会不同,“act”后有随机的4位字母或数字),保存Contents的实际值。这样,在脚本中验证点后打开文件test.Object Data.act????.grd,即可读取Contents值,以控制脚本行为。我们使用API函数FindFirstFile,具体用法参见MSDN帮助(由于文件名中有4个随机字符,因此无法使用确切的Path来打开文件。)该函数可以在参数Path中使用通配符,即用“d:\web\TestDatastore\TMS_Builds\Build 1.Build\Default.LogFolder\test.Log\vp\test.Object Data.act*.grd”作为Path,该函数会在VP目录下搜索符合条件的文件,当找到第一个符合条件的文件后(由于VP目录下只有一个这样的文件,因此可用此函数),打开该文件并返回该文件的句柄,并将该文件的一些信息保存到一个结构体中。得到文件句柄后,可以用API函数ReadFile读取文件中的内容。当使用完该文件后,再用API函数FindClose关闭所打开的文件。这样的方法可以对“HTMLDocument,HTMLTitle=消费论坛”的Contents的获取。
浙公网安备 33010602011771号