qtp录制时间控件不允许用户手动输入的解决办法

[前面的话]

一边学习qtp,一边用自己的项目试着写代码,而遇到一个问题就会让自己卡壳很久,这次也是这样的,在写好了登录代码以后,自己就试着写第一个预订机票的代码,但是到达输入出发城市和到达城市时,qtp就已经不能自动识别了,这个问题还好解决,但是到达输入出发时间的时候,又和输入城市的内容不太一样,这样就让我又困扰了很久,今天终于解决了着两个问题,写写笔记。

[遇到问题]

1,  qtp录制下拉菜单的时候,有一种下拉菜单是这样的:可以手动输入的WebEdit,这样的WebEdit,如果在录制的时候,识别不了应该怎么解决?比如我遇到的输入出发城市。读者如果还不理解可以去看看去哪网的机票预订的出发城市选择,就是那样的下拉菜单,是可以手动输入的。

2,  第二种就是标题所示的,不能手动输入的下拉菜单,也就是qtp录制时间控件不允许用户手动输入的解决办法。

[解决办法]

1,  对于第一个问题,其实比较简单,一般的读者在操作的时候,都习惯于选择下拉菜单中的某个选项,但是如果读者在录制的时候选择,一般qtp较难识别到,所以读者可以在录制的时候,不要直接选择下拉菜单,而选择手动输入,这样qtp就可以识别到读者的操作了。

代码一般为:Browser("XX").Page("XX").Frame("XX").WebEdit("WebEdit").Set "西安"

当然这个代码不是唯一的,有的系统是有红色部分,有的是没有的。读者自己试试。

2,  对于第二个问题,就是这个下拉菜单不能够输入任何东西,只能选择下面提供的选项,对于这个问题,解决办法:

l  将不能识别的时间控件添加到对象库中,操作步骤是:点击resources——选择object repositories ——点击object——点击add object to local。点击完add object to local这个以后, qtp会让你选择你要添加那个对象到对象库中,你就直接点击一下输入时间的那个框,也就是不能手动输入的那个框。

下图是显示resources的位置:

l  然后你在添加代码如下:Browser("XX").Page("XX").Frame("41").WebEdit("startDateText").Object.value="2013-10-11"

也有可能是这样的:

Browser("XX").Page("XX"). WebEdit("startDate").Object.value="2013-10-11"

为什么会有这两种的哪?读者可能会问,到底是那种,这主要看你在添加到对象库的时候,你的对象是什么样的。

比如我的是这样的:

下图1,对象名是:startDateText,所以我的代码中是WebEdit("startDateText")而不是WebEdit("startDate")。

PS:如果读者有兴趣测试一下去哪网的话就会发现代码就是WebEdit("startDate")这种情况。

下图2,显示的是,我的时间输入的WebEdit是在Frame("41")下面的,所以前面有一个Frame("41")。读者一定要看清楚自己不能输入的下拉菜单代码的设计结构,不一定要去看代码,在添加到对象库的时候就一定要看清楚。

l  如果你添加了,如果像验证一下,是否添加成功,可以在active screen中,点击录制不了的控件,也就是你要输入日期的下拉框,右键,点击view/add object就会弹出object selection窗口,如果里面的对象是你刚刚添加进对象库的,那么就说明添加成功了,如果不是那么就在添加一次。

[学习经验]

对于这次学习的经过,自己还是感觉挺失望了,毕竟花费了我较多的时间,但是从另一个角度我又学习很多知识。总之,以后对于这些操作,都要多动手,多动脑。

[感悟]

如果一个人尽可能做好能做的事情,那这个世界就一定会因为这件事情而变得更美好一点。

人只要奋斗,就会犯错。

TT

