把QTP脚本封装起来,使其看起来一目了然! 简单介绍一下方法: '启动飞机订票系统 Sub flight() SystemUtilRun "D:\Program Files\ Mercury Interactive\ QuickTest Professional \samples\flight\app\flight4aexe","","D:\Program Files\Mercury Interactiv
把QTP脚本封装起来,使其看起来一目了然!
简单介绍一下方法:
'启动飞机订票系统
Sub flight()
SystemUtilRun "D:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4aexe","","D:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\","open"
End Sub
'登录
Sub login()
Dialog("Login")WinEdit("Agent Name:")Set "cff100"
Dialog("Login")WinEdit("Password:")SetSecure "48dda077c740a7e3a91bdb8caff1f6fae5f02d1b"
Dialog("Login")WinButton("OK")Click
End Sub
'插入订单
Function insertorder()
Window("Flight Reservation")ActiveX("MaskEdBox")Type "111111"
Window("Flight Reservation")WinComboBox("Fly From:")Select "London"
Window("Flight Reservation")WinComboBox("Fly To:")Select "Paris"
Window("Flight Reservation")WinButton("FLIGHT")Click
Window("Flight Reservation")Dialog("Flights Table")WinList("From")Select "12538 LON 10:24 AM PAR 12:24 PM AF $16240" 可以以数值代替如2
Window("Flight Reservation")Dialog("Flights Table")WinButton("OK")Click
Window("Flight Reservation")WinEdit("Name:")Set "cff100"
Window("Flight Reservation")WinRadioButton("Business")Set
Window("Flight Reservation")WinButton("Insert Order")Click
Window("Flight Reservation")ActiveX("Threed Panel Control")WaitProperty "text", Insert Done, 10000
End Function
'退出
Sub logout()
Window("Flight Reservation")Close
End Sub
其实就是把脚本按 *** 作分段。然后以过程(SUBEND SUB)或函数(FUNCTION END FUNCTION)进行封装。
这样的脚本看上去一目了然,易理解也易于管理。
QTP函数过程的调用
以上面的QTP录制脚本的封装中的脚本为例:
Call 过程名/函数名
直接调用过程名/函数名
也以飞机订票系统为例。调用上面封装的过程/函数:
flight/call flight
login/call login
insertorder/Call insertorder
logout/Call logout
1 调用SUB/FUNCTION方法是一样的……除了CALL调用如果有参数则需要使用括号将参数变量括起来。
2 SUB与FUNCTION的区别:SUB过程是没有返回值的但是FUNCTION是可以有返回值的。
转载,仅供参考,祝你愉快,。
我给你来一段吧 自己写的 给分啊先写一个从字符串生成任何类型的对象的函数public object stringToObject(string str,Type objectType)//传递两个参数,一个是字符串含有每个属性的属性名和值对,属性和值用冒号分隔,属性与属性用逗号分隔,另一个参数是要创建的对象的类型{string[] shuxing = strSplit(new char[] { ',' });//将字符串分解成 “属性:值”数组for (int i = 0; i < shuxingLength; i++){shuxing[i]= shuxing[i]Replace(\, );}//去掉字符串的双引号object obj = SystemActivatorCreateInstance(objectType); //使用反射动态创建对象PropertyInfo[] pis =obj GetType()GetProperties(BindingFlagsPublic|BindingFlagsInstance);//获得对象的所有public属性if (pis != null)//如果获得了属性foreach (PropertyInfo pi in pis)//针对每一个属性进行循环{for (int i = 0; i <shuxingLength; i++)//检查字符串中的所有“属性:值”列表{if (shuxing[i]Split(new char[] { ':' })[0] == piName)//如果对象的属性名称恰好和字符串中的属性名相同{Type proertyType= piPropertyType; //获得对象属性的类型piSetValue(obj, ConvertChangeType(shuxing[i]Split(new char[] { ':' })[1],proertyType), null);//将字符串中的字符串类型的“值”转换为对象属性的类型,并赋值给对象属性}}}return obj;}然后调用这个函数定义一个学生类class stu{string _name;int _age;public string name{get{return _name;}set {_name=value;}}public int age{get { return _age; }set { _age = value; }}}pageload里面可以使用下面方法创建stu对象了由于使用了反射技术需要导入名字空间 using SystemReflection;using using SystemReflection;。。。。。。。
1、首先把VBS文件加载到QTP的resource里面,绝对路径和相当路径都可以,加载后在QTP里面直接调用VBS文件函数即可。
2、这个问题涉及到变量的作用域,你在QTP中调用的VBS里面的变量,QTP不能使用这个变量,如果QTP是用VBS脚本启动的,那么QTP可以使用VBS里面的变量。
目前QTP没有提供这样的内置API函数来供你调用。你要自己写一个Function,主要有2点要注意的,你要使用SystemUtil来启动你要执行zip解压的文件路径,当然你也要Dim2个变量,一个用来存放源文件路径,还有一个用来存放当前目标解压后的路径,这个函数中主要用到COM接口的CreateObject(ScriptingFileSystemObject)来完成文件的 *** 作。至于脚本代码你先自己想下再提问!
在 NumPy 中,可以使用不同的函数获取数组中的数据。
使用索引获取单个元素或者子数组中的元素
可以使用方括号 [] 加索引的方式获取单个元素或者子数组中的元素,例如:
import numpy as np
a = nparray([1, 2, 3, 4, 5])
print(a[2]) # 输出 3,获取数组中索引为 2 的元素
print(a[1:4]) # 输出 [2 3 4],获取数组中索引为 1 到 3 的元素
使用数组中的函数
可以使用数组对象自带的函数获取数组中的数据,例如:
import numpy as np
a = nparray([[1, 2, 3], [4, 5, 6]])
print(npsum(a)) # 输出 21,计算数组中所有元素的和
print(npmax(a)) # 输出 6,获取数组中的最大值
print(npargmax(a)) # 输出 5,获取数组中最大值的索引,此处为一维数组展开后的索引
print(npunravel_index(npargmax(a), ashape)) # 输出 (1, 2),获取数组中最大值的索引,此处为二维数组中的索引
使用 NumPy 提供的函数
NumPy 还提供了很多函数可以用来获取数据,例如:
import numpy as np
a = nparange(12)reshape(3, 4)
print(npsum(a, axis=0)) # 输出 [12 15 18 21],计算数组每列元素的和
print(npmean(a, axis=1)) # 输出 [15 55 95],计算数组每行元素的平均值
print(npstd(a)) # 输出 3452052529534663, 计算数组元素的标准差
以上是获取数组中数据的一些基本方式,具体应该根据实际情况选择合适的方法。
第1篇 自动化测试基础篇
第1章 软件测试基础
11 软件缺陷与软件测试
111 软件缺陷与硬件缺陷的异同
112 如何通过软件测试发现软件缺陷
12 软件质量与软件测试
121 软件质量管理在项目管理中的地位
122 软件开发模式与软件测试
123 软件开发模式与自动化测试
124 软件测试能保证软件质量吗
13 软件开发与软件测试
131 软件开发与软件测试的对立统一
132 测试人员需要的开发技术
第2章 软件自动化测试
21 手工测试与自动化测试
211 手工测试的缺点
212 什么时候使用自动化测试
213 自动化测试——你准备好了吗
22 如何开展自动化测试
221 选取合适的测试项目来开展自动化测试
222 自动化测试介入的时机
223 自动化测试工程师的基本素质和技能要求
224 自动化测试的成本
23 自动化测试方案
231 选择自动化测试方案
232 自动化测试脚本的编写方法
233 线性脚本的编写方法
234 结构化脚本的编写方法
235 共享脚本的编写方法
236 数据驱动脚本的编写方法
237 关键字驱动脚本的编写方法
238 合理选择自动化测试脚本开发方法
24 实用性自动化测试策略
241 自动化测试工具的问题
242 自动化测试的管理规范
243 自动化测试中人的因素
第3章 软件自动化测试工具
31 自动化测试工具类型
311 商业测试工具
312 开源测试工具
313 自主开发测试工具
32 自动化测试工具选型
321 测试工具评估
322 测试工具试用
323 自动化测试工具的培训
33 自动化测试工具的原理
331 基于代码层面的功能自动化测试工具
332 基于浏览器和DOM对象模型的功能自动化测试工具
333 基于GUI对象识别的测试工具原理
334 反射机制在自动化功能测试工具中的使用
335 UI Automation在自动化功能测试工具中的使用
336 QTP对象识别技术
第2篇 QTP使用基础篇
第4章 QuickTest Professional的安装和配置
41 QTP 92的安装
411 安装要求
412 QTP 92支持的环境和程序
413 QTP 92支持的插件
414 安装步骤
42 QTP 92的基本配置
421 QTP的帮助文档
422 QTP的视频教程
423 QTP自带的样例程序
424 启动QTP
425 插件加载设置与管理
426 创建一个空的测试项目
427 录制和测试运行设置
428 指定需要录制的应用程序
429 使用QTP编写第一个自动化测试脚本
第5章 QuickTest Professional的基本使用方法
51 QTP基本功能的使用
511 QTP自动化测试的基本过程
512 在关键字视图中编辑测试脚本
513 在关键字视图中为测试步骤添加注释
514 在关键字视图中添加测试信息的输出
515 插入检查点(Checkpoint)
516 在关键字视图中插入新的测试步骤
517 在专家视图中编辑测试脚本
518 脚本编辑器的使用
52 编辑测试脚本
521 识别对象
522 Object Spy的使用
523 对象库管理
524 把测试对象添加到对象库中
525 导出对象库文件
526 在测试脚本中访问对象库的测试对象
527 添加新的Action
528 关联Action的对象库
529 编辑新的Action
5210 在函数库中创建自定义函数
53 运行和调试测试脚本
531 语法检查
532 使用断点
533 单步调试
534 调试查看器的使用
535 运行整个测试
536 运行部分测试
537 批量运行测试
54 分析测试结果
541 选择测试运行结果的存储位置
542 查看概要测试运行结果
543 查看检查点的结果
544 查看测试过程的截屏
55 利用Active Screen来编辑测试脚本
551 查看Active Screen
552 Active Screen的设置
553 在Active Screen中选择并添加对象到对象库
554 选择Active Screen中的对象并输出其对象属性
555 在Active Screen中插入检查点
556 在Active Screen中选择对象并添加测试步骤
第6章 QuickTest Professional与其他工具的整合
61 与WinRunner的整合
611 在QTP中调用WinRunner的测试脚本
612 在QTP中调用WinRunner的函数
62 QTP与LoadRunner的整合
621 在QTP中为LoadRunner设计测试脚本
622 使用Silent Test Runner模拟LoadRunner的调用
623 在LoadRunner中插入和运行QTP脚本
624 在LoadRunner中运行QTP脚本需要注意的几点
第3篇 QTP脚本开发篇
第7章 关键字驱动测试
71 关键字驱动测试方法
711 什么是关键字驱动测试方法
712 关键字测试驱动框架
713 关键字驱动实现自动化测试的阶段划分
714 什么时候使用关键字驱动测试方法
72 可视化编辑测试步骤
721 编辑对象库
722 选择测试对象
723 选择测试对象相应的 *** 作
724 设置测试逻辑
73 检查点的使用
731 为测试添加检查点
732 检查点类型
733 添加标准检查点
734 添加图像检查点
735 添加位图检查点
736 添加表格检查点
737 添加文本检查点
738 添加文本区域检查点
739 添加可访问性检查点
7310 添加页面检查点
7311 添加数据库检查点
7312 添加XML检查点
第8章 数据驱动测试
81 数据驱动测试方法
811 什么时候使用数据驱动测试方法
812 数据驱动测试的一般步骤
82 参数化测试
821 通过参数化测试来提高测试的灵活性
822 参数化测试步骤
823 使用随机数来进行参数化
824 参数化检查点
825 设置数据表格迭代方式
83 Action测试输入的参数化
831 编辑Action的属性
832 添加Action的输入参数
833 调用Action
84 使用环境变量的参数化
841 定义和设置环境变量
842 在测试步骤中绑定环境变量值
843 导出环境变量到XML文件
844 导入外部环境变量文件
85 使用数据驱动器来参数化测试
851 数据驱动器的使用方法
852 数据驱动向导
第9章 VBScript基础
91 脚本语言简介
911 Windows脚本语言
912 测试工具的“厂商语言”
92 VBScript语言基础
921 VBScript的数据类型
922 变量子类型(Variant Subtypes)
923 VBScript的变量
924 VBScript的运算符
925 VBScript的条件语句
926 VBScript的循环语句
927 VBScript的Sub与Function
928 VBScript的数组
93 VBScript与正则表达式
931 正则表达式简介
932 在VBScript中使用正则表达式
933 正则表达式在自动化测试中的使用
第10章 QTP测试脚本开发
第11章 QTP描述性编程 222
第12章 使用QTP测试标准Windows对象
第13章 使用QTP测试ActiveX对象
131 ActiveX对象的测试
1311 Object属性的使用
1312 AcxUtil对象的FireEvent方法的使用
132 各类ActiveX控件的测试
1321 RadioButton类ActiveX控件的测试
1322 CheckBox类ActiveX控件的测试
1323 Calendar类ActiveX控件的测试
1324 Label类ActiveX控件的测试
1325 ProgressBar类ActiveX控件的测试
1326 SliderBar类ActiveX控件的测试
1327 LED类ActiveX控件的测试
1328 ListBox类ActiveX控件的测试
第14章 使用QTP测试VB对象
141 Visual Basic控件的测试
142 对各类VB控件的测试
1421 VbButton对象的测试
1422 VbCheckBox对象的测试
1423 VbComboBox对象的测试
1424 VbEdit对象的测试
1425 VbEditor对象的测试
1426 VbFrame对象的测试
1427 VbLabel对象的测试
1428 VbList对象的测试
1429 VbRadioButton对象的测试
14210 VbScrollBar对象的测试
14211 VbWindow对象的测试
第15章 使用QTP测试标准Web对象
151 Web对象的测试
1511 加载Web插件
1512 Web的录制和运行设置
1513 QTP支持的浏览器
1514 Windows Applications的录制和运行设置
1515 设置IE的“Enable Tabbed Browsering”选项
1516 使用Object属性访问DOM对象
1517 使用Browser对象控制浏览器的导航
152 对各类Web对象的测试
1521 Page对象的测试
1522 Frame对象的测试
1523 Image对象的测试
1524 Link对象的测试
1525 WebButton对象的测试
1526 WebCheckBox对象的测试
1527 WebEdit对象的测试
1528 WebFile对象的测试
1529 WebList对象的测试
15210 WebRadioGroup对象的测试
15211 WebTable对象的测试
15212 WebXML对象的测试
15213 WebElement对象的测试
第4篇 QTP高级技术篇
第16章 QTP的插件技术
161 QTP插件简介
1611 查看插件安装和加载情况
1612 插件分离的好处
162 内建插件与外部插件
1621 内建插件
1622 外部插件
1623 插件的安装
163 插件加载与插件管理
1631 QTP的插件加载过程分析
1632 关联QTP插件与测试脚本
1633 插件关联管理
1634 通过编程方式启动QTP并加载插件
1635 插件与检查点类型的关系
第17章 使用QTP的NET插件测试NET平台软件
171 QTP的NET插件
1711 NET插件安装与设置
1712 NET Windows Forms Spy的使用
1713 利用NET Windows Forms Spy来分析NET控件
172 测试NET Windows Forms控件
1721 QTP支持的NET Windows Forms控件
1722 通过Object属性来获取对象的内部属性
1723 通过Object属性访问并执行控件方法
1724 查看Object属性的两种方法
173 测试WPF控件
1731 加载WPF插件
1732 QTP支持的WPF控件
1733 访问WPF控件的内部属性和方法
174 测试NET Web Forms控件
1741 QTP支持的NET Web Forms控件
1742 测试NET Web Forms的程序的前提条件
1743 利用Object属性来增强NET Web Forms程序的测试
第18章 QTP的NET插件扩展技术及其使用 323
181 QTP的NET插件提供的扩展模块
1811 NET插件的扩展模块机制介绍
1812 使用NET Windows Forms Spy来协助开发扩展性
182 使用C#对QTP的NET插件进行扩展
1821 安装Custom Server模板
1822 建立NET控件的测试扩展项目
1823 实现控件录制逻辑
1824 注册TrackBar控件的事件处理器
1825 实现控件的运行逻辑
1826 对QTP进行配置
1827 扩展项目的运行
第19章 QTP的自动化对象模型及其使用
191 QTP自动化对象模型简介
1911 什么时候使用自动化对象模型库
1912 选择开发语言和环境
1913 对象模型库基本元素
192 在C#中使用QTP自动化对象模型
1921 引用对象库
1922 在C#中调用QTP对象模型库
193 常用的自动化对象模型方法介绍
1931 在C#中启动QTP并加载指定插件
1932 在VBScript脚本中设置QTP选项
1933 导出QTP选项设置到VBScript脚本
1934 在VBScript脚本中设置QTP的环境变量
1935 在VBScript脚本中设置测试运行选项
1936 导出QTP测试设置到VBScript脚本中
第20章 使用QTP开发一个猴子测试工具
201 猴子测试 2011 猴子测试简介 2012 笨猴子与聪明猴子 2013 什么时候使用猴子测试 202 使用QTP设计一个笨猴子 2021 用QTP实现笨猴子的基本要素 2022 使用Randomize函数产生随机数 2023 使用RandomNumber对象获取随机数 2024 通过WMI对象获取屏幕高度和宽度 2025 利用DotNetFactory获取屏幕高度和宽度 2026 让猴子控制鼠标和键盘 2027 调用C#代码中封装的Windows API函数 2028 输入随机字符串 2029 记录测试信息 20210 截屏 20211 记录性能信息 20212 基本的猴子测试工具 20213 猴子测试工具的改进点
第21章 使用QTP测试Web Services
211 Web Services插件介绍 2111 什么是Web Services 2112 Web Services插件的帮助文档 212 使用Web Services插件测试Web Services 2121 Web Service测试向导的使用 2122 运行Web Service测试 2123 修改Web Service测试脚本中的检查点 2124 参数化Web服务的输入 2125 在对象库中添加Web Service测试对象 2126 检查WSDL是否满足WS-I标准 2127 使用ValidateWSDL方法检查WSDL
第22章 如何编写高质量的QTP测试脚本
221 QTP测试脚本编码规范 2211 常量命名规范 2212 变量命名规范 2213 对象命名规范 2214 代码注释规范 2215 代码风格 222 通过管理对象库来提高代码的可读性 2221 直接录制的测试脚本的问题 2222 通过修改命名来达到更加易读的效果 2223 缩减代码行长度的方法 2224 以中文命名测试对象
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)