51Testing软件测试论坛

标题: 想请教有关参数化的问题! [打印本页]

作者: coolmaomao    时间: 2005-6-8 11:21
标题: 想请教有关参数化的问题!
最近在研究qtp,在项目中遇到需要对URL参数化的问题,在之前的帖子中有看到对该问题进行过讨论,可是看了半天还是不明白所以然,里面提到的跟环境参数有关,请各位高手帮我看看这个问题该怎么解决?

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

非常谢谢!
作者: dfinger    时间: 2005-6-8 12:01
我也不太明白。但是实现一种目标有很多种方法。
我的环境变量是为了设置方便。我用xml
读入一些参数。比如用户名。密码之类
这个xml另外有一个小程序来方便的实现傻瓜化配置
至于url的参数化。我大多数利用程序自己拼接
不知道有没有更好的方法给某个url传参数。。
作者: QA_BAY    时间: 2005-6-8 12:48
可以说说你的傻瓜化配置?
xml另外有一个小程序来方便的实现傻瓜化配置
作者: dfinger    时间: 2005-6-8 13:04
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")
等等。至于设置的小程序。
有空我贴一下吧
作者: coolmaomao    时间: 2005-6-8 14:42
非常感谢dfinger的回复,看了后大致有点概念了,想问:

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

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

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

(☆_☆)
作者: dfinger    时间: 2005-6-8 14:52
这个都是拿来保存状态的。看实际使用需要了。
只要能取到值。如何保存状态都是自己决定了

环境变量必须要用xml格式读入。不知道ini可不可以。没时间研究。
但是你要是想要用excel的话。。完全可以用
DataTable.ImportSheet "C:\name.xls" ,1 ,"name"
的方式读入。。。。。。。。
你去查一下importsheet方法好了。。。
实际上qtp自己带的帮助就能解决大部分的问题了
vb要是比较熟悉的话。。完全可以自己来维护一个
配置文件。。
作者: lovetest6    时间: 2005-6-8 15:25
Originally posted by coolmaomao at 2005-6-8 11:21 AM:
最近在研究qtp,在项目中遇到需要对URL参数化的问题,在之前的帖子中有看到对该问题进行过讨论,可是看了半天还是不明白所以然,里面提到的跟环境参数有关,请各位高手帮我看看这个问题该怎么解决?

还要请教 ...


手里的教材能不能先共享一下?:)呵呵。谢谢哦。
作者: dfinger    时间: 2005-6-8 15:53
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 ]
作者: coolmaomao    时间: 2005-6-8 16:20
关于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中参数化。


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

不知这两种方法各有什么优缺点?我个人认为这个方法是不是实行起来更容易点呢,特别是对我这种菜鸟来说?
作者: dfinger    时间: 2005-6-8 16:36
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
配置。。方便一点。。
作者: QA_BAY    时间: 2005-6-8 17:32
SystemUtil.Run "iexplore.exe", "URL"
你url放在datetable里面。谁来set这个值?
这个值之前不是已经保存在DATATABLE里面的吗?还用设置吗?
哪几个链接自己是知道 的,然后再填到DATATABLE里面!
拿到其它的机子也是调IE,打开URL里面的值.
作者: dfinger    时间: 2005-6-8 17:51
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。。
作者: QA_BAY    时间: 2005-6-8 18:03
别人能够不关心我的QTP code。。
只要关心一个xml文件就ok。。
如果他看不懂你的CODE,那看程序员开发写代码别人看不懂.那他怎么深入修改
,还有QTP不只只有XML重要,其它的也很有用,
设计脚本的时候要考虑到其它的,要不是用起来就会觉得功能很少!
还有QTP不是自己写代码而不录制就行的!
适当加脚本,如果要写很多的话,那还不如做开发或者跟开发要代码!
作者: coolmaomao    时间: 2005-6-9 10:00
我想dfinger使用xml的好处就是如果当我所有的脚本都需要改URL的时候,只需要把这个XML中相应的参数修改一下就行了,从而避免了重复的到每一个datatable中去修改,
而且dfinger所提到设想(别人能够不关心我的QTP code。。
只要关心一个xml文件就ok。。),这正是我们项目所要求的,所以我打算尽量把参数化的东西做到外部文件中去

谢谢 !

呵呵,还有个疑问,对于环境参数而言,分为internal和external,想问这个作为internal的环境参数跟datatable中设置的数据使用上有何区别?
作者: dfinger    时间: 2005-6-9 11:07
internal就是指内部的。只能在本test使用的。
外部的就是其他test也可以用到。
xml里面的参数都是外部的

ps:你琢磨这个这么细致干吗?
其实你观察测试用例目录下的datatable,应该就是Default.xls
也就是一个外部的文件。性质上和外部的xml没什么本质区别
看你喜欢了。。
作者: coolmaomao    时间: 2005-6-9 13:35
呵呵,就是对这个问题很感兴趣,谢谢你们的耐心解答,我的问题已经成功解决啦,这个论坛真的不错,大家都很热心,以后常常来
作者: tomzhang    时间: 2005-12-26 12:47
shou cang
作者: 刘洪鹏    时间: 2007-7-3 10:23
精华篇中QTP8 Tutorial_oldsidney_cn又说这个问题
作者: 紫慕    时间: 2007-7-5 15:36
有意思
作者: cc宝贝    时间: 2010-5-11 09:45
楼主I LOVE YOU!谢谢了!




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