shuishixingyu 发表于 2008-12-18 15:02:27

如何使用不同Action中的变量

假如有两个action,请问action2能否引用action1中的变量A的值?

asoqa 发表于 2008-12-18 16:15:06

方法很多,先讲一种,用Environment变量,具体用法可以参考QTP帮助。

shuishixingyu 发表于 2008-12-18 16:45:04

不大清楚怎么操作唉
在action1中的脚本
x=RandomNumber.Value(0,1)
Browser("**").Page("**").Frame("**").WebCheckBox("html id:=userID_"&x).Set "ON"
Dim Cell
Set Cell = Description.Create()
Cell = Browser("**").Page("**").Frame("**").WebTable("name:=userID").GetCellData(x+2,2)
我想在action2中引用Cell作为登录名,如果用环境变量应该怎么做呢?
看了帮助不是很明白,能详细说下吗?

asoqa 发表于 2008-12-18 17:14:23

Action1:
   '将Cell值赋给cell这个环境变量
   Environment.Value("cell")= Cell
Action2:
   '打印变量值
   msgbox Environment.Value("cell")
不知道能不能满足你的要求

shuishixingyu 发表于 2008-12-18 22:01:35

谢谢,这个方法是可以的,不过在action2中
MsgBox Environment.Value("cell")
CL = Environment.Value("cell")
If CL = "崔莹" Then
   user = "cuiy"
   MsgBox user
Else
   user = "jiangzb"
   MsgBox user
End If
Browser("**").Page("**").WebEdit("username").Set user
Browser("**").Page("**").WebEdit("password").SetSecure "**"
Browser("**").Page("**").Image("btn1").Click
在以上脚本中,通过MsgBox Environment.Value("cell"),显示的是"崔莹",为什么登录名不是"cuiy",而一直是jiangzb呢?

asoqa 发表于 2008-12-22 12:16:58

我想语法应该没问题,你检查一下CL这个变量的值是否含有空格,导致校验失败,你可以DEbug一下。

远野志贵 发表于 2008-12-22 13:24:55

如果是不在同一个TEST中的ACTION,那我估计传参比较困难了!!:lol

asoqa 发表于 2008-12-22 13:54:37

也有办法,首先ACTION本身带有参数,可以将ACTION设置成Reusable Action,再传参。或者通过vbs引入全局变量。
另外实在不行,最土的办法就是通过物理的文件传参。只有想不到,没有做不到。

[ 本帖最后由 asoqa 于 2008-12-22 18:23 编辑 ]
页: [1]
查看完整版本: 如何使用不同Action中的变量