QTP自学攻略
QTP自学攻略
自学总是很痛苦的,看大量的书籍,可是学到的东西却不是那么实用,下面整理了一些在QTP中经常需要的函数,以及方法很实用!
QTP常用函数
1, 获取对话框相应的文字: GetVisible Text
2, 查找相应的字符串: instr (1,查找目标字符串,所查找的字符串)
3, 随机数的获取: Randomnumber.Value() 或cstr(int(Rnd*10)+1)
4, 等待函数: Wait(秒数)
5, 获取数组下标: UBound (数组名)
6, 拆分数组: Split(MyString, ",", -1, 1)
7, 可执行步骤: OptionalStep
8, 报告信息: Reporter.ReportEvent 3, "Save Step", "Out of cycle!"
9, 判断对话框是否存在: .exist
10,事件过滤函数:Reporter.Filter=过滤条件(0,1,2,3),0代表显示所有的error和warning,1,显示error,2,显示waining,3,任何error和warning都不显示。
11,循环函数:do … loop until,for…to… then next,while.
12,数据表格:DataTable,向外赋值,
Dim aa = DataTable.value(“CellingName”,”ActionName”).
13,获得对象属性的三种方法
GetTOProperty,GetTOProperties,GetROProperty,GetTOProperty获得程序中对象当前的属性,GetTOProperties获得当前属性所有集合,GetROProperty获得的是录制时对象所获得的属性。
14,检查点方法check和输出指定属性值output。
15,函数Descrīption,可以获得某页面同标签的属性进行操作。
16,函数nagative可以随便跳转页面到指定的URL。
17,函数Object可以获得当前页面同属性的控件。
18,函数Focus可以让控件获得焦点,函数Blur则是失去焦点,click单击,dbclick双击。
19,函数setAttribute可以设置控件属性,getAttribute可以获得属性。
VBS语言基础编程
基本语法
l 常用的一些命令函数
l 对字符的一些处理
l 对文本文件的读、写、创建、删除等操作
l 对Excel文件的读取和写入操作
l 对XML文件的读取
l 调用Dll
高级应用
正则表达式
正则表达式,也叫做通配符,我们在计算机上搜
索一个文件,或者编写一条SQL语句时,经常会用
到正则表达式。
l
在QuickTest中也可以使用正则表达式,用法与我们上面提到的正则表达式类似。通过在QuickTest测试脚本中加入正则表达式,可以使我们的测试脚本更灵活,适应性更好
l 一个正则表达式就是一个文本字符串,其中除了常规字符外,还包含了一些通配字符,比如 “*”、“^”、“[]”、“?”、“+”等等
4.2 描述性编程
4.3 虚拟对象的使用
在使用录制模式无法正常识别控件的情况下,使用虚拟对象。首先Mark好虚拟对象,然后,
在录制的时候,只要点到你设置的虚拟对象的边界内,QTP就会识别这个虚拟对象,并把该对象记到对象库中去
4.4 test banch runner的使用
目的是用于批次运行多个Action
运行目录:开始-程序-QuicktestProfessional-Tools-Test banch runner。 使用add逐个添加action
4.5 对字符的处理
l CStr(expression)
l InStr([start, ]string1, string2[, compare]) 查找字符在字符串中出现的位置
l Left(string, length) 从字符串中截取指定长度的字符
l Len(string| varname) 取得字符长度
l Split(expression[, delimiter[, count[,compare]]]) 将字符串根据拆分标记进行拆分
4.6 常用的一些命令函数
l SystemUtil.Run “C:\123.txt“ 启动应用程序
l Time 当前系统时间
l SystemUtil.CloseProcessByName “notepad”关闭相关进程
l Now() 当前日期和时间
4.7 对文本文件的操作
4.7.1 读文件
Set fso= CreateObject("Scripting.FileSystemObject")
Set f= fso.OpenTextFile(“C:\123.txt”, 1)
f.readline//读一行
f.readall//读整个文本文件内容
f.read(3) //从文件中读三个字符
f.close//关闭文件
4.7.2 写文件
Set fso= CreateObject("Scripting.FileSystemObject")
Set f= fso.OpenTextFile(“C:\123.txt”, 2)
f.Write “test”
f.close//关闭文件
4.7.3 创建文件
Set fso= CreateObject("Scripting.FileSystemObject”)
fso.CreateTextFile(“C:\123.txt”)
4.7.4 删除文件
Set fso= CreateObject("Scripting.FileSystemObject")
fso.DeleteFile(“C:\123.txt”)
4.8 对excel的操作
4.8.1 创建excel
'******************************************************************************
' 函数说明:创建一个excel文件;
' 参数说明:
' (1)ExcelPath:Excel文件存储路径;
' (1)ExcelPathName:要创建的Excel文件路径+名称;
' 调用方法:
' QTP_CreateExcel "D:\Temp","D:\Temp\ExcelExamples.xlsx"
'
' ******************************************************************************
Function QTP_CreateExcel(ExcelPath,ExcelPathName)
Dim ExcelApp 'As Excel.Application
Dim excelBook 'As Excel.workbook
Dim fso 'As scrīpting.FileSystemObject
' Dim excelSheet
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Workbooks.Add
'ExcelApp.Visible = True
Set excelSheet = ExcelApp.ActiveSheet
Set excelBook = ExcelApp.ActiveWorkbook
Set fso = CreateObject("scripting.FileSystemObject")
On Error Resume Next
' fso.CreateFolder "D:\Temp"
' fso.DeleteFile "D:\Temp\ExcelExamples.xlsx"
' excelBook.SaveAs "D:\Temp\ExcelExamples.xlsx"
fso.CreateFolder ExcelPath
fso.DeleteFile ExcelPathName
excelBook.SaveAs ExcelPathName
ExcelApp.Quit
Set ExcelApp = Nothing
Set fso = Nothing
Err = 0
On Error GoTo 0
End Function
4.8.2 读取excel文件
'========================================
' 函数说明:往EXCEL表中写数据;
' 参数说明:
' (1)sExcelName:EXCEL文件名;
' (2)sSheetName:Sheet表名
' (3)x: 行
' (4)y: 列
' (5)Content:内容
' 调用方法:
' QTP_WriteExcel "D:\2.xlsx","sheet1",x,y,"abcde"
'========================================
Function QTP_WriteExcel(sExcelName,SheetNum,x,y,Content)
Set xlsobj=createobject("excel.application")
Set xlsbook=xlsobj.Workbooks.Open(sExcelName)
Set xlssheet=xlsbook.Sheets(SheetNum)
xlssheet.cells(x,y)=Content
xlsbook.Save
xlsbook.Close
End Function
4.8.3 写excel文件
'========================================
' 函数说明:往EXCEL表中写数据;
' 参数说明:
' (1)sExcelName:EXCEL文件名;
' (2)sSheetName:Sheet表名
' (3)x: 行
' (4)y: 列
' (5)Content:内容
' 调用方法:
' QTP_WriteExcel "D:\2.xlsx","sheet1",x,y,"abcde"
'========================================
Function QTP_WriteExcel(sExcelName,SheetNum,x,y,Content)
Set xlsobj=createobject("excel.application")
Set xlsbook=xlsobj.Workbooks.Open(sExcelName)
Set xlssheet=xlsbook.Sheets(SheetNum)
xlssheet.cells(x,y)=Content
xlsbook.Save
xlsbook.Close
End Function
|
QTP自学攻略的更多相关文章
- QTP DataTable全攻略(1)
上一篇 / 下一篇 2009-07-27 00:14:16 / 个人分类:qtp 查看( 575 ) / 评论( 0 ) / 评分( 0 / 0 ) 下面的代码可能有点乱,基本涉及到常用的datat ...
- 从小工到专家 ——读《Java程序员职场全攻略》有感
从小工到专家 ——读<Java程序员职场全攻略>有感 <Java程序员职场全攻略>是以故事的形式,向读者介绍Java程序员的职场经验.作者牛开复在北京从事软件开发,已经是一 ...
- c++小学期大作业攻略(五)基于QSS的样式美化
这回真的是最后一篇了. 前面说过,我们开发过程中暂时不搭理样式问题,等最后再一起处理,那么现在就是最后处理时刻了!看到网上说QSS跟CSS差不多,我还觉得自己可以干回老本行了,结果用起来发现,QSS是 ...
- c++小学期大作业攻略(一)环境配置
UPDATE at 2019/07/20 20:21 更新了Qt连接mysql的方法,但是是自己仿照连VS的方法摸索出来的,简单测试了一下能work但是不保证后期不会出问题.如果你在尝试过程中出现了任 ...
- Anaconda使用教程全攻略
Anaconda使用教程全攻略 本文转自 https://zhuanlan.zhihu.com/p/32925500 〇.序 Python是一种面向对象的解释型计算机程序设计语言, ...
- Python 自动化测试全攻略:五种自动化测试模型实战详解
随着移动互联网的发展,软件研发模型逐步完善,软件交付质量越来越受到软件公司的重视,软件测试技术特别是自动化测试技术开始在软件系统研发过程中发挥着越来越重要的作用. 与传统的手工测试技术相比,自动化测试 ...
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
- 微软MVP攻略 (如何成为MVP?一个SQL Server MVP的经验之谈)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 初衷 什么是微软MVP? 成为微软MVP的条件? 如何成为微软MVP? (一) 申请时间划分 (二) 前期准备 (三) ...
- Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...
随机推荐
- bzoj 2818 Gcd(欧拉函数 | 莫比乌斯反演)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2818 [题意] 问(x,y)为质数的有序点对的数目. [思路一] 定义f[i]表示i之 ...
- 【JAVA版】Storm程序整合Kafka、Mongodb示例及部署
一.环境 一台Centos6.5主机 Mongo 3.0 Kafka_2.11-0.8.2.1 Storm-0.9.5 Zookeeper-3.4.6 java 1.7 (后因在mac上打包的jar由 ...
- 解决A program file was not specified in the launch configuration.问题
问题描述: 在eclipse 中开发c++或c是比较麻烦的事情,刚刚配置好mingw32和cdt和环境变量后,新建一个hello world的c++项目还是会出现问题.主要是在编译的时候会提示 ...
- 关于Js脚本的延迟执行
关于标签,我们有一般会放在两个地方,一个是在标签的内部,另一个是放在前面.这一次我们着重讲解一下放在标签内部.在我们用Js操作DOM元素时,如果不延时执行,DOM元素其实是根本还没有被渲染出来的. ...
- 06 java中常量以及常量池
1.举例说明 变量 常量 字面量 int a=10; float b=1.234f; String c="abc"; final long d=10L; a,b,c为变量,d为常量 ...
- iOS学习之触摸事件
触摸事件 iOS中的事件: 在用户使用app过程中,会产生各种各样的事件.iOS中的事件可以分为3大类型: view的触摸事件处理: 响应者对象: 在iOS中不是任何对象都能处理事件,只有继承了UIR ...
- 条件编译#ifdef的妙用详解_透彻
这几个宏是为了进行条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部 分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条 ...
- HDU 1455 http://acm.hdu.edu.cn/showproblem.php?pid=1455
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #de ...
- HTML5新增的CSS类API
- 转载JQuery 中empty, remove 和 detach的区别
转载 http://www.cnblogs.com/lisongy/p/4109420.html .empty() 描述: 从DOM中移除集合中匹配元素的所有子节点. 这个方法不接受任何参数. 这个 ...