`
isiqi
  • 浏览: 16561535 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论
阅读更多

11.如何能记录到页面的校验码?(Output value能不能得到web页面的校验码,一般的校验码是由图片随即生成的 ,用QTP怎么录脚本在登陆前得到校验码并输入到校验码一栏)
A:1)
一个很简单的方法:测试时叫开发屏蔽掉检验码的功能后,再录制脚本。检验码的功能可以手工很简单测试出来。
2)
想得到图片的校验码,唯一的方法就是跟程序员拿程序,然后自己在脚本里面写FUCNTION!
其它就要手动输入了!

12.QTP 正则表达式的帮助


13. 自动测试实施计划
1)
分析实施自动化测试可能存在的风险:就是决定是否实施, 用成本 时间 效果 。。
2)
制定实施的时机:也就是在什么阶段
3)
研究所要测试的功能 性能
4)
分析在测试中可能遇到的问题 和困难
5)
预估所需要的人时和相应的硬件
7)
确定负责人员和相关测试人员
6)
制定详细的测试计划 方案
7)
最后是执行计划

14. 一个Action里如何调用在另一个Action中定义的函数、过程(或变量、常量)
例如:
-----------------------------------
'Action_A
Public strURL
...... ......
Function QueryList()
...... ......
...... ......
End Function
------------------------------------
'Action_B
'
如何调用 QueryList函数和strURL
A
1)可以把这些变量和Function放在vbs文件作为resource文件共享,在每个Action中添加该文件.

如果function中出现控件调用,那么必须确保该控件在相应的Actionobject repository中是存在的.
  2)定义一个可被调用的ACTION里面唯一的放一个FUNCTION

15.如何管理QTP的源代码?(QTP生成的源代码比较多,而且和环境控件都有关,假如需要多人同时开发, 请问如何管理源代码?)
A:
一个是代码你可以通过vss,cvs等来进行管理
一个是通过td或者qc的基于用例的代码管理

其实第一种方法是基于版本控制来进行的,第二种方法是基于用例管理进行的
角度不同,管理方法也不同,不过团队协作需要的大家分工明确,进度控制。代码管理可以借鉴开发的方法。

16: 脚本不能回放,IE中的AtiveX设置有问题??
A: TOOL---OPTIONS----Ative screen
然后点开advanced..,LOAD ACTIVEX CONTROLS打勾
TOOL---OPTIONS----Ative screen
然后点开advanced..,run scrīpts-->disabled!

17 如何参数化link

Browser("Browser").Page("Page").Sync
Browser("Browser").Navigate "http://www.51testing.com/cgi-bin/index.php"
Browser("Browser").Page("51Testing
软件测试论坛---软件测试,软件质量工程师").Sync

Set tags=Browser("Browser").Page("51Testing
软件测试论坛---软件测试,软件质量工程师").Object.links
Dim i,j, arr()
i=0
For Each element in tags
If Ucase(element.tagname)="A" and left(element.InnerText,1)="[" Then
ReDim Preserve arr(i+1)
arr(i)=element.InnerText
i=i+1
end if
Next



For j=0 to i
Browser("Browser").Page("51Testing
软件测试论坛---软件测试,软件质量工程师").Link("[ 版主讨论区 ]").SetTOProperty "Text",arr(j)
Browser("Browser").Page("51Testing
软件测试论坛---软件测试,软件质量工程师").Link("[ 版主讨论区 ]").Click
Browser("Browser").Back
Next

这段代码先是打开一个空的页面,然后输入url.
到达论坛首页。

然后得到所有版面的名称,也就是link的名称。
存到数组里面。
然后使用SetTOProperty更换录制时候录下的link的属性。
这时候再click

18. QTP Debug状态,Export View 区域不能写入任何东西

A: 如果你的目的是在debug过程中修改已执行过的命令,可以在Debug viewCommand中执行命令,如重新执行已经执行过的命令,修改变量的值等等。

如:Window("Flight Reservation").WinEdit("Name:").Set "51testing"
已经执行,如果现在想修改“51testing”“testing”,可以在command中执行
Window("Flight Reservation").WinEdit("Name:").Set "testing"

19 动态变化值如何获取

A:VAL=Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").GetROProperty("Value")
Browser("
欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").select val

20 如何一一获得Table中 某栏 link text?

A:通过上面link 的学习. 我终于融会贯通,完成了我的问题: 与大家共享:


//////////////////////////////////////////////////////////////////////////////////////
Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Image("Tplus").Click
Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Image("Tplus_2").Click
Browser("Login").Page("Page").Frame("contents").ViewLink("treeview").Link("
开课设置").Click
Browser("Login").Page("Page").Frame("main").WebList("drpStatus").Select "
任意"
Browser("Login").Page("Page").Frame("main").WebButton("
查找").Click
Browser("Login").Page("Page").Sync

Dim finded,findCode,Nowout
'define a constrat for find
findCode = 110901
finded = false

Function MaxPage(pageString)
'msgbox pageString
Dim ilen,i,j
ilen = len(pageString)
i=ilen
While i>0
j = mid(pageString,i,1)
'msgbox j
If instr("123456789",j)>0 Then
MaxPage = j
'msgbox MaxPage
Exit function
End If
i=i-1
Wend
End Function


Dim trowcount,maxp
trowcount = Browser("Login").Page("Page").Frame("main_8").WebTable("
开课代码").RowCount
msgbox "Rowcount: "&trowcount
Nowout = Browser("Login").Page("Page").Frame("main_8").WebTable("
开课代码").GetCellData(trowcount,1)
Nowout = trim(Nowout)
maxp = MaxPage(Nowout)
msgbox "max page: "& maxp

Dim nowPage,checkid
For nowPage = 1 to maxp
If finded Then
Exit for
End If
' link to the
当前所需page
If nowpage>1 Then
Browser("Login").Page("Page").Frame("main_8").Link("[2]").SetTOProperty "Text","["&nowpage&"]"
Browser("Login").Page("Page").Frame("main_8").Link("[2]").Click
Browser("Login").Page("Page").Sync
end if

' Get the rowcount of table in now page
trowcount = Browser("Login").Page("Page").Frame("main_8").WebTable("
开课代码").RowCount
msgbox "Rowcount: "&trowcount

'link every record in the table of the page
for i = 2 to trowcount - 2
Nowout = Browser("Login").Page("Page").Frame("main_8").WebTable("
开课代码").GetCellData(i,2)
'msgbox i&": "&Nowout

checkid = "dgCourse:_ctl" &(i+1)& ":_ctl0"
Browser("Login").Page("Page").Frame("main_8").WebCheckBox("dgCourse:_ctl3:_ctl0").SetTOProperty "name",checkid
Browser("Login").Page("Page").Frame("main_8").WebCheckBox("dgCourse:_ctl3:_ctl0").Set "ON"

Browser("Login").Page("Page").Frame("main_8").Link("0901").SetTOProperty "Text",Nowout
Browser("Login").Page("Page").Frame("main_8").Link("0901").Click
Browser("
开课设置详细信息").Page("开课设置详细信息").Sync
'wait(1)
msgbox "begun"
msgbox findCode
msgbox Nowout
msgbox "finished"
If trim(findCode) = trim(Nowout) Then
finded = true
msgbox "find is ok!"
wait(2)
Exit for
End If
Browser("
开课设置详细信息").Close
Browser("Login").Page("Page").Sync
next

Next

21 .网页下拉框的选择

A:For i =1 to 10
Randomize
IndexNum=Int((10 - 5 + 1) * Rnd + 5)
Browser("Mercury Tours").Page("Find Flights_2").WebList("arrive").Select "#"&IndexNum
wait(3)
Next

Sub ChildObjects_Example()
'The following example uses the ChildObjects method to find all the
'list objects on a Web page, and then to select an item in each list.

Set ōDesc = Descrīption.Create()
oDesc("micclass").Value = "WebList"
Set Lists = Browser("Mercury Interactive").Page("Mercury Interactive").ChildObjects(oDesc)
NumberOfLists = Lists.Count()
For i = 0 To NumberOfLists - 1
Lists(i).Select i + 1
Next


End Sub

22 将测试数据单独拿出来

A: 取得一个
Browser("Browser").Page("").WebList("fid").GetItem (1)
取得全部
Browser("Browser").Page("").WebList("fid").GetROProperty("all items")

以下可以在自带的例子中实现
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
a=window("Flight Reservation").wincombobox("Fly From:").GetItem(1)
reporter.ReportEvent 2,"
下拉列表的值",a

23 .和TD连接

A:在QTP中不是有个Quality Center Connection,选择服务器连接,服务器处输入类似http://computer_name/tdbin,其中computer_name为服务器的名字,连接后在测试结果中添加defect就可以与TD相连了。

24 处理Windows弹出窗口

A:IF Not Window("Flight Reservation").Exist(1) Then
'Calling open flight
If not Dialog("Login").Exist(1) Then
Browser("
管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click

End If

25 .查询结果的比较

这是查询一个字段的,对查询结果多页的情况也涉及了,其实应该把所有查询字段联合起来的,也就是改改sql语句和判断条件。

[i]Set Conn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
Conn.Open "Descrīption=kml-it;DRIVER=SQL Server;SERVER=KML-IT;UID=sa;PWD=password;APP=QuickTest Professional;WSID=KML-MICHELLE;DATABASE=kml_db"
sql="select distinct grn_no from grn_dtl where grn_no like '%"&grnNo&"%' order by grn_no DESC"
Rs.open sql,Conn,1,3
Dim i,j,cell
i=1
j=2 'j=2
的原因是因为页面上table是的数据是隔一行一条,不知 道怎么回事,开发人员弄的怪把
Do while not rs.eof
If i=13 Then '13
是每页显示出的最大行数,是个常数
i=1
j=2
Browser("::").Page("::").Frame("mainFrm_5").Link("
下一页").Click
end if
cell=Browser("::").Page("::").Frame("mainFrm_5").WebTable("
收货单号").GetCellData(j,2)
If cell<>rs("grn_no") Then
Reporter.ReportEvent 1, "
查询功能"&cell, "查询结果错误."
Exit do
else
Reporter.ReportEvent 0, "
查询功能"&cell, "查询结果正确."
End If
rs.movenext
j=j+2
i=i+1
Loop
rs.close
conn.close
set conn=nothing[/i]

分享到:
评论

相关推荐

    QTP使用小结

    本文旨在分享使用QTP的经验和心得,帮助测试人员快速掌握QTP的使用技巧,并通过一些实际案例展示如何在测试中应用。 首先,我们需要了解QTP的基本使用步骤。启动QTP后,首件事是在Add-in Manager中配置需要的插件。...

    QTP使用教程,详细

    本教程将详细介绍QTP的使用方法,包括其核心概念、工作原理、操作步骤以及一些实用技巧。 1. **QTP基础概念** - **对象识别**:QTP通过Object Repository(对象库)来识别应用程序中的对象,如按钮、文本框等,并...

    VBS&QTP应用技巧

    VBS(Visual Basic Script)和QTP(QuickTest Professional,现称为UFT - Unified Functional Testing)是自动化测试领域中常见的工具和技术。QTP是一款功能强大的自动化测试工具,主要用于执行功能和回归测试,而...

    QTP常用技巧应用与代码实践

    通过深入学习和实践上述QTP技巧,测试工程师可以更高效地自动化测试,减少手动工作,提高测试覆盖率和质量。同时,了解如何将QTP与TD集成,能够更好地管理和跟踪测试生命周期,实现端到端的自动化测试解决方案。

    QTP技巧和实用函数

    QTP技巧和实用函数,非常适合新人学习!

    QTP11下载地址

    #### 五、QTP11的使用技巧 1. **对象识别**:熟悉QTP11的对象识别机制,合理设置对象属性,以提高测试的稳定性和可靠性。 2. **脚本优化**:学习如何编写高效、易维护的测试脚本,利用函数库和业务流程等高级特性...

    QTP

    【QTP常用技巧展示】:在QTP测试过程中,有许多提高效率的技巧,如使用`Sync`确保对象就绪再进行操作,使用`Smart identification`优化对象识别,以及利用`Test Run Settings`定制测试运行参数等。 【QTP对象识别...

    qtp9.2.rar_QTP9.2

    对于想要深入掌握QTP 9.2的测试人员,可以阅读压缩包中的“qtp9.2.pdf”文档,这份资料详细介绍了QTP 9.2的各种特性和使用技巧,通过学习,你可以更好地理解和应用这款强大的自动化测试工具。 总结,QTP 9.2作为一...

    QTP脚本调试器,调试QTP脚本使用

    下面将详细介绍QTP脚本调试器的使用及其相关知识点。 1. **脚本编辑器**: QTP的脚本编辑器是编写和修改测试脚本的主要工具。它提供了代码编辑、语法高亮、自动完成等特性,使得测试脚本的编写更为方便。在编辑器...

    qtp测试软件的使用方法及实例

    本文档将深入探讨QTP的使用方法,并通过六个实际的测试实验,帮助读者理解和掌握自动化测试的基本操作。 一、QTP基础 QTP主要基于录制和回放机制,用户可以记录在应用程序上的操作,然后回放这些操作以执行自动化...

    自动化测试工具——QTP使用基础

    通过本文档的学习,初学者可以了解QTP的基本使用方法,包括但不限于测试流程、测试脚本的增强技巧、参数化和检查点的应用等。熟练掌握QTP可以帮助测试人员更高效地进行功能测试,提高软件质量的同时减少测试成本。

    自动化测试工具QTP软件使用手册

    【QTP软件自动化测试工具详解】 QuickTest Professional (QTP) 是一款强大的自动化测试工具,...在后续章节,我们将深入探讨QTP的录制技术、检查点设置、参数化方法以及脚本调试技巧,进一步提升测试自动化的能力。

    QTP基本功能的使用

    编辑测试脚本时,可以使用 QTP 的关键字视图,通过查看关键字视图可以很容易地知道测试经过的步骤技巧。在录制过程中,QTP 为每一步操作自动生成操作文档,放到关键字视图的“Documentation”列中显示出来。 添加...

    QTP实战操作笔记及使用方法,功能详解

    本笔记不仅包含QTP的基本操作,还涵盖了高级功能和实战技巧,旨在帮助读者从新手到专家,熟练运用QTP进行自动化测试工作。通过深入学习和实践,你将能够有效地提升测试效率,确保软件产品的质量。

    QTP9.2、QTP10安装配置教程

    #### 六、进阶使用技巧 对于想要进一步提高测试效率的用户,可以考虑以下几点: - **学习QTP内置脚本语言**:掌握VBScript或JavaScript,以更好地控制测试流程。 - **利用对象仓库**:合理管理测试对象,减少维护...

    QTP-设置相关技巧收集

    本篇文章将详细阐述QTP的一些设置相关技巧,帮助用户提升测试效率和准确性。 1. **避免对象库产生重复对象**: 在QTP中,对象库用于存储被测应用中的对象。为了避免对象库中产生重复的对象,可以在工具菜单(Tools...

    QTP经典实例.rar

    本实例集将深入探讨QTP在实际操作中的应用,帮助读者更好地理解和掌握QTP的使用技巧。 1. **对象识别与描述符** QTP通过Object Repository识别应用中的对象,并使用描述符(如Name、Class、Index等)来唯一标识...

    QTP高级5_QTP中使用正则表达式

    ### QTP中使用正则表达式的高级技巧 #### 一、引言 QTP(Quick Test Professional),现称为UFT(Unified Functional Testing),是一款广泛应用于软件自动化测试的强大工具。正则表达式作为QTP/UFT的一项重要功能...

Global site tag (gtag.js) - Google Analytics