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. 将微服务注册到Eureka Server

    一.微服务程序编写 1.在已写好的微服务程序中添加pom依赖: <dependency> <groupId>org.springframework.cloud</grou ...

  2. bzoj1026 windy数 数位DP

    windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? Input 包含两个整数,A ...

  3. springcloud文章推荐

    有幸加入到springcloud中国社区,在这里获取到了不一样的技术,也接触到了不少的大牛! 这篇文章对于springcloud能否在企业中应用或者对springcloud想了解的人个人感觉写的非常好 ...

  4. 在Linux防火墙上过滤外来的ICMP timestamp

    ICMP timestamp请求响应漏洞 解决方案:  * 在您的防火墙上过滤外来的ICMP timestamp(类型13)报文以及外出的ICMP timestamp回复报文.     具体解决方式就 ...

  5. Mybatis 使用技巧总结

    9月 11, 2014 | Nix.Huang 目录: 1.区分 #{} 和 ${}的不同应用场景 2.spring环境用mybatis-spring 的接口而不是Mybatis的原生接口 3.返回M ...

  6. python基础--结构篇

    在C/C++/Java中,main是程序执行的起点,Python中,也有类似的运行机制,但方式却截然不同: Python使用缩进对齐组织代码的执行,所有没有缩进的代码(非函数定义和类定义),都会在载入 ...

  7. Computer(HDU2196+树形dp+树的直径)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2196 题目: 题意:有n台电脑,每台电脑连接其他电脑,第i行(包括第一行的n)连接u,长度为w,问你每 ...

  8. HDU 1002 A + B Problem II (大数加法)

    题目链接 Problem Description I have a very simple problem for you. Given two integers A and B, your job ...

  9. js中的apply、call、bind

    每个函数都包含两个非继承而来的方法,call()和apply(),可以改变函数内部this的指向 1.apply 用另一个对象替换当前对象,接收两个参数,第一个参数表示需要绑定的this变量,第二个参 ...

  10. [转]python os模块 常用命令

    python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...