Hi, 如果有任何想法与我沟通, 请用: lifr_nj 在 msn.com

Different QTP: GUI元素库:智能查找与批量输入

上一篇 / 下一篇  2012-08-26 22:01:34 / 个人分类:QTP

GUI元素库:智能查找与批量输入

SmartInput

SmartInput提供了无需指定元素类型就能查找Input元素的能力。还是以前面的login页面作为例子。

如果要得到Login name对应的edit box代码如下

Set bj = GUI_Html_GetElement(objContainer, "Login name", "WebEdit")

如果使用SmartInput代码如下

Set bj = GUI_SmartInput_Get(objContainer, "Login name")

SmartInput会按照下面的顺序依次查找element。如果最终没有找到,那么返回Nothing

"WebEdit", "WebList", "WebCheckBox", "WebRadioGroup", "WebFile"

对于单独的一个Input看上去意义不大。但是如果你面对一个具有几十个InputForm,那么结合FormInput在提高开发效率方面就有可观效果。

FormInput

FormInput提供批量读取/设置Forminput的值的方法。

对于企业应用程序,常常会有处理包含几十个InputForm的情况。如下例所示,这个界面包含16Input控件,而且这还只是一个Wizrd5个界面之一。

基本形式

对于这种情况,批量输入数据是很有意义的。比如设计下面一个接口。

GUI_FormInput(objContainer, nameValueMap, nameTypeMap)

调用代码如下

GUI_FormInput(objWizard, _

     "Activated=True; Name=xs; Schedule=Monthly; Day=31; Hour=2; Minute=32;Day#2=31; Hour#2=2; Minute#2=32",

     "Activated=JavaCheckBox; Name=JavaEdit; Schedule=JavaList; Day=JavaSpin; Hour=JavaSpin; Minute=JavaSpin; Day#2=JavaSpin; Hour#2=JavaSpin; Minute#2=JavaSpin")

相对于每一个Input控件逐个调用相应的查找函数,FormInput节省了的大量的代码。

利用SmartInput

GUI_FormInput(objWizard, _

     "Activated=True; Name=xs; Schedule=Monthly; Day=31; Hour=2; Minute=32;Day#2=31; Hour#2=2; Minute#2=32",

     "")

可以看到,第三个参数为空字符串,也就是不用指定Input的类型。因为所有的Input控件都被SmartInput支持。

返回已有值

另外,调用GUI_FormInput函数的时候,返回Input的值在某些情况下也是很有用的功能。实际上对于实现来说,在设置Input的值时,获取Input已有的值是很容易的。所以FormInput还会返回Form里所有Input的值,如下所示。

Set mapFormVal = GUI_FormInput(objWizard, _

     "Activated=True; Name=xs; Schedule=Monthly; Day=31; Hour=2; Minute=32;Day#2=31; Hour#2=2; Minute#2=32",

     "")


TAG:

liuzhijun401的个人空间 引用 删除 liuzhijun401   /   2012-08-30 13:27:08
5
 

评分:0

我来说两句

Open Toolbar