51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7097|回复: 19
打印 上一主题 下一主题

想请教有关参数化的问题!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-6-8 11:21:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在研究qtp,在项目中遇到需要对URL参数化的问题,在之前的帖子中有看到对该问题进行过讨论,可是看了半天还是不明白所以然,里面提到的跟环境参数有关,请各位高手帮我看看这个问题该怎么解决?

还要请教一个问题:
请问环境参数在qtp中有什么用途?我目前手里的教材中没有提及,而且也看不懂之前同仁讨论有关环境参数的帖子,非常郁闷!烦请大侠们提点一下!

非常谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2005-6-8 12:01:12 | 只看该作者
我也不太明白。但是实现一种目标有很多种方法。
我的环境变量是为了设置方便。我用xml
读入一些参数。比如用户名。密码之类
这个xml另外有一个小程序来方便的实现傻瓜化配置
至于url的参数化。我大多数利用程序自己拼接
不知道有没有更好的方法给某个url传参数。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-6-8 12:48:27 | 只看该作者
可以说说你的傻瓜化配置?
xml另外有一个小程序来方便的实现傻瓜化配置
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-6-8 13:04:24 | 只看该作者
xml你可以用其他东西来读写嘛。。
我们用java的。其实就是
配置

xml做配置文件的用法很简单的
<Environment>
       <Variable>
              <Name>TestUrl</Name>
              <Value>https://172.16.229.92/12220</Value>
       </Variable>
</Environment>
读取的例子完全照搬手册
fileName = Environment.ExternalFileName

If (fileName = "") Then
  Environment.LoadFromFile("路径")
End If
accountName = Environment.Value("accountName")
等等。至于设置的小程序。
有空我贴一下吧
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2005-6-8 14:42:05 | 只看该作者
非常感谢dfinger的回复,看了后大致有点概念了,想问:

1,对于环境变量的用途,我可不可以理解成我们在datatable中参数化的另一种方法,只是对于那些我们不能直接在keyword view中指定参数化的变量,我们就用环境参数来外部指定?

2,另外你提到你用xml读入一些参数,那么我们可不可以用excel,或者TXT等等格式来读入参数呢?

3,还有等待着你贴那个小程序

(☆_☆)
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-6-8 14:52:18 | 只看该作者
这个都是拿来保存状态的。看实际使用需要了。
只要能取到值。如何保存状态都是自己决定了

环境变量必须要用xml格式读入。不知道ini可不可以。没时间研究。
但是你要是想要用excel的话。。完全可以用
DataTable.ImportSheet "C:\name.xls" ,1 ,"name"
的方式读入。。。。。。。。
你去查一下importsheet方法好了。。。
实际上qtp自己带的帮助就能解决大部分的问题了
vb要是比较熟悉的话。。完全可以自己来维护一个
配置文件。。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-6-8 15:25:46 | 只看该作者
Originally posted by coolmaomao at 2005-6-8 11:21 AM:
最近在研究qtp,在项目中遇到需要对URL参数化的问题,在之前的帖子中有看到对该问题进行过讨论,可是看了半天还是不明白所以然,里面提到的跟环境参数有关,请各位高手帮我看看这个问题该怎么解决?

还要请教 ...


手里的教材能不能先共享一下?:)呵呵。谢谢哦。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-6-8 15:53:48 | 只看该作者
Originally posted by QA_BAY at 2005-6-8 12:48 PM:
可以说说你的傻瓜化配置?
xml另外有一个小程序来方便的实现傻瓜化配置

我看了一下。还不大好弄。。
建议大家参考以下。。
http://www-128.ibm.com/developerworks/cn/xml/theme/x-java.html
这里。。
我回家捉摸捉摸能不能写个通用的。。
=_=b
其实用什么都能实现。无非是麻烦点罢了

唔唔。上面那个很多没必要掌握
http://www.matrix.org.cn/article/803.html
这里有个例子。java如何处理xml的。。
大致参考以下好了。。
如果你的配置比较复杂。就可以写一个小的程序来设置
xml

[ Last edited by dfinger on 2005-6-8 at 15:58 ]
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2005-6-8 16:20:19 | 只看该作者
关于URL的参数化,除了dfinger提到的方法外,不知以下我这个可行么?

