51Testing软件测试论坛

标题: 再提个难题 [打印本页]

作者: developing_T    时间: 2005-4-20 14:49
标题: 再提个难题
各位观众请看题:
我能不能把QTP中的ITEM(图1中的AUTOTEST_减免税申请审批表)这列给参数化了,因为我每次都要点击不同的标题(图2),图2中的表是动态的,因此每次的标题会改变,比如下次变成AUTOTEST_退税申请表,什么的,那QTP就不认识了。如何解决!
作者: 生如火花    时间: 2005-4-20 15:02
不会,混贴的
作者: developing_T    时间: 2005-4-20 15:13
白让我兴奋一下,呵呵,等会的!
作者: developing_T    时间: 2005-4-20 15:28
贴子发错地方了,应该到QTP区,怎么转过去啊?
作者: lovetest6    时间: 2005-4-21 12:17
搞定。
前面不是有人说过处理动态link的问题么?

先录下点击某行的脚本,然后改。
先要让QTP知道这个表格WebTable,简单的办法是录完了,添加一个checkpoint.
check 这个表格。(就是在表格上点右键,然后选第一个,然后选整个的表格。)

ok,然后,这时候,QTP就知道这个webtable了。
估计你用object spy抓也可以。

然后,写个循环。循环取出表格中某列的文字。
然后用处理动态link的办法,SetTOProperty就可以了。

iRowCount=4
For i=1 to iRowCount
  linksname=Browser("xxx").Page("xxx").WebTable("xxx").GetCellData(i, 1)
(这里的GetCellData(i, 1),我假设了连接在每行的第一列)
  linksname=cstr(linksname)
  Browser("xxx").Page("xxx").Link("xxx").SetTOProperty "text",linksname
  Browser("xxx").Page("xxx").Link("xxx").Click

Next       

但是抱歉,我不知道如何取得webtable的行数,好像函数中只有取列数的。
谁能告诉我啊,那样就不用定义iRowCount了。

[ Last edited by lovetest6 on 2005-4-21 at 12:21 ]
作者: lovetest6    时间: 2005-4-21 13:00
相应的问题又出来了,这样点的连接如何检查呢?
我上面的例子是按照我的菜单写的,左边有个菜单,上面有很多内容,点了以后,右边的页面做相应的变动。
可是我怎么断定这也页面的变动是正确的呢?
QTP是应该这样用的么?呵呵。
当然了,如果只是检查连接是否正确,用webQA就可以了,但是我们要验证页面上的内容是否也正确啊,应该怎么做呢?QTP是用来做这个的么?呵呵。
作者: developing_T    时间: 2005-4-21 17:02
请问:Browser("xxx").Page("xxx").Link("xxx").SetTOProperty "text",linksname
是做什么的
作者: lovetest6    时间: 2005-4-21 17:09
做什么的??
不知道,看看手册

Retrieving and Setting Test Object Property Values
Test object properties are the set of properties defined by QuickTest for each object. You can set and retrieve a test object's property values, and you can retrieve the values of test object properties from a run-time object.

When you run your test, QuickTest creates a temporary version of the test object that is stored in the test object repository. You use the GetTOProperty, GetTOProperties, and SetTOProperty methods to set and retrieve the test object property values of the test object.

The GetTOProperty and GetTOProperties methods enable you to retrieve a specific property value or all the properties and values that QuickTest uses to identify an object.

The SetTOProperty method enables you to modify a property value that QuickTest uses to identify an object.

Note: Because QuickTest refers to the temporary version of the test object during the test run, any changes you make using the SetTOProperty method apply only during the course of the test run, and do not affect the values stored in the test object repository.

For example, the following statements would set the Submit button's name value to my button, and then retrieve the value my button to the ButtonName variable:

Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button"

ButtonName=Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")

You use the GetROProperty method to retrieve the current value of a test object property from a run-time object in your application.

For example, you can retrieve the target value of a link during the test run as follows:

link_href = Browser("Mercury Technologies").Page("Mercury Technologies").Link("Jobs").GetROProperty("href")

Tip: If you do not know the test object properties of objects in your Web site or application, you can view them using the Object Spy. For information on the Object Spy, see Understanding the Test Object Model.

For a list and description of test object properties supported by each object, and for additional information about the GetROProperty, GetTOProperty, GetTOProperties, and SetTOProperty methods, refer to the QuickTest Professional Object Model Reference.

[ Last edited by lovetest6 on 2005-4-21 at 17:18 ]
作者: developing_T    时间: 2005-4-21 17:26
奇怪,我的手册里没有这些!
不过有这句:Returns a TestSettings object, which enables you to configure test- and component-specific settings
作者: lovetest6    时间: 2005-4-22 09:20
不会吧??一定有的啊,呵呵,我这个是QTP82里面的手册。
就是从这里下载的。
作者: ziheng198688    时间: 2008-11-6 16:33
原帖由 developing_T 于 2005-4-21 17:02 发表
请问:Browser("xxx").Page("xxx").Link("xxx").SetTOProperty "text",linksname
是做什么的

就是将Link的"linksname"属性值设置为"text"
作者: ziheng198688    时间: 2008-11-6 16:54
原帖由 lovetest6 于 2005-4-21 12:17 发表
搞定。
前面不是有人说过处理动态link的问题么?

先录下点击某行的脚本,然后改。
先要让QTP知道这个表格WebTable,简单的办法是录完了,添加一个checkpoint.
check 这个表格。(就是在表格上点右键,然后选第 ...

Browser().Page().WebTable().RowCount可以得到table的行数的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2