对启用了ReadOnly属性的WebEdit控件无法使用Set方法赋值的处理办法
2013-07-04 14:59
260 查看
在测试web程序的时候,我们会遇到一些控件类型为WebEdit的控件,比如:日期为Webedit控件,但是它的赋值是通过一个日历控件选择日期进行赋值,且该Webedit内容为只读,不可直接输入,当我们在QTP中使用Set方法进行赋值的时候会报错,提示"Object is disabled",导致赋值失败,这个是由于该WebEdit的ReadOnly属性设置为true所致,如果我们要直接使用WebEdit的Set方法进行赋值时,我们可以通过以下几种方式实现Set的赋值操作.
方法1:使用对象自身接口进行赋值
Browser("xxx")Page("xxx").WebEdit("xxx").Object.value="需要设置的值"
方法2:使用Set方法赋值前,调用clearAttributes方法清除属性.
Browser("xxx")Page("xxx").WebEdit("xxx").Object.clearAttributes
Browser("xxx")Page("xxx").WebEdit("xxx").set "需要设置的值"
方法3:修改WebEdit对象运行时的readOnly属性值为False,然后再调用Set方法进行赋值
Browser("xxx")Page("xxx").WebEdit("xxx").Object.readOnly= false
Browser("xxx")Page("xxx").WebEdit("xxx").Set "需要设置的值"
以下是封装的一个修改readOnly属性,并进行赋值的函数
'**************************************************************
'功能:去除控件的只读属性(readOnly),并赋值,赋值后,还原readOnly属性
'参数:oWedEdit-WebEdit对象 ; SetValue - 需要设置的值
'**************************************************************
Function ReadOnlyWebEdit_SetValue(oWedEdit,SetValue)
Set WedEdit_Properties = oWedEdit.Object
'获取readOnly原属性值
Get_OldValue = WedEdit_Properties.readOnly
'判断readOnly原属性值是否启用
If Get_OldValue = true Then
'去除控件的只读属性
WedEdit_Properties.readOnly = false
'进行赋值
oWedEdit.set SetValue
'还原readOnly属性
WedEdit_Properties.readOnly = Get_OldValue
Else
oWedEdit.set SetValue
End If
End Function
方法1:使用对象自身接口进行赋值
Browser("xxx")Page("xxx").WebEdit("xxx").Object.value="需要设置的值"
方法2:使用Set方法赋值前,调用clearAttributes方法清除属性.
Browser("xxx")Page("xxx").WebEdit("xxx").Object.clearAttributes
Browser("xxx")Page("xxx").WebEdit("xxx").set "需要设置的值"
方法3:修改WebEdit对象运行时的readOnly属性值为False,然后再调用Set方法进行赋值
Browser("xxx")Page("xxx").WebEdit("xxx").Object.readOnly= false
Browser("xxx")Page("xxx").WebEdit("xxx").Set "需要设置的值"
以下是封装的一个修改readOnly属性,并进行赋值的函数
'**************************************************************
'功能:去除控件的只读属性(readOnly),并赋值,赋值后,还原readOnly属性
'参数:oWedEdit-WebEdit对象 ; SetValue - 需要设置的值
'**************************************************************
Function ReadOnlyWebEdit_SetValue(oWedEdit,SetValue)
Set WedEdit_Properties = oWedEdit.Object
'获取readOnly原属性值
Get_OldValue = WedEdit_Properties.readOnly
'判断readOnly原属性值是否启用
If Get_OldValue = true Then
'去除控件的只读属性
WedEdit_Properties.readOnly = false
'进行赋值
oWedEdit.set SetValue
'还原readOnly属性
WedEdit_Properties.readOnly = Get_OldValue
Else
oWedEdit.set SetValue
End If
End Function
相关文章推荐
- 使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
- 一步步学习SPD2010--第十四章节--在Web页面使用控件(1)--处理功能区和标签属性任务窗格
- 控件EditText的setOnEditorActionListener方法的使用
- android 基础控件(EditView、SeekBar等)的属性及使用方法
- VC6.0下不能自动完成类方法和属性的解决办法(vc6无法使用代码自动完成)
- 使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
- 如何在ASP.NET中制作Web用户自定义控件,并在aspx页面中使用它的方法和属性?
- 使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
- 一步步学习SPD2010--第十四章节--在Web页面使用控件(1)--处理功能区和标签属性任务窗格
- 使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
- IDEA插件变红web项目无法使用,解决方法
- 在doFilter方法中无法注入set方法 解决办法
- (转)UltraWebGrid使用指南 - 前台属性和方法(JavaScript用)
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- extjs中第一次访问有效,第二次访问出现部分组件无法显示的,动态改变组件的label值的方法,ExtJs中组件最好少使用ID属性(推荐更多使用Name属性)
- web页面中表单控件(如checkbox,select,radio等)的赋值回写的方法介绍
- Spring中使用Map、Set、List、数组、属性集合的注入方法配置文件
- MFC中使用SetWindowPos GroupBox遮盖内部控件问题解决办法
- Spring中使用Map、Set、List、数组、属性集合的注入方法配置文件
- 无法下载silverlight的应用程序,请查看web服务设置 的处理办法