我是靠谱客的博主 娇气招牌,最近开发中收集的这篇文章主要介绍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

 

最后

以上就是娇气招牌为你收集整理的QTP录制过程中遇到日历这种时间控件的解决办法的全部内容,希望文章能够帮你解决QTP录制过程中遇到日历这种时间控件的解决办法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部