|
我花费了2天时间研究了一下Extjs的工作原理。编写了一个QTP关于Extjs的插件!
(如何编写Extjs---QTP插件,具体详解内容已经纳入到3atesting自动化测试课程中,会花费一天时间详细讲解各种配置信息和编写的方法)
研究之初:对于我本人来说,我不太熟悉javascript和extjs控件!基本上没有接触过。为了做这个插件,我首先在网络上下载了一本javascript的书籍,以及下载了extjs控件环境和相应的API资料。差不多花费了一天时间来学习javascript和Extjs控件使用方法(这个时候没有必要去学究竟如何去写一个高质量js程序,关键去看看它的使用方法和原理的东西就成了)
扩展开发所涉及到的工具:
web extensibility的插件编写的可视化编辑器
:因为写Web插件的时候会编写XML文件,繁杂的配置信息手写起来非常麻烦,所以我找了一个QTP集成的编辑器
DOM跟踪插件
:主要分析DOM的结构,方便来了解跟踪什么事件以及对应的属性信息
(自动化测试设计培训中都会赠送给学员)
这些都准备好之后,我找了一个实例来着手编写Extjs插件!实例是一个ext grid,具体可以参看下面图片
DOM分析结果如下:
没有使用插件的QTP识别结果:
插件集成后结果:
然后我们进行了自定义扩展,主要是在QTP和Extjs建立了一个桥梁,然后可以实时去获取extjs控件的所有方法和信息!例如
我这里增加了2个方法:
getrowcount(获取总行数)
getcell(row,cell)获取指定单元格的数据信息
msgbox Browser("Stateful Array Grid Example").Page("Stateful Array Grid Example").ExtJSGrid("ExtJSGrid").GetRowCount
msgbox Browser("Stateful Array Grid Example").Page("Stateful Array Grid Example").ExtJSGrid("ExtJSGrid").GetCell(2,0)
运行结果如下:
|
|