51Testing软件测试论坛
标题:
如何调用另一个动作的DataTable
[打印本页]
作者:
poporen
时间:
2011-3-10 16:29
标题:
如何调用另一个动作的DataTable
请教各位大虾:
版本:qtp 10.0
问题:我做登录的脚本录制,有两个动作“Login” 和“Relogin”
在“Login”中有三组数据 包括用户名和密码
Login登录错误将执行Relogin动作 Relogin动作将调用Login动作的DataTable 从第2列数据开始 这个怎么调用咧 看如下我的代码 请教有什么问题
Login代码:
Browser("新浪会员登录").Page("新浪会员登录").WebEdit("username").Set DataTable("p_UserName", dtLocalSheet)
Browser("新浪会员登录").Page("新浪会员登录").WebEdit("password").SetSecure DataTable("p_Password", dtLocalSheet)
Browser("新浪会员登录").Page("新浪会员登录").WebButton("登 录").Click
bCheck=Browser("新浪会员登录").Page("title:=新浪会员登录").Exist
If bCheck Then
RunAction "Relogin", 1, rngAll
Else
RunAction "Search", 0
End If
Relogin代码:
DataTable.GetSheet("Login").SetCurrentRow(2)
Browser("新浪会员登录").Page("新浪会员登录").WebEdit("username").Set DataTable("p_UserName", "Login")
Browser("新浪会员登录").Page("新浪会员登录").WebEdit("password").SetSecure DataTable("p_Password", "Login")
Browser("新浪会员登录").Page("新浪会员登录").WebButton("登 录").Click
运行Login没问题 运行到Region将会连续3次 执行登录操作 输入数据为第2组数据 这是什么原因咧 我想我是没搞清楚RunAction “Login” ,1,rngAll 这个函数和SetCurrentRow(2)的意思,请各位多多指点
作者:
poporen
时间:
2011-3-11 10:46
怎么就没大虾指点下哦···新手真迷茫··
作者:
云层
时间:
2011-3-11 12:56
runaction函数在帮助里面会告诉你1,0含义不同一个是只循环一次,一个是遍历datatable里面的所有内容
setcurrentrow的作用是强制指定表中的行号,
如果你要从第二列那么就要这样写了吧
datatable(2,dtglobasheet)
作者:
hsjzfling
时间:
2011-3-11 16:22
login和relogin有什么区别呢?用一个不就可以了么? 逻辑如下
do
login
DataTable.localsheet.setnextrow
if DataTable.localsheet.setnextrow.getcurrentrow = 1 then
exit do
return login failed
end if
loop until <login successful>
作者:
poporen
时间:
2011-3-17 11:35
多谢3+4楼大虾指点
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2