qtp录制时间控件不允许用户手动输入的解决办法的更多相关文章

  1. ActiveX控件注册不起作用的解决办法

    公司写了一个ActiveX打印插件.其中一个同事的电脑死活不能用.于是我就上网找办法 这位兄弟写的比较清晰. ActiveX交互时浏览器的设置以及ActiveX控件注册的检测 http://blog. ...

  2. 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke 解决办法

    增加IsHandleCreated 判断 if (this.IsHandleCreated) { this.Invoke(new EventHandler(delegate { ...... })); ...

  3. C# winfrom中Flash播放使用axShockwaveFlash控件设置透明XP出现白色背景解决办法,仿QQ魔法表情效果

    //播放时  图片周围有锯齿白边出现    反锯齿处理暂无解决办法. 如有大神 请给我留言 新Form    AllowDrop True 引用using System.IO; 拖1个Button p ...

  4. robotframe使用之时间控件

    robotframe使用之时间控件 正常的页面,时间控件会写在一个iframe里面,所以robotframework找不到对的ID或者xpath等. 要解决这个问题必选先显示iframe. 使用关键字 ...

  5. JSP页面中的精确到秒的时间控件

    技术:Struts1+jsp+MSql 需求:ncmgt网络监控系统中显示用户的操作日志,并且根据操作时间查询用户的详细操作记录.时间精确到秒 大致效果如下.上图! 大家可以清晰的看到.红色画线部分就 ...

  6. js实现时间控件

    <html><head> <title>时间控件</title></head><body > <input name=&q ...

  7. bootstrap-datetimepicker时间控件

    欢迎各种吐槽. 本人小前端,学习过程中,某日遇到做时间控件的需求,于是无休止的召唤了度娘,发现看不太懂.算是为自己做个笔记,也便于菜鸟级别的看的懂. 首先,我们看看点击选择时间的时候的展示页面吧 年  ...

  8. rf对时间控件的操作

    1.如何去掉readonly属性 前端对于时间控件的设置,有时是为了限制用户不能进行手动输入方式进行选择时间,避免在手动输入的时候超限或者输入格式不正确,导致一些不必要的验证麻烦,这是前端开发工程师就 ...

  9. C# 时间控件 竖直进度条 饼图显示 仪表盘 按钮基础控件库

    Prepare 本文将使用一个NuGet公开的组件来实现一些特殊的控件显示,方便大家进行快速的开发系统. 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台 ...

随机推荐

  1. Java CPU占用率高分析

    首先,通过top命令找出CPU占用率高的进程: 然后,通过ps -o THREAD,tid,time -mp 2066命令找出执行时间最长的线程的TID 将有问题的TID转为16进制格式: print ...

  2. iOS-防止向SQLite数据库中插入重复数据记录:

    原则:先检测该数据库的指定表中,是否已经存在我们要插入的这条数据记录,若已经存在,则不插入这条数据记录(即忽略此次插入操作),若尚不存在,才插入这条数据记录(即才执行此次插入操作) 我们这里使用的是F ...

  3. ASP.NET基础学习未整理随笔

    利用新建网站添加的项目可以改完代码直接刷新就行 提交到服务程序的表单一定要具有name.<input type="hidden"value="true"n ...

  4. C++虚基类的初始化

    #include<iostream> using namespace std; class Base{ public: Base(int sa) { a=sa; cout<<& ...

  5. ACM1004 Let the balloons fly

    These code is for the problem "Let the balloons Fly" in ACM 1004 which need deal with stri ...

  6. HRBUST 1819

    石子合并问题--圆形版 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 61(27 users) Total Accepted: 26( ...

  7. gulp压缩css和js

    压缩 css 代码可降低 css 文件大小,提高页面打开速度. 规律转换为 gulp 代码 找到 css/ 目录下的所有 css 文件,压缩它们,将压缩后的文件存放在 dist/css/ 目录下.一. ...

  8. 通过反射获取T.class代码片段

    说明 持久化框架MyBatis和Hibernate中我们多多少少都会自己取写工具类!但是我们一般都会处理结果集转换成持久化对象,但是我们都要使用类! 代码片段 abstract public clas ...

  9. SSH内存泄露及Spring Quartz问题

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://www.blogbus.com/anoxia-logs/34360203.html 问题的起因: 为客户开发了一个系统权 ...

  10. redis.conf 配置

    daemonize yes #以后台daemon方式运行redis pidfile "/var/run/redis.pid" #redis以后台运行,默认pid文件路径/var/r ...