QTP录制过程中遇到日历这种时间控件的解决办法

 今天在录一个脚本中遇到了一个小难题-------->日历控件。

操作步骤:点击一个文本框,触发日历控件弹出,选择时间日期,自动输入到文本框中。录完的脚本里根本没有记录。意味着QTP根本没有识别这个控件。

先百度了好久,看了一些论坛上的大神遇到这种问题的解决办法。

其中有告诉直接用Object.Value=""的,我试了一下,没成功。

Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebEdit("birthday").Object.Value="2009-12-11"

&

Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebEdit("birthday").disabled=false
Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebEdit("birthday").Set"2009-12-11"

试了几种方法都不行。之后得高人指点,首先要在QTP的Options里的web里的Active X Check勾选上。

之后再录了一遍,不过我边录边看QTP操作,我直接点选日期没一点反应,倒是我点日历控件下面的今天按钮,倒是QTP给录上了

但是我之后回放的过程中,还是在这里卡壳了,回放并没有点击出控件,而是在文本框这停住了。

因为这是一个点击事件。需要点击后激活控件。之前是做的焦点,我试着把程序里"onfocus”改为"onclick"

又回放一遍,哈哈成功了!大笑

至此,这个录制日历控件的工作暂告一段落,唯一留点小遗憾的是日期那个点选不起作用。留待以后解决,有高手有这方面经验的也请指点下。

 

-------------------------------------------------日期---------------------------------------------------------------------分割线

今天我又改动了下,试了下赋值语句。

欣喜的告诉大家:

Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebEdit("birthday").Object.Value="2009-12-11"

这个语句可以用。可以对其中的时间做一参数化。

下面附上我参数之后的脚本

Dim i '定义行号

 

Browser("xxxxxx").Page("xxxxxx").WebEdit("sysUser.usrName").Set "admin"
Browser("xxxxxx").Page("xxxxxx").WebEdit("sysUser.usrPassword").SetSecure "4ee5c7ca589962f8d39ecb6e1449e71b53fc"
Browser("xxxxxx").Page("xxxxxx").Image("01").Click
Browser("xxxxxx").Page("xxxxxx").Frame("menu").Link("权限管理").Click
Browser("xxxxxx").Page("xxxxxx").Frame("menu").Link("老师表维护").Click

For i=1 to  datatable.GetSheet("Action1").getrowcount   '做一个录入老师信息的输入循环

 


Browser("xxxxxx").Page("xxxxxx").Frame("text").Link("添加教师信息").Click
Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebEdit("teacherId").Set DataTable("teacherid", dtLocalSheet)
Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebEdit("name").Set DataTable("teachername", dtLocalSheet)
Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebRadioGroup("sex").Select DataTable("teachersex", dtLocalSheet)
Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebEdit("birthday").Object.Value=DataTable("StarDate" ,dtLocalSheet) '由于这一句是我写的,所以手写了日期的参数化
Browser("xxxxxx").Page("xxxxxx").Frame("text_2").WebButton("WebButton").Click
datatable.GetSheet("Action1").setnextrow '进入Data Table 里的下一行
Next
Browser("xxxxxx").Page("xxxxxx").Frame("text_3").WebEdit("teacherId2").Set "t001"
Browser("xxxxxx").Page("xxxxxx").Frame("text_3").WebButton("WebButton").Click
Browser("xxxxxx").Page("xxxxxx").Frame("topFrame").Image("点击退出").Click
Browser("xxxxxx").Dialog("来自网页的消息").WinButton("确定").Click
Browser("xxxxxx").Page("xxxxxx_2").Sync
Browser("xxxxxx").Close

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值