51Testing软件测试论坛

标题: 新手咨询-登陆插入检查点脚本错误。 [打印本页]

作者: jinwei6078    时间: 2009-3-3 12:51
标题: 新手咨询-登陆插入检查点脚本错误。

脚本错误:
Action2 10  cannot use parentheses when calling a sub
脚本:
Browser("Browser").Page("Page").WebEdit("user_name").Set DataTable("p_Text", dtGlobalSheet)
Browser("Browser").Page("Page").WebEdit("user_pw").SetSecure DataTable("p_EncryptedText", dtGlobalSheet)
Browser("Browser").Page("Page").Image("loginbtn").Click
If  DataTable("p_EncryptedText",dtLocalSheet)<>"" Then
Browser("Browser").Dialog("Microsoft Internet Explorer").Static("请输入密码").Check CheckPoint("请输入密码")
Browser("Browser").Page("Page").Image("loginbtn").Click
elseif  DataTable("p_Text",dtLocalSheet)<>"" Then
Browser("Browser").Dialog("Microsoft Internet Explorer").Static("请输入用户名").Check CheckPoint("请输入用户名")
Browser("Browser").Page("Page").Image("loginbtn")
else DataTable("checkMsg",dtLocalSheet)<>""Then
Browser("Browser").Dialog("Microsoft Internet Explorer").Static("登陆失败,可能原因:用户和密码不匹配,请重新登录").Check CheckPoint("登陆失败,可能原因:用户和密码不匹配,请重新登录")
Browser("Browser").Page("Page").Image("loginbtn").Click
End
----------------------------------------
DataTable("checkMsg",dtLocalSheet) 这里的checkMsg是不是datatable的列名啊,那应该没错啊!
大家帮我看看,一个很简单的脚本
作者: dreamever    时间: 2009-3-3 13:08
cannot use parentheses when calling a sub ,调用子过程时不能使用参数,貌似和你的datatable没什么关系的说。
不知道出错的是不是“else DataTable("checkMsg",dtLocalSheet)<>""Then“这一句,如果是的话,可能then前面没有加一个空格。楼主先查查吧
作者: jinwei6078    时间: 2009-3-3 13:21
标题: tks
谢谢楼上的,最后一个else不要then,这个发现了,去掉后运行,还是有错,
提示调用过程sub时不能用(),还是没找到原因
作者: jinwei6078    时间: 2009-3-3 13:29
标题: qtp
我引用一个会员写的教程中的案例,想自己试一下,但不清楚里面的控件的意思:
比如说If DataTable("checkMsg",dtLocalSheet)<>""  checkMsg代表什么呀?
elseif DataTable("checkDBMsg",dtLocalSheet)<>""Then  checkDBMsg代表意思?
有大侠帮解释一下吗?

在DataTable中输入预先设计好的测试数据,然后执行编辑好的测试脚本:
Browser("iTreasuryPro资金管理平台").Page("iTreasuryPro资金管理平台").WebEdit("loginno").Set DataTable("用户名", dtLocalSheet)
Browser("iTreasuryPro资金管理平台").Page("iTreasuryPro资金管理平台").WebEdit("password").Set DataTable("密码", dtLocalSheet)
Browser("iTreasuryPro资金管理平台").Page("iTreasuryPro资金管理平台").WebButton("提交").Click

If DataTable("checkMsg",dtLocalSheet)<>"" Then
    Browser("iTreasuryPro资金管理平台").Dialog("Microsoft Internet Explorer").Static("请输入密码").Check CheckPoint("请输入密码")
    Browser("iTreasuryPro资金管理平台").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
elseif DataTable("checkDBMsg",dtLocalSheet)<>""Then
    Browser("Browser").Dialog("Microsoft Internet Explorer").Static("登陆失败,可能原因:用户和密码不匹配,请重新登录").Check CheckPoint("登陆失败,可能原因:用户和密码不匹配,请重新登录")
    Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
else    Browser("iTreasuryPro[tm]").Page("iTreasuryPro[tm]").Image("main_bankportal").Check                 CheckPoint("main_bankportal")
   Browser("iTreasuryPro[tm]").Close
End If
作者: 风雪夜归人    时间: 2009-3-3 14:48
首先:view -->datatable,显示datatable。可以发觉在下方有个data table的窗口,其中的global就是所谓的DataTable("aa",dtGlobalSheet)存放的地方,全局表,点开global,会发觉里面有你定义的一个"aa",而dtLocalSheet就是局部数据,以你的action 名字命名的。




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