`

自动化测试初体验

阅读更多

近两个月的自动化脚本编写,让我从一个门外汉终于进到了门里,下面想说一下这两个月学习QTP的一些体验想法:

  首先,学习自动化脚本要有一个好的思想去指导,没有思想指导的会让人无从下手,其实这点不管学习任何新东西都是必须的,这个思想一般来源于前辈、专家、高手的引导,学习了思想才知道如何去开始,脑子里形成了一个轮廓,甚至有点迫不及待想去自己动手做了。我们的思想大概包括了这些方面:如何维护对象库,执行case的组成,common的function、base的function,各个case要有自己的checkpoint及datainstall,如何去封装function以达到最少的代码重复,

  第二,学习方法:有了思想,可能已经觉得是这样,我应该会做了,但其实真动起手来,还是很盲目,东一下西一下,最好的方法,拿一个范本来学习一下,在阅读别人代码的同时,理清原本盲目的思路,然后自己去尝试写第一个脚本,这其中肯定会遇到各种各样的问题,不会使用对象的方法啊、不会使用已有的函数啊等等,不过解决方法更多:QTP的Help,关键要会使用索引搜索,英语都不是问题的,很简单;google很强大,上面有无数前辈们不同的解决方法;身边的前辈至关重要,因为很多实实在在的问题,google和help还真帮不上忙;偶尔还会碰到自己脑筋短路的时候,怎么都跑不通的脚本,别人一看就知道问题在哪里,而且也许很简单,这个时候最大的想法是拿块豆腐撞死算了!^_^

  第三:关于问题及总结:写完除了完成了任务,学到了东西,更重要的是可以拿出东西来可以跟大家分享,让后面的人更容易的走过我们这一步,所以问题及总结必不可少,每一个脚本都会遇到这样那样大大小小的问题,或许问题很“弱智”,既然自己会犯,别人也依然会犯,所以同样需要拿来给大家借鉴,唯一不能怕的是丢人!

  第四:关于代码优化及数据准备:现在我们的代码,几乎就是硬性使用某个用户,必须有某些数据才能跑的动,能跑脚本的准备会花费太多力气,后期在完成的基础上需要对代码做优化,不需要准备太多的硬性数据就可以跑的动我们的脚本。

  上面只提到了概括的内容,现在说一下在我写的过程中遇到的问题及一点点总结:

  一、不知道如何使用对象的方法:最简单的是使用QTP的help了,索引一下这个对象,就会有对象的所有方法,也会有例子,最常用的WebTable对象,GetCellData和ChildObject方法,如果是校验这个table的某行列中是否有对象,不用使用ChildObject.Exist,只要WebTable.GetCellData值是否为空即可。

  二、思路已经有了,却不会写代码:对于一个没有开发经验的测试工程师这很正常,经常是知道要怎样做,却不知道用哪个函数来实现这个想法,比如取字符串的某几个值,匹配字符串等等,关于字符串常用的方法有:instr、left、right、mid、trim、。。。等等,这些是经常要使用的,最好就是对于已用到的函数做一个记录,不用上次用了这次忘了,又去google一把,浪费太多时间,将函数的参数及使用方法用自己简单易懂的方式记录下来。

  三、学会使用DOM结构分析:越来越深刻的体会到DOM结构真的很有用,定义了对象唯一可以确认对象的几个属性就可以很方便的找到这个对象,不过有时候对象之间的childobjects关系弄不是很明白,尤其层级比较多的时候,谁是谁的child不是很清楚,到底该定义到哪个级别的对象再去定义其child呢?不过多尝试几次总会成功!

  Set obj=browser(”浏览器“).Page(”页面“).WebElement(”对象“)

  set desc1=description.Create

  desc1(”micclass”).value=”WebElement”

  desc1(”html tag”).value=”LI”—–此处value可以设定多个,直到完全可以确定一个或几个同类型对象即可。

  Set c_obj1=obj.ChildObjects(desc1)

  c_obj1可能会有多个使用c_obj1.count来计算其数量,而从c_obj1(0)开始便指其第一个对象

  这样就可以找到obj的一个子对象c_obj1,对其进行对象可以进行的操作了!

  四、调试代码是一个漫长的过程,多多使用msgbox,看下得到的内容是否与预期一样,或许就是这不一致的内容导致,尤其对于数据库校验的内容,会碰到校验的内容其实是错误的,但是并没有报错,单步执行是很有效的方法。

分享到:
评论

相关推荐

    在Amazon device farm上使用appium进行自动化测试

    本资源是在Amazon device farm上使用appium进行自动化测试时使用的一个范例,详细信息见http://blog.csdn.net/qxb568/article/details/50496195

    自动测试工具AgitarOne初体验之-MockingBird的使用[1]

    agitarOneMockingbird自动测试工具AgitarOne初体验之-MockingBird的使用[1]自动化测试工具为了提高测试代码的Coverage,仅仅靠AgitarOne来处理2K多行的方法,是肯本不够的。我现在搞的那个方法覆盖率才20%,不过比...

    自动测试工具AgitarOne初体验之-MockingBird的使用[2]

    agitarOneMockingbird自动测试工具AgitarOne初体验之-MockingBird的使用[2]自动化测试工具thirdPartx=MockingBird.getProxyObject(thirdPart.class);Connectionconnection=MockingBird.getProxyObject(Connection....

    Python自动化测试Eclipse+Pydev 搭建开发环境

    Python自动化测试 Eclipse+Pydev 搭建开发环境 C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置。 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和...

    全栈性能测试修炼宝典 JMeter实战

    全栈性能测试修炼宝典 JMeter实战(带书签),第一章 性能方向职业发展 第二章 性能测试的初体验 第三章 JMeter体系结构 第四章 脚本开发 第五章 JMeter负载与监控 第六章 JMeter元件详解 第七章 JMeter常用脚本开发 ...

    单元测试利器JUnit4

    本文内容包括:引言JUnit4初体验JUnit深入JUnit和Ant总结本文主要介绍了如何使用JUnit4提供的各种功能开展有效的单元测试,并通过一个实例演示了如何使用Ant执行自动化的单元测试。本文假设读者对Eclipse下进行Java...

    基于python实现的遗传算法解决混合流水车间调度问题+源代码+文档说明

    对于最简单的1-max问题使用GA进行初体验 使用python 包装了一个GA类,包括可视化效果 使用不同参数,做了50次仿真模拟,得到了可观的效果 - - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的...

    基于遗传算法解决混合流水车间调度问题python源码+部署操作说明+注释.zip

    2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...

    人工智能现状与未来.pptx

    工业3.0 应用电子信息技术,进一步提高生产自动化水平 自动化、信息化 工业4.0 开始应用信息物理融合系统(CPS) 复 杂 度 悄悄 来临 互联网时代 正在 终结 人工智能 机器人 交通工具(即无人机、无人驾驶等) VR...

    DTCMS网站内容管理系统(开源)

    测试版比较适合初入门的程序员使用,由于还没有做成模板化,所以不懂程序的用户暂时还不适用。在这个系统开发中,我个人比较注重后台的功能和界面,所以在功能上花了不少时间,如有任何问题,可直接加我QQ群,大家...

    discuz!6.1GBK 版本论坛系统

    从创立之初即以提高产品效率为突破口,随着编译模板,语法生成内核,数据缓存和自动更新机制等独创或独有技术的应用,和坚固的数据结构及最少化数据库查询设计,使得 Discuz! 可以在极为繁忙的服务器环境下快速稳定...

    最新发布酷站分类目录管理系统CATCHWEB v2.02(修改版)

    [/accounts/NewAccount.asp] 5、增加首页模板化,标签调用。 [/admin/AuditTemp.asp] 6、增加根目录数据库连接文件的防SQL注入函数。 [/conn.asp] 7、增加按分类浏览网站时可按ALEXA或PR排序功能,去除按...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    市场上相应的检测平台诸如检测通、凡特网等皆为pc端检测网站,并且操作繁琐不够人性化,用户在实地使用中存在很多问题。昆山工业技术研究院着眼于为委托用户和质检机构搭建良好的沟通桥梁,免去目前市场业务中企业...

    自己动手写操作系统(含源代码).part2

    另外,书中列出的代码均由我自己编写的程序自动嵌入L ATEX源文件,从而严格保证书和光盘的一致性,读者可以根据文件名和行号方便地找到光盘中 代码的准确位置。 此外,在第二版中还有一些小的变化。首先是操作系统的...

    自己动手写操作系统(含源代码).part1

    另外,书中列出的代码均由我自己编写的程序自动嵌入L ATEX源文件,从而严格保证书和光盘的一致性,读者可以根据文件名和行号方便地找到光盘中 代码的准确位置。 此外,在第二版中还有一些小的变化。首先是操作系统的...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    她从20世纪90年代初就开始使用Oracle,从事 Oracle的教学工作也已经超过10年的时间。她是Oracle ACE,也是OakTable(Oracle社区中著名的“Oracle科学家”的非正式组织)的成员,经常在技术会议上演讲。她的著作还...

Global site tag (gtag.js) - Google Analytics