QTP/UFT 学习笔记:函数方法等记录

2024-06-10 06:32

本文主要是介绍QTP/UFT 学习笔记:函数方法等记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

重新传下了截图,便于正在学习研究的人 或者 哪天自己会回头来看。

1、Back

效果等同于浏览器窗口上的【回退】按钮,使浏览器返回上一个页面

 

2、CaptureBitmap

截图方法。截屏文件格式只能是 png 或者 bmp

截屏一:截取运行对象的整个屏幕

截屏二:截取运行对象中包含的子对象

语法:

CaptureBitmap ( FullFileName,[ OverrideExisting ])

CaptureBitmap:捕获位图

FullFileName:完整文件名,包含整个路径

OverrideExisting:覆盖已有的。【可选值为true:可覆盖;false:不可覆盖】。可选

当该语句用于等式右边时,需要加上括号。

 

test.png 结果图像

test2.png 结果图像

对象侦测器抓取对象时,file name有值:

 

3、CheckProperty

检查属性。

语法:

CheckProperty (PropertyName,PropertyValue,[TimeOut])

CheckProperty:检查属性

PropertyName:属性名称

PropertyValue:对应名称属性的值

TimeOut:超时。可选

 

当该语句用于等式右边时,需要加上括号。如下图:

图①:Image对象的部分属性截图

图②:代码描述段

图③:执行代码段②的结果

 

4、ChildObjects

子对象

语法:

ChildObjects([description])

Description:获取指定页面相同标属性的标签

 

5、Close

关闭。关闭指定对象

 

6、CloseAllTabs

关闭同一个浏览器窗口中所有的标签页

Browser("百度一下,你就知道").CloseAllTabs 

7、DeleteCookies

删除浏览器的cookie

语法:

DeleteCookies ([ FromSource ])

webUtil.GetCookies(url)

 

8、DialogExists、Exists

对话框/被测对象是否存在,返回Boolean类型的值:true、false

打开ie浏览器中的“管理加载项”对话框,执行下面一段代码,a = true

语法:

Object. Exist([ timeout ])

 

9、EmbedScript、RunScript

嵌入脚本。嵌入的是JavaScript脚本。

与RunScript的区别

语法分别为:

Browser("Browser").EmbedScript(Script). / Browser("Browser").EmbedScriptFromFile(FileName) Browser("Browser").Page("Page").RunScript(Script). / Browser("Browser").Page("Page").RunScriptFromFile(FileName)

假如要在百度首页的输入框赋值,可以调用JS代码。

首页要找到百度首页上输入框的id,然后用JavaScript中的getElementById()方法获取到需要赋值的对象:

 

RunScript:

 

EmbedScript:

 

10、Forward

效果等同于浏览器窗口上的【前进】按钮,使浏览器进入前一个页面

 

11、FullScreen

开启浏览器的全屏模式

12、OpenNewTab

在当前打开的浏览器窗口中打开新的tab页

Browser("百度一下,你就知道").OpenNewTab

13、WaitProperty

等到指定的对象属性达到指定值或超过指定的超时之前继续下一步,如省略超时不写,则默认系统设置的超时时间

语法:

WaitProperty( properName,propertyValue[,timeout ])

properName:对象名

propertyValue:指定对象对应的值

timeout:等待超时时间上限

 

14、Activate

激活。激活对话框

语法:

Object.Activate([ Button ])

Button:micLeftButton、micMiddleButton、micRightButton。可选

 

15、DblClick

双击事件

16、Drag

拖动事件

语法:

Object.Drag(X,Y[, Button ])

拖动某个对象,并指定拖动目标位置的X,Y坐标值。

Button:按钮,可选

17、Drop

执行指定部分进行拖放操作

语法:

Object.Drop(X,Y[, Button ])

18、GetTextLocation

检查指定的文本字符串是否包含在指定窗口区域

Object.GetTextLocation(TextToFind,[in,out] Left, [in,out] Top, [in,out] Right, [in,out] Buttom,[ MatchWholeWordOnly ])

TextToFind:需要查找的文本字符串

GetVisibleText

获取对话框相应的文字

19、GetROProperty、GetTOProperty、GetTOProperties

语法:

Object.GetROProperty(Property,[ PropertyData ])

Object.GetTOProperty(Property)

Object.GetTOProperties

GetROProperty:获取运行时指定对象的某个属性值

GetTOProperty:获取对象库中指定对象的某个属性值

GetTOProperties:获取对象库中指定对象的所有属性值

20、GetVisibleText

从指定的区域返回文本

语法:

Object. GetVisibleText([Left],[Top],[Right],[Bottom])

21、Maximize、Minimize

最大化对话窗口、最小化对话窗口

Browser("百度一下,你就知道").Dialog("Internet 选项").Minimize

22、MouseMove

鼠标指针移动到对话窗口内的指定位置

语法:

Object. MouseMove(X,Y)Browser("百度一下,你就知道").Dialog("Internet 选项").MouseMove(78,23)

23、Move

移动对话窗口到屏幕指定的位置

语法:

Object. Move(X,Y)

24、RefreshObject

指示UFT再次识别应用程序中的对象时,参考这一步的对象

25、Resize

设置对话框的尺寸

语法:

Object. Resize(X,Y)

26、Restore

恢复对话框之前的大小

SetTOProperty

设置对象库中指定对象的某个属性值

语法:

Object. SetTOProperty(Property,Value)

27、ToString

让当前指定对象返回一个字符串

语法:

Object. ToString()

28、Type

指定对话框中的字符类型

语法:

Object. Type(KeyBoradInput)

29、WinButton

设置当前对象中的按钮事件

30、RunAnalog

运行指定的模拟轨道

语法:

Object. RunAnalog(ActionId,[ Speed ])

设置指定对象在模拟轨道上的运行速度

31、WinTab

系统选项卡。可以设置指定对象的选项卡事件

如下图中的【常规】【安全】【隐私】等就是选项卡,【常规】是一个选项卡,【安全】是一个选项卡。

 

32、CheckItemProperty

检查指定项目在指定时间内是否达到预期值

语法:

Object. CheckItemProperty(Item,PropertyName,PropertyValue,[ TimeOut ])

33、GetContent

返回在选项卡标签带中所有选项卡的列表

语法:

Object. GetContent()

34、GetItem

返回索引中指定选项卡的值

语法:

Object. GetItem (Item)

35、GetItemProperty

返回选项卡标签带中指定属性的当前值

语法:

Object. GetItemProperty(Item,Property)

36、GetItemsCount

返回选项卡标签带中选项卡的数量

语法:

Object. GetItemsCount()

37、GetSelection

得到当前被选中的选项卡标签

语法:

Object. GetSelection()

38、Select

选中指定的标签项

语法:

Object.Select(Item,[ Button ])

39、WaitItemProperty

等到指定的对象属性达到指定值或超过指定的超时之前继续下一步,如省略超时不写,则默认系统设置的超时时间

语法:

Object. WaitItemProperty(Item,PropertyName,PropertyValue,[ TimeOut ])

40、isNumeric

判断一个表达式是否是数字, 如果返回true即为数字,返回false非数字

Dim InmoneyInmoney = “1234sad”If not isNumeric(Inmoney)  Thenmsgbox Inmoney&” 不是数字”End If

41、Date、Now、time

日期、当前系统日期+时间、当前系统时间

print date() '2015/12/11
print Now() '2015/12/11 10:45:06
print time() '10:45:07

 

42、round

round(x,n)

取变量x的小数点后n位

43、CInt、CLng、CSng、CDbl

字符串转换。

CInt(expression)      Integer 
CLng(expression)    Long 
CSng(expression)   Single 
CDbl(expression)     Double
CStr(expression)         String

举例:

 

注意:CInt()函数,不是单纯的删除小数部分,而是将小数四舍五入成最接近该数的偶数。

列如:0.5 四舍五入 为 0, 1.5四舍五入 为 2

44、WebRadioGroup

网页单选按钮组

语法:

Object.WebRadioGroup(name).Select( Value ) 

例如:下图的选择代码实现为

Browser("Browser").Page("Page").WebRadioGroup("bankcard").Select "1"    

 

WebList

WebRadioGroup

WebTable

.select 2

.select 2

.Rowcount 返回表格的行数

.getROProperty("value")

.getROProperty("selection")

.ColumnCount(n) 返回表格第n行的列数

 .object.selectedIndex

.object.selectedIndex

.getCellData() 返回指定单元包含的文本

.select "女"

 

.ChildItem()

 

 

.GetRowWithCellText()

使用ColumnCount(rowNumber)时,需要记住一点,这个方法的参数rowNumber是从1开始的,没有rowNumber 为0的行。

如果table有标题行,则标题作为第一行。

45、WebEdit 日期控件 日历控件 时间控件

1)

Browser("xx").Page("xx").WebEdit("html id:=HTKSSJ_dateTextBox","html tag:=INPUT","kind:=singleline","index:=1").Object.value="2014-10-09"


2)

Browser("xx").Page("xx").WebEdit("html id:=HTKSSJ_dateTextBox","html tag:=INPUT","kind:=singleline","index:=1").Object.setAttribute "value", "2014-10-09", 0

3)

Browser("xx").Page("xx").WebEdit("html id:=HTKSSJ_dateTextBox","html tag:=INPUT","kind:=singleline","index:=1").Object.readonly=falseBrowser("xx").Page("xx").WebEdit("html id:=HTKSSJ_dateTextBox","html tag:=INPUT","kind:=singleline","index:=1").set"2014-10-09"

 

 

46、变量明明有值,却传不到下一个function时,检查是不是变量为局部变量,传值失败

尽量都用全局变量

47、Wait(seconds,[ milliseconds ])

等待函数

wait(10) '等待10秒执行下一句

48、Deselect

取消已选中的项目

Deselect(Item)

49、ExtendSelect

添加选项到多选项列表中

ExtendSelect(Item)

50、Array

数组

定义一维数组语法:

Dim aa = array(“wo”,”shi”,”zhong”,”guo”,”ren”)

则:

a(0) = “wo”a(4) = “ren” 

不限数组长度

 

51、多个账号循环注册多个网站的示例

Dim nabeiURL,haofuwu,haochanpin,haipiquanURL,humenjiaURL,hcpURL,url,url1,url2,url3,url4,url5,url6,url7,url8,url9
'内测
haofuwu = ""
haochanpin = ""
'正式
url1 = ""
url2 = ""
url3 = ""
url4 = ""
url5 = ""
url6 = ""
url7 = ""
url8 = ""
url9 = ""
'注册表单中需要填入的值 申明变量
Dim userName,userName1,userName2,userPwd,confirmPwd,email,mobile,checkCode
userName1 = "userName1"
userName2 = "userName2"Dim userNames
userNames = array(userName1,userName2)
Dim sum1 '得出 useName 数组的最大下标
sum1 = UBound(userNames) - LBound(userNames)
Dim urls
urls = array(haofuwu,haochanpin)
Dim sum2
sum2 = UBound(urls) - LBound(urls)
'多个网站注册多个账号,且每个网站注册的账号一致
Function userName_lists()For i = 0 To sum2systemutil.Run "C:\Program Files\Internet Explorer\iexplore.exe",urls(i)print urls(i)&"        "&now()For m = 0 To sum1userName = userNames(m)printuserName&"        "&now()register()
'            paymentAccount_open()NextNext
End FunctionuserName_lists()'注册
Function register()userPwd = "12345678"confirmPwd = "12345678"email = userName+"@qq.com"mobile = "13511111111"Browser("browser").Page("page").Link("注册").ClickBrowser("browser").Page("用户注册").WebEdit("userName").Set userNameDoBrowser("browser").Page("用户注册").WebEdit("UserPwd").Set userPwdBrowser("browser").Page("用户注册").WebEdit("ConfirmPwd").Set confirmPwdBrowser("browser").Page("用户注册").WebEdit("Email").Set emailBrowser("browser").Page("用户注册").WebEdit("Mobile").Set mobilecheckCode =  inputbox("输入验证码")Browser("browser").Page("用户注册").WebEdit("CheckCode").Set checkCodeBrowser("browser").Page("用户注册").WebButton("立即注册").Clickwait (2)Loop While Browser("browser").Page("用户注册").WebTable("用户名*:").WebElement("验证码输入错误").Exist(2) = falseBrowser("browser").Page("注册成功- 易带易路").Link("前往平台").Click
'    Browser("browser").Page("page").Link("登录").Click
End Function

52、最小化浏览器窗口

Window("Internet Explorer").Minimize

53、 随机数

Dim no1,no2no1 = "tester"randomize '初始化随机数生成器no2 = int(99999*rnd)+999 '生成一个随机数(在99999-999范围内)print no1&int(99999*rnd)+999no1 = "tester"&int(99999*rnd)+999

54、用当前系统时间串命名保存本地的文件

  1. 先将获取的日期时间转换成字符串
  2. 然后将字符串中的“/”用“:”替换掉。因为电脑中文件命名不支持“/”“:”
  3. 再将字符串中的“:”用“-”替换掉
  4. 最后将字符串拼接到文件名中
Dim no1,no2no1 = cstr(now)
print "cstr(now) = "&no1
no1 = replace(no1,"/",":")
print "no1 = "&no1
no1 = replace(no1,":","-")
print "no1 = "&no1
desktop.CaptureBitmap "E:\pic\"&no1&".png",Truedesktop.CaptureBitmap "E:\pic\"+no1+".png",True

 

 

这篇关于QTP/UFT 学习笔记:函数方法等记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047429

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss