51Testing软件测试论坛

标题: 关于QTP参数化的问题,高手回答一下,谢谢 [打印本页]

作者: dajuanjuan87    时间: 2011-3-12 16:24
标题: 关于QTP参数化的问题,高手回答一下,谢谢
请耐心看完,可能描述有些麻烦
我使用QTP自带的飞机例子(cs架构的),准备做一个订票的自动化测试,包括登录,订票,退出功能
1、我现在把登录,订票,退出分别放在一个Action里面,我想要的效果是登录和退出只执行一次,而多次执行订票的Action,需要怎么做?
2、我把第一个Action做成公用的Action,让后让Action调用,这个方法是否正确。但是这样没有运行会启动两次客户端。
3、在订票的时候我做成循环N次,把里面的文本框都参数化,但是循环的时候只读取第一轮数据,请问为什么不往下读数据?

请各位高手帮忙下,,  或者说我想要的结果,应该如果去做,,给个方案。。再次谢谢啦!!
作者: 风过无息    时间: 2011-3-12 21:07
1、我现在把登录,订票,退出分别放在一个Action里面,我想要的效果是登录和退出只执行一次,而多次执行订票的Action,需要怎么做?
回答>>你可以写成函数,调用
2、我把第一个Action做成公用的Action,让后让Action调用,这个方法是否正确。但是这样没有运行会启动两次客户端。
回答>>可以的,每次都记得场景恢复,至少每次要打开关闭ie或者应用系统
3、在订票的时候我做成循环N次,把里面的文本框都参数化,但是循环的时候只读取第一轮数据,请问为什么不往下读数据?
回答>>脚本设置问题,属于初级问题,耐心再论坛里找找,set到run all row 就可以了
作者: jia8162    时间: 2011-3-13 17:09
3、在订票的时候我做成循环N次,把里面的文本框都参数化,但是循环的时候只读取第一轮数据,请问为什么不往下读数据?


QTP DATA TABLE中的数据时以游标形式读取的
你是否把游标制定到了下一条信息

DataTable.GetSheet("NameSheet").GetCurrentRow 读取文件名为Sheet名为NameSheet中游标在第几行
DataTable.GetSheet("NameSheet").SetCurrentRow(CurrRow) 指定Sheet名为NameSheet中游标到CurrRow行
就能解决你读不到数据的问题了
作者: dajuanjuan87    时间: 2011-3-14 14:20
回复 2# 风过无息

谢谢你的回答,关于第一个问题调用函数需要怎么写?请大概介绍一些!
第二个问题:是否可以调用其他test的Action呢?
第三个问题解决了,,谢谢!!
作者: dajuanjuan87    时间: 2011-3-14 14:20
回复 3# jia8162


谢谢,,参数化的问题解决了!!
作者: 风雪夜归人    时间: 2011-3-14 15:50
关于Action调用的问题:

由于你所说的公用Action应该是在当前test case内的一个action,这个时候就要注意一个问题,如果引用之后结构如下图[attach]71898[/attach],则在Action0 的Script.mts文件里面应该是这样的内容 Call RunAction("Action1", oneIteration) Call RunAction("Action2", oneIteration) , 也就是说运行完Action1, 接着运行Action2, 而在Action1里面又有对Action2的调用,所以,Action2会运行两遍, 你需要做的很简单,就是右键Action2,delete之,(如图[attach]71901[/attach]), 然后运行,结果正确了。。




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