QTP中参数化的问题~

2025-03-09 13:24:33
推荐回答(5个)
回答1:

定义两个数组:Startadd(2):出发地;destinationadd(3)到达地。

for i=0 to 2
for j=0 to3
......
next
next

回答2:

提示找不到上级控件“计算器”,打开菜单 Resources->Object Repository ,查看该控件的目录结构是否和代码的一致?
数据池的使用:
设置运行时属性
Test Settings->RUN (全局运行时设置)
Test Flow->Action右键->action call properties (局部运行时设置)

Run one iteration only(循环一次)
Run on all rows(按行数循环)
Run from row(运行的启始和结束行号)
脚本的运行机制
脚本运行次数=RUN set(全局运行时设置)* RUN set(局部运行时设置)
或=(循环一次)*(循环一次)=1
或=(按行数循环)*(按行数循环)=行数*行数
或=(循环一次)*(按行数循环)=行数*1
系统会默认认创建两个sheet 页,Global、ACTION1
当有多个action脚本时,action1调用action2的data数据,行数默认从底行开始
action1调用action2的data数据,按行数循环时,取值不会变化
Msgbox DataTable("A", "Action1")
Msgbox DataTable("B", "Action2")
方法一:使用QTP自带的调用机制
显示数据池view->data table
Msgbox DataTable("colb", dtGlobalSheet)
问题: 对数据池的循环机制,是针对整个测试脚本的或是针对某个action,而不针对是某个函数或某段脚本
方法二:用代码实现
DataTable.GetSheet("Global").GetRowCount '获取某sheet页的行数
DataTable.RawValue ("colb", "Global") '获取某sheet页下某字段的当前行
DataTable.SetNextRow '移动行指针,下一行
DataTable.SetPrevRow '移动行指针,上一行
DataTable.SetCurrentRow(1) '设置当前行
问题:当一个sheet页有多列数据,但每列数据的行数一不样时,GetRowCount方法取的是最大的行号

回答3:

原因可能有两个
1、WinCalendar属性与对象库中不符合,所以不能识别
2、WinCalendar没有被识别,建议在代码句首加 Window("计算器").activate

回答4:

1.查看对象库中“计算器”对象的属性有哪些,添加更多属性帮助识别。
2.直接用描述性编程

回答5:

查看对象库,看有没有该对象,如果有,再看看回放时时间设置是不是很短,再不行,就把它移动本地数据表中,别放在全局数据表中。