step1. 在脚本的最前面加入SystemUtil.Run "iexplore.exe", "URL"
step2. 在Record and Run Setting中,勾选Record and run test on any open Web browser
step3. Keyword view中将URL在datatable中参数化。


我刚试了一下,应该是可行的。

不知这两种方法各有什么优缺点?我个人认为这个方法是不是实行起来更容易点呢,特别是对我这种菜鸟来说?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2005-6-8 16:36:03 | 只看该作者
Originally posted by coolmaomao at 2005-6-8 04:20 PM:
关于URL的参数化,除了dfinger提到的方法外,不知以下我这个可行么?

step1. 在脚本的最前面加入SystemUtil.Run "iexplore.exe", "URL"
step2. 在Record and Run Setting中,勾选Record ...

我也刚用了几天qtp不是很熟。但是这么做
有个问题你如何解决?
你url放在datetable里面。谁来set这个值?
还是要读入一个xml。xls或者txt?
你的test如果要使只是自己用。自然无所谓了
不过拿到别人那里马上能用么?
放环境里面还有个好处就是我其他的test也用这一个xml
配置。。方便一点。。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2005-6-8 17:32:50 | 只看该作者
SystemUtil.Run "iexplore.exe", "URL"
你url放在datetable里面。谁来set这个值?
这个值之前不是已经保存在DATATABLE里面的吗?还用设置吗?
哪几个链接自己是知道 的,然后再填到DATATABLE里面!
拿到其它的机子也是调IE,打开URL里面的值.
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2005-6-8 17:51:29 | 只看该作者
Originally posted by QA_BAY at 2005-6-8 05:32 PM:
SystemUtil.Run "iexplore.exe", "URL"
你url放在datetable里面。谁来set这个值?
这个值之前不是已经保存在DATATABLE里面的吗?还用设置吗?
哪几个链接自己是知道 的,然后再填到DATATABL ...

哦。那就可以。我以为这个url自己不一定知道的
一开始我做这个的时候。曾经想要别人用输入的方式
打开一个测试url。后来觉得不太方便。想要做成无人值守型的

我的设想是以后用TD(目前只知道这个东西的名字)跑测试
的时候。别人能够不关心我的QTP code。。
只要关心一个xml文件就ok。。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2005-6-8 18:03:07 | 只看该作者
别人能够不关心我的QTP code。。
只要关心一个xml文件就ok。。
如果他看不懂你的CODE,那看程序员开发写代码别人看不懂.那他怎么深入修改
,还有QTP不只只有XML重要,其它的也很有用,
设计脚本的时候要考虑到其它的,要不是用起来就会觉得功能很少!
还有QTP不是自己写代码而不录制就行的!
适当加脚本,如果要写很多的话,那还不如做开发或者跟开发要代码!
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2005-6-9 10:00:04 | 只看该作者
我想dfinger使用xml的好处就是如果当我所有的脚本都需要改URL的时候,只需要把这个XML中相应的参数修改一下就行了,从而避免了重复的到每一个datatable中去修改,
而且dfinger所提到设想(别人能够不关心我的QTP code。。
只要关心一个xml文件就ok。。),这正是我们项目所要求的,所以我打算尽量把参数化的东西做到外部文件中去

谢谢 !

呵呵,还有个疑问,对于环境参数而言,分为internal和external,想问这个作为internal的环境参数跟datatable中设置的数据使用上有何区别?
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2005-6-9 11:07:50 | 只看该作者
internal就是指内部的。只能在本test使用的。
外部的就是其他test也可以用到。
xml里面的参数都是外部的

ps:你琢磨这个这么细致干吗?
其实你观察测试用例目录下的datatable,应该就是Default.xls
也就是一个外部的文件。性质上和外部的xml没什么本质区别
看你喜欢了。。
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2005-6-9 13:35:30 | 只看该作者
呵呵,就是对这个问题很感兴趣,谢谢你们的耐心解答,我的问题已经成功解决啦,这个论坛真的不错,大家都很热心,以后常常来
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2005-12-26 12:47:13 | 只看该作者
shou cang
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-7-3 10:23:38 | 只看该作者
精华篇中QTP8 Tutorial_oldsidney_cn又说这个问题
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-7-5 15:36:08 | 只看该作者
有意思
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2010-5-11 09:45:17 | 只看该作者
楼主I LOVE YOU!谢谢了!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 18:22 , Processed in 0.081980 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表