• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

QTP中一些基础代码结构累积

发布: 2008-9-11 13:37 | 作者: 网络转载 | 来源: 51testing | 查看: 123次 | 进入软件测试论坛讨论

领测软件测试网

1 生产随机数列
第一种方法-----------------------------------
randomize'更新反回的数据
funcation rand(k,n)
n=int((k-1)*rnd+1)
rand=n
end funcation
第二种方法
n=randomnumber.value(1,255)
2 当运行到表中的某一行,自动导出表中的所有数据
row=datatable.getcurrentrow
if row="5" then
datatable.export("d:\data.xml")
end if
3 webedit("txtpass").setsecure"sdsdf...."
如果参数化密码,可以直接在数据表中写入未加密的密码,它会自动识别,即不用把setsecure改为set
4 如果弹出对话框就获取上面提示信息并与表中的信息对比,不统一证明弹出的提示出错,主要用来验证
 if browser("web_name".dialog("dialog_name").exist(1) then'如果不出现=false
error_message=browser("web_name".dialog("diaglog_name".static("用户密码错误!").getRoproperty("text")
   if error_message<>(datatable.value("error_info"))then
msgbox(error_message)
end if
browser("web_name").dialog("diaglog_name").close
end if
这里我总结了两点技巧:
 一是:对于dialog中,虽然提示信息对象名称是"用户密码错误",但如果信息对象名称是“该用户不存在”,不用更改会自动识别,我想主要是录制第一遍时,“用户密码错误”只是让运行时能找到这个控制,而不管它是什么内容,因为在对象仓库中,text不是决定该对象的属性
二是:如果对于提示信息比较长的,可以用mid(error_message,n,m)取一部份特征提示信息进行验证,这样我想可以节省处理时间,又可以避免长度以及空格等字符的处理
5 在运行时,向某一个单元格赋值: datatable.value("kai",dtlocalsheet)="nanjing"
datatable.value("num")只在global形式下的一种省略形式;完整形式
是datatable.value("num",dtlocalsheet)
-----取得某一具体行的值:
datatable.setcurrentrow(n);
msgbox(datatable.getsheet("global").getparameter("kai").Rawvalue)
或者kk=datatable.Rawvalue("kai","action1")
-----在run-time期间,添加一个action和参数
kk=datatable.addsheet("name").addparameter("kai","ddd").name'/value
6 with dialog("name")'可以省好多代码,看着也简洁
content=.wintreeview
end with
7 wintreeview.select(item)(根是0,列表第一个也是0)
wintreeview.getcontent
wintreeview.getitem(整行)+";"+
winlistview.getitem(行中的第一个字符段)
wincheckbox("").set"off"'/on
8 数据库检查点:
sub getdata
set con=createobject("adodb.connection")
con.open("descrīption=mod;driver=sqlserver;server=hp\sqlserver;uid=sa;"&_
"pwd=11111;APP=qtp;WSID=hp;database=MOD31" '用sqlserver方式
Con.open "DRIVER = {Microsoft Access Driver (*.mdb)};DBQ=D:\Testdb.mdb" '用access方式
set record=createobject("adodb.recordset")
sql="select * from m3_program" '选择具体满足一条件的:sql="select* from m3_program where "
record.open sql,con
if(not record.eof) then
record.movenext
msgbox("p_name")
end if
record.close
set record=nothing
con.close
set con=nothing
end sub
'如果没有查到内容,在结果中不会报错,也不会弹出窗口

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: qtp QTP 代码 基础 结构

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网