File – test setting 配置 转载

上一篇 / 下一篇  2011-07-13 15:13:12

File – test setting-Environment属性

如何利用好qtp环境变量(转载)

By zzxxbb112 | Published: 20110419

qtp自动化测试过程中,经常会需要一些预先的配置信息文件来用于不同的测试环境下。环境变量也就这样应运而生了。在qtp中存在着两种类型的环境变量:

 

•内置环境变量

•自定义内部环境变量

•自定义外部环境变量

 

内置环境变量

 

介绍:它是qtp内部已经事先封装好.

 

方式:直接进入到Settings> Environment中选择built-in选项即可查询到所有的内置环境变量。并且这些环境变量的值都是qtp已经封装好的。

 

举例:Msgbox Environment.Value(TestName)

 

结果:直接可以获取到当前测试脚本名称。

 

自定义内部环境变量

 

介绍:它是qtp中的一种可以在qtp内部进行自定义的环境变量

 

方式:直接进入到Settings> Environment中选择User-defined选项,点击旁边的”+”,即可定义namevalue

 

举例:Msgbox Environment.Value(“自定义名称”)

 

结果:直接可以获取到当前自定义环境变量的值

 

自定义外部环境变量

 

介绍:直接从xml格式文件中进行读取环境变量

 

方式:进入Settings> Environment中选中Load variables and values from external file并给出xml的文件路径

 

举例:xml文件

 

<Environment>

<Variable>

<Name>Url</Name>

<Value>http://www.iquicktest.com</Value>

</Variable>

</Environment>

 

Msgbox Environment.Value(“Url”)

 

结果:直接打印结果为http://www.iquicktest.com

 

注意:环境变量中的属性名是大小写敏感的,必须要注意。

 

File – test setting-resource属性

 

 QTP加载外部文件函数VBS,三种方法比较

  方式1Executefile

  方式2:加到QTPResorece

  方式3ExecuteGlobal方法

  在比较之前先简明叙述一下使用方法,以给初学者由浅入深的理解

  比如我们有一个函数Terry.vbs放在了C:盘下,其中有如下函数(获取本机的IP地址):

Function GetIPAddr()

Set bjWMI = GetObject("winmgmts://./root/cimv2")

Set colIP = objWMI.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each IP In colIP

temp = IP.IPAddress(0)

Exit For

Next

GetIPAddr = temp

End Function

 

 

 方式1的使用方法:

  直接在QTP中打:

  Executefile "c:\Terry.vbs"

  随后就可以引用wally.vbs中的任意函数了,如msgbox GetIPAddr()

  方式2的使用方法:

  点击QTP菜单的File->Settings->Resources,之后添加Terry.vbsQTPresource

  随后就可以引用Terry.vbs中的任意函数了,如msgbox GetIPAddr()

  方式3的使用方式:

  ExecuteGlobalVBS的函数而非QTP特有的函数,ExecuteGlobal的功能可以引入其它vbs文件的函数,就和C++includeJavaimport一样。使用范例:

  dim fso : set fso = createobject("scripting.filesystemobject")

  executeglobal fso.opentextfile("c:\Terry.vbs", 1).readall

  set fso = nothing

  大家可以看到其实它是把Terry.vbs全部读入内存中

  随后就可以引用Terry.vbs中的任意函数了,如msgbox GetIPAddr()

  下面是一些我使用中的心得:

  方式1Executefile的好处:

  QTP可以使用这个函数方便了自己写语句来引入函数,灵活性非常高

  方式1Executefile的缺点和解决方案:

  1.会使得QTP的语句执行的黄色指针工作异常,狂跳

  2.Debug很头疼。我以前的上周有一段经历,一个很小的Bug,调试的时候Step into不进正确的函数体,竟然跳到了一行空行。后来这个小Bug竟然足足花了我3整天的时间。这个应该是QTPBug,希望它后续的版本可以改进

  3.会莫名其妙的执行一些本不应该有的操作,大大降低QTP执行时间效率,之间屏幕在闪,但是不知道在执行些什么。我曾经遇到过这样的情况:任其自然执行,屏幕狂闪,执行了半小时;我单步执行,只花了5分钟执行完毕。可见这会使得原本就受质疑的QTPPerformance更受谴责

  解决方案:

  以上三点我找不出解决方案,属于Hp的严重Bug还是需要HP来完善

 

 

方式2:加到QTPResorece的好处:

  毕竟是QTP自带的引用外部VBS函数的,非常稳定

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-19  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 13303
  • 日志数: 17
  • 建立时间: 2011-06-30
  • 更新时间: 2011-11-14

RSS订阅

Open Toolbar