最近换了新的工作,做外包,搞自动化测试,主要是用QTP和QC。可以长期使用QTP了,工作用的是9.0的,家里是9.2的,有一些不一致。比如9.2有个脚本编写工具,9.0没有。

我会抽空把自己的心得写上来,老手路过就好了,也许我这些东东的你们都知道了。这都主要是工作中遇到的问题以及解决办法,希望碰到和我同样问题的朋友也能顺利解决问题。目前主要在web应用上。

QTP心得(都是自己的亲身经历)

首先介绍一个不错的自动化框架——SAFFRON。下面第一个心得就是通过研究这个框架得来的。用msgbox显示出框架执行的语句,发现原来他都是用下面的写法来定位控件的。有兴趣的可以去学习一下,网上能搜到的。

1.使用属性定位控件(其实专业的名字叫描述式编程)

大家录制脚本后可能会得到类似下面的内容:

  1. Browser("IE").Page("page的名字").WebEdit("文本框").Set "123"

实际中这些控件的名字可能是变化的,WebEdit可能变得少些,WebElement变的多些。或者没法录制,需要自己手写的,不妨试一下用属性值来定位:

  1. Browser("micclass:=Browser","title=IE").Page("micclass:=Page","name:=page的名字").WebEdit("micclass:=WebEdit","name:=属性值").Set "123"

在我印象里,几乎所有的控件都可以这样来写,注意就是这里需要写的是 := (为显示清晰用中文模式输入的符号),这里用到的是冒号等号,别问我为啥,我也不知道。 基本上就是  控件名("micclass:=控件名","属性名:=属性值") 这样来定位。

2.明明顶级对象名字不同,但用对象库添加的时候却添加到另一个顶级对象中

不知道大家有没有这样的经历,录制脚本的时候很正常,执行的时候却提示无法找到对象。这时候用Object Spy去查看那个控件,看到可能是顶级的Browser名字和脚本的不一样,手动去添加顶级的Browser也加不进去。他一般是把Page往下的加在另一个Browser下面。已经有的就叫Browser1吧,你想加的那个叫Browser2,这样避免误解。

解决办法:这个问题主要是对象库默认的属性太少,在你查看对象库的时候,右边会有这个对象的属性,出现上面的情况通常是对象库的Browser1默认的几个属性的值和Browser2的相同,于是我推测是QTP默认这两个是同一个对象。

建议这时候用Object Spy查看一下Browser2的属性值,肯定有一个和Browser1不同的,这是我们先在对象库里,给Browser1增加一下那个不同的属性,然后再添加Browser2(一般选Page添加就可以,或者加你要的控件,不然直接选Browser级添加会弄进去很多没用的东东),这样就顺利加进来了。完成后,建议把你加的那个属性值删除,有时候不删除也没事,不过我发现那些用Browser1的脚本会出现找不到对象的情况,删除新增的属性值后就没事了。

3.添加text output value的一个妙法

也许有人知道,不过我是无意中发现的。在录制脚本的时候可以添加text output value,但是对应的那个控件的值内容却很多,你只想要一部分。如果录制后去添加标准输出值,没法取出你要的值,只能全取到,然后截取字符串。

text output value只能在录制的时候添加,添加后可以有一个选择text after和text before的选项,text after是你要的字符串之后的字符,text before是你要的字符串前面的字符,有了这两个,就可以准确取到你需要那部分内容。但这是直接取到的还是你的那个控件整个内容的前后字符串,有时候也可能会搞混text after和text before,还要去调试。

例如:有如下显示(用户名为qitao。为某个WebElement的值):

  1. 添加用户成功:用户名为qitao。

直接添加text output value,可能会得到text before为 "添加用户成功:",text after为 "",很显然,你得到的值就是 "用户名为qitao。"。但是我只想取到 qitao 这个值,这时候你可以先用鼠标选中qitao,然后再添加text output value,点击选中的qitao,你得到的text before为 "用户名为",text after为 "。" ,有时候可能内容会更多,你可以自己去掉一些多余的,总之这回很直接就取到了你要的这个值。

给刚刚学习QTP的人的建议:

1、基础肯定要掌握

2、建议多了解action重用和参数化部分的内容,因为我们做自动化案例的时候都是要做成API库,说白了就是参数化的可重用action,这样案例直接调用多个action就可以了。

3、有能力的建议多去熟悉vbs,QTP脚本就是用vbs来编写的。

4、学习编程思想。比如我们做API库,如果学过编程,把API库也就是参数化的可重用action可以当作是函数,action的参数就是函数的输入输出参数,这样就很容易理解了。

今天就先写这么多吧,欢迎大家提意见,也欢迎与我交流,在这里留言或给我发邮件,我只要看到肯定会回复的。目前工作原因白天无法上网。

QTP使用心得1——新的开始相关推荐

  1. seajs学习心得和新产品福利

    今天看了seajs官网的入门教程,以及博客园的教程http://www.cnblogs.com/leoo2sk/archive/2011/06/27/write-javascript-with-sea ...

  2. 大学计算机入学教育心得1000,新学期入学教育心得体会1000字

    第一篇 计划是大学生必须掌握的基本技能.学习计划的设计方法正是学习掌握计划制定技能的有效途径,同时也是提高学习,生活的效率,实现自身的人生价值,成就未来事业的根本保证. 学习计划的设计包括价值意义的认 ...

  3. 初中计算机新课标培训心得,新课标学习心得体会

    新课标学习心得体会由好范文网的会员投稿精心推荐,小编希望以下6篇范文对你的学习工作能带来参考借鉴作用. 第1篇:新课标学习心得体会 新课标学习心得体会怎么写?以下是我们给你的范文格式参考. 用课余时间 ...

  4. 新工作上班九天心得(附 bootstrap分页写法)

    2019独角兽企业重金招聘Python工程师标准>>> 新工作上班第九天了.写写自己的心得. 新工作第三天,分配了一个项目,一个开发组长,三个开发人员,一个月完成.开发人员:1. 苏 ...

  5. 半学期学计算机有感论文,【计算机学习心得论文】_计算机学习心得论文参考资料-毕业论文范文网...

    英语学习的一点心得 英语学习的一点心得英语学习的一点心得,一提到学习英语,很多同学就觉得是个头疼的问题.更有同学说,我天生没有英语细胞.我觉得,英语成绩上不去,还是跟自己的学习态度和方法有很大关系.英 ...

  6. 《精通QTP——自动化测试技术领航》—第1章1.2节帮助文档(HELP)-QTP的说明书...

    本节书摘来自异步社区<精通QTP--自动化测试技术领航>一书中的第1章1.2节帮助文档(HELP)-QTP的说明书,作者余杰 , 赵旭斌,更多章节内容可以访问云栖社区"异步社区& ...

  7. 程序员2009精华本(china-pub首发)--百期后的新起点

    程序员2009精华本(china-pub首发) 定价 : ¥49.00会员价 : ¥36.75(75折) 基本信息 作者: <程序员>杂志社    出版社:电子工业出版社 ISBN:978 ...

  8. 浅谈QTP描述性编程(含实例)

    测试空间旗下大头针出品 一开始接触QTP太强了,可以录制回放啊.可以像使用录音机一样,可以一遍又一遍的回放录音内容.有了QTP,我们就不用一遍又一遍的测试了. 但慢慢发现,QTP如果一遍又一遍的运行程 ...

  9. 徐新:京东是所投最成功的案子

    访今日资本创始合伙人.总裁徐新 姜蓉 5月22日,美国纽约.湿冷的天气掩不住时代广场上热烈和喜庆的气氛.纳斯达克迎来了第118个IPO--京东集团,这也是目前中国公司赴美上市最大的一单IPO. 这天早 ...

最新文章

  1. Struts2的拦截器只允许有权限用户访问action
  2. H5跟ios、android交互跟数据对接
  3. ubuntu 10.10 配置 tomcat6
  4. 联手友盟+打造云上数据增长“样板间”, 好兔视频成功逆势突围
  5. OpenCV中基本数据结构(5)_RotatedRect
  6. html5--3.1 form元素
  7. cocos2d-xandroid返回键菜单键
  8. 转载--Python random模块(获取随机数)常用方法和使用例子
  9. xposed微信长视频转发_微信万能转发模块xposed下载-微信万能转发模块最新版下载2.2.0-西西软件下载...
  10. 七年级计算机上教学计划,新人教版七年级数学下册教学计划(精选5篇)
  11. 如何实现博客的评论和回复功能
  12. 人脸识别 -- 活体检测(张嘴摇头识别)
  13. 计算机无法识别出硬件,电脑检测不到硬盘,电脑硬件故障检测工具
  14. 高晓松自曝常被员工管 钉钉到底是反了老板还是员工?
  15. Intel i226芯片4端口千兆以太网卡 2.5GPoE工业相机图像采集卡介绍
  16. EAUML日拱一卒-微信小程序实战:位置闹铃 (6)-播放音频
  17. Python入门到精通【精品】第一章 - Python概述
  18. java新手案例_java初学者都要掌握的案例
  19. 带娃学Scratch----初识Scratch
  20. 职场:“工作”的理解

热门文章

  1. 英伟达小姐姐的Python7大技巧合集,Github点赞量高达2500+
  2. redis哨兵集群配置
  3. 隐藏wx.lib.agw.customtreectrl.CustomTreeCtrl滚动条
  4. 初识C++中的构造函数和析构函数
  5. 任正非谈鸿蒙系统zd 新闻,潜望式10倍光变 华为P40 Pro保护壳流出:DxO霸主稳了...
  6. 企业如何做好知识文档管理?
  7. 福布斯美国十大最创新公司榜 全球榜百度第五
  8. 用js获取QQ好友信息和QQ群信息
  9. 我最喜欢的10条编程语录
  10. 中国淘宝京东到新加坡代运仓,系统公众号实时跟踪,方便又安全