QTP笔记2.doc_第1页
QTP笔记2.doc_第2页
QTP笔记2.doc_第3页
QTP笔记2.doc_第4页
QTP笔记2.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五天知识一、 外部函数:级别:项目级:utility.vbs common.vbs(供所有项目)(框架设计师)模块级:(供本项目所应用)Login.vbs Order.vbs(自动化测试工程师)项目级只能由模块级调用二、 自动化的步骤1、 了解被测对象,熟悉项目中的模块或者是子模块的需求,手动运行模块或者子模块中的一批用例,和测试或开发工程师明确操作步骤和检查点2、 做自动化需求分析,解决:1) 找出逻辑的公共点2) 这个任务究竟是数据驱动还是非数据驱动3、 设计针对公共函数做大部分项目公共的和本项目特有的提取若是数据驱动,做数据表的设计4、 新建一个test,构建action的父子关系,可以先创建mainAction,然后创建其他模块或者子模块的action作为它的孩子。使用对象库添加对象(不要漏对象)或者引用共享对象库文件。5、 新建test,分别先将孩子的action的创建出来,然后使用一个新的test,使用copying或者existing进行拷贝或者关联,形成父子关系。使用对象库添加对象(不要漏对象)或者引用共享对象库文件。6、 写脚本三、 基于QTP的项目级应用自动化测试框架自动化框架的时序关系:1、 启动main.vbs2、 加载外部函数lib3、 QTP识别config.xml文件4、 Main.test入口加载环境变量5、 Main.test执行所有具有父子关系的Action6、 在选择中,若用到共享对象或者datatable,在data目录中需要import。7、 在执行过程中若有结果输出,需要export到data目录下8、 运行完所有的Action,main.vbs会自动退出利用开发需要改造的内容:1、 从工作步骤上:1) 熟悉需求(用例模块项目)2) 需求分析(外部函数设计,datatable设计)3) 创建父子关系(三层父子关系)4) 针对每个Action是否有环境变量添加到config.xml文件中5) Lib中的外部函数是否有添加6) 是否有新的对象仓库在data目录下要进行关联到本Action中7) Data目录下的datatable是否有设计,使用该框架必须要有datatable。注意output result,output 8) Action的启动方式可以是Main.vbs,也可以是QTP中的run9) 开始写Action的主程序和用例过程2、 从程序步骤上:相对于Action主程序逻辑:10) 将该Action的datatable从data目录下import进来,11) 调用该Action的测试过程12) 打扫整个测试现场13) 将该Action的Datatable所对应的sheet要export到data目录下写Action中调用的用例进程1) 从起点到终点涉及到的窗口切换需要加判断,若失败则要调用writefail并提前exit sub,需要在用例检查点基础上,增加新的检查点(登录不成功则退出)2) 启动被测程序可以在主程序中完成,也可以在过程中完成,若在主程序中完成,切忌在过程中关闭被测程序,在哪里启动在哪里关闭3)框架解决的问题:1、 外部函数库加载2、 测试结果定制输出3、 环境变量加载4、 对象仓库的迁移四、 configconfig用来保存环境变量config必须是XML文件,文件的格式如下:Variable是一个变量入口函数:启动main.vbs,加载lib,然后通过lib将config.XML加载五、 自动获取目录结构runPath:获取当前目录路径六、加载lib文件将lib文件夹下的所有文件找到七、构建动态数组,用来保存目录下的lib文件八、往QTP中加载config和currentPath九、写action对于环境变量,要把环境变量放到config.XML文件中,新增加的所有外部函数必须放到LIB函数中。十、问题1、使用框架后,testaction是如何应用框架中的环境变量操作层面上:1)config。XML文件中增加一个需要的环境变量2)在test父亲的中程序中调用函数库文件中的loadedenvironment文件原理层面上:1)先让QTP文件知道config文件存在(在main。Vbs中完成)2)将loadedenvironment调用进来(在main。Test中完成)十一、DOM(document object model)DOM是用来操作html语言的十二、描述性编程要创建Properties集合,可以使用以下语法输入Description.create语句:Set MyDescription=Description.Create()MyDescription(“对象属性名1”).value=对象属性值1MyDescription(“对象属性名1”).value=对象属性值1用途:对于类似对象非常多,属性值和数量无法预估,随着运行将会发生变化,可以采用描述性编程,用以解决创建临时对象的问题1、 若resources和environment文件为空,需要使用Main。Vbs启动2、 如果你不想使用main。Vbs来启动,还想继续暂时使用run来启动test:1) 在resources中手工加载外部函数utility。Vbs2) 在environment手工加载config和current path这两个环境变量有多个action则对象跟具体的action关联有一个action则对象跟test关联如果使用对象仓库中的非对象方式添加对象,则先选择action,再使用+如果使用共享添加对象,则只选中需要的action第六天知识一、操作Webtable先定义描述性对象,然后遍历,在遍历过程中使用webtable的getcelldata获取字段内容二、解决的问题:将对象仓库关联到需要的action中,跨不同的机器获取不同的tsr对应不同的action三、问题1、 打开test在哪里:2、 运行QTP在哪里:1313、 定制result:1184、 Main。Vbs中的loadenvironment相对QTP在做什么在QTP中的environment中加config。Xml的路径5、 外部函数加载是哪个方法:1156、 Main test中的loadenvironment是做什么用的调用config。Xml文件当外部文件载入到QTP中在QTP中可以直接使用变量名获取变量名的值7、 LoginAction利用该框架要做什么改造1) config中xml文件中加环境变量2) 有没有公共函数放到lib目录下的外部函数3) 有没有新的Datatable放到data目录下的,有没有新的datatable加载到data目录下4) 有没有新的对象仓库需要放到data目录下8、 LoginAction写好后,如果不适用main。Vbs启动则怎么样以后再启动在environment中加载config和currentPath9、 用了该框架之后我们是否不用创建对象仓库文件了?需要创建,不会建立action和tsr文件之间的关系如果不主动关联,框架不能主动关联四、内置数据库检查点五、使用dom操作webtable1、 创建表的临时对象:micclasswebtable 2、 childobjects传描述性编程的临时对象,获取表集合3、 表的个数:count()4、 具体编号:使用编号去取5、 求行:rowcount6、 求列:columncount(i)7、 获取某一单元:getcelldata(I,j)表的实际内容从第二行开始六、 描述性编程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论