qtp录制时间控件不允许用户手动输入的解决办法
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录制时间控件不允许用户手动输入的解决办法的更多相关文章
- ActiveX控件注册不起作用的解决办法
公司写了一个ActiveX打印插件.其中一个同事的电脑死活不能用.于是我就上网找办法 这位兄弟写的比较清晰. ActiveX交互时浏览器的设置以及ActiveX控件注册的检测 http://blog. ...
- 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke 解决办法
增加IsHandleCreated 判断 if (this.IsHandleCreated) { this.Invoke(new EventHandler(delegate { ...... })); ...
- C# winfrom中Flash播放使用axShockwaveFlash控件设置透明XP出现白色背景解决办法,仿QQ魔法表情效果
//播放时 图片周围有锯齿白边出现 反锯齿处理暂无解决办法. 如有大神 请给我留言 新Form AllowDrop True 引用using System.IO; 拖1个Button p ...
- robotframe使用之时间控件
robotframe使用之时间控件 正常的页面,时间控件会写在一个iframe里面,所以robotframework找不到对的ID或者xpath等. 要解决这个问题必选先显示iframe. 使用关键字 ...
- JSP页面中的精确到秒的时间控件
技术:Struts1+jsp+MSql 需求:ncmgt网络监控系统中显示用户的操作日志,并且根据操作时间查询用户的详细操作记录.时间精确到秒 大致效果如下.上图! 大家可以清晰的看到.红色画线部分就 ...
- js实现时间控件
<html><head> <title>时间控件</title></head><body > <input name=&q ...
- bootstrap-datetimepicker时间控件
欢迎各种吐槽. 本人小前端,学习过程中,某日遇到做时间控件的需求,于是无休止的召唤了度娘,发现看不太懂.算是为自己做个笔记,也便于菜鸟级别的看的懂. 首先,我们看看点击选择时间的时候的展示页面吧 年 ...
- rf对时间控件的操作
1.如何去掉readonly属性 前端对于时间控件的设置,有时是为了限制用户不能进行手动输入方式进行选择时间,避免在手动输入的时候超限或者输入格式不正确,导致一些不必要的验证麻烦,这是前端开发工程师就 ...
- C# 时间控件 竖直进度条 饼图显示 仪表盘 按钮基础控件库
Prepare 本文将使用一个NuGet公开的组件来实现一些特殊的控件显示,方便大家进行快速的开发系统. 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台 ...
随机推荐
- Java CPU占用率高分析
首先,通过top命令找出CPU占用率高的进程: 然后,通过ps -o THREAD,tid,time -mp 2066命令找出执行时间最长的线程的TID 将有问题的TID转为16进制格式: print ...
- iOS-防止向SQLite数据库中插入重复数据记录:
原则:先检测该数据库的指定表中,是否已经存在我们要插入的这条数据记录,若已经存在,则不插入这条数据记录(即忽略此次插入操作),若尚不存在,才插入这条数据记录(即才执行此次插入操作) 我们这里使用的是F ...
- ASP.NET基础学习未整理随笔
利用新建网站添加的项目可以改完代码直接刷新就行 提交到服务程序的表单一定要具有name.<input type="hidden"value="true"n ...
- C++虚基类的初始化
#include<iostream> using namespace std; class Base{ public: Base(int sa) { a=sa; cout<<& ...
- ACM1004 Let the balloons fly
These code is for the problem "Let the balloons Fly" in ACM 1004 which need deal with stri ...
- HRBUST 1819
石子合并问题--圆形版 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 61(27 users) Total Accepted: 26( ...
- gulp压缩css和js
压缩 css 代码可降低 css 文件大小,提高页面打开速度. 规律转换为 gulp 代码 找到 css/ 目录下的所有 css 文件,压缩它们,将压缩后的文件存放在 dist/css/ 目录下.一. ...
- 通过反射获取T.class代码片段
说明 持久化框架MyBatis和Hibernate中我们多多少少都会自己取写工具类!但是我们一般都会处理结果集转换成持久化对象,但是我们都要使用类! 代码片段 abstract public clas ...
- SSH内存泄露及Spring Quartz问题
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://www.blogbus.com/anoxia-logs/34360203.html 问题的起因: 为客户开发了一个系统权 ...
- redis.conf 配置
daemonize yes #以后台daemon方式运行redis pidfile "/var/run/redis.pid" #redis以后台运行,默认pid文件路径/var/r ...