51Testing软件测试论坛

标题: QTP 遇到的一个未知问题,求解 [打印本页]

作者: chenkunlong    时间: 2009-12-23 16:05
标题: QTP 遇到的一个未知问题,求解
Dim outputvalue,istatus
outputvalue=DataTable("outputmsg",dtGlobalSheet)  '获取系统实际的提示内容
istatus=DataTable("istatus",dtGlobalSheet) '获取预设的提示内容
If title = "" Or content = ""Then
Browser("*****").Dialog("Microsoft Internet Explorer").Static("以下原因导致提交失败:1:请输入通知的标题, 2:请输入通知的内容").Output CheckPoint("以下原因导致提交失败:1:请输入通知的标题 2:请输入通知的内容")
Browser("***管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
  If  istatus<>outputvalue Then
   reporter.ReportEvent 1,"预期值为"+istatus+",实际值为"+outputvalue
  End If
Browser("***").Page("****").Frame("content_3").WebEdit("title").Set "新通知"
Browser("***").Page("****").Frame("content_3").WebEdit("content").Set "开心生活,努力工作"
Browser("***").Page("****").Frame("content_3").WebButton("发送").Click
End If  

代码如上,但想要转到Keyword View界面时,Information一直有如下的提示:
    Details              item       Actoin    Line
Expectded 'End If'   系统通知     Action1     13
没找到什么原因~~请教下

[ 本帖最后由 chenkunlong 于 2009-12-24 08:53 编辑 ]
作者: ydl668    时间: 2009-12-23 17:12
这个代码没什么问题,你是不是代码没全部贴出来  当前action的
作者: chenkunlong    时间: 2009-12-24 08:51
Browser("*****").Page("****2").Check CheckPoint("***管理系统")
Browser("***管理系统").Page("***管理系统").Frame("left").Link("系统通知").Click
Browser("***通管理系统").Page("***管理系统_2").Frame("content").WebTable("发送系统通知").Output CheckPoint("发送系统通知_3")
Browser("***管理系统").Page("***管理系统_2").Frame("content").WebTable("发送系统通知").Check CheckPoint("发送系统通知")
Browser("***管理系统").Page("***管理系统").Frame("content").Link("464").Click  '此处直接参数化Link对象,随机获取一个通知
Browser("查看通知").Page("查看通知_2").Check CheckPoint("查看通知_2")
Browser("查看通知").Page("查看通知_2").Output CheckPoint("查看通知_3")
Browser("查看通知").Page("查看通知").WebButton("关  闭").Click
Browser("***管理系统").Page("***管理系统").Frame("content_2").WebButton("发送系统通知").Click
Dim title,content
title=DataTable("title", dtGlobalSheet)   '获取预设的几种标题
content=DataTable("content",dtGlobalSheet) '获预设的几种内容
Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit("title").Set title
Dim a
Dim b
a=randomnumber.Value(3,4)
b=randomnumber.Value(0,1)
Browser("***管理系统").Page("***管理系统").Frame("content_3").WebRadioGroup("type").Select a
If a=4 Then
  Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit("content").Set content
  Browser("***管理系统").Page("***管理系统").Frame("content_3").WebButton("发 送").Click   '选择所有软件端
else if  a=3 Then
     Browser("***管理系统").Page("***管理系统").Frame("content_3").WebRadioGroup("usertype").Select b
      If b=0 Then
        Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit("content").Set content
        Browser("***管理系统").Page("***管理系统").Frame("content_3").WebButton("发 送").Click '选择企业管理员,全部站长
        else if a=1 Then
     Browser("***管理系统").Page(“***管理系统").Frame("content_3").WebEdit ("loginid").Set "www.ckl123.com"
     Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit("content").Set content
     Browser("***管理系统").Page("***管理系统").Frame("content_3").WebButton("发 送").Click   '选择企业管理员,自定义站长账号
        End If
End If
Dim outputvalue,istatus
outputvalue=DataTable("outputmsg",dtGlobalSheet)  '获取系统实际的提示内容
istatus=DataTable("istatus",dtGlobalSheet) '获取预设的提示内容
If title = "" Or content = ""Then
Browser("***管理系统").Dialog("Microsoft Internet Explorer").Static("以下原因导致提交失败: 1:请输入通知的标题 2:请输入通知的内容").Output CheckPoint("以下原因导致提交失败: 1:请输入通知的标题 2:请输入通知的内容")
Browser("***管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
   If  istatus<>outputvalue Then
      reporter.ReportEvent 1,"预期值为"+istatus+",实际值为"+outputvalue
   End If
End If   

这是全部的代码,错误提示为:
Expectded 'End If'   系统通知     Action1     42  '也就是最后一行

[ 本帖最后由 chenkunlong 于 2009-12-24 08:52 编辑 ]
作者: liuxl    时间: 2009-12-24 10:28
elseif中间是没有空格的
作者: dushuai    时间: 2009-12-24 13:04
vb elseif 没有空格
作者: chenkunlong    时间: 2009-12-24 15:43
这地方改了,但还是有同样的提示...
作者: hsjzfling    时间: 2009-12-24 16:10
Browser("***管理系统").Page(“***管理系统").Frame("content_3").WebEdit ("loginid").Set "www.ckl123.com"
这句中Page名双引号是中文字符,走读然后逐步调试下LZ自己应该能发现所有问题的
作者: ydl668    时间: 2009-12-24 22:59
楼上的只是其中的一处错误


但是 if .......then
         ...............
       elseif   then
     ..................
         elseif   then
  else
............
end  if
的用法还是有点问题


你缺少了两个 else


改下  
这样就没错了


Browser("*****").Page("****2").Check CheckPoint("***管理系统")
Browser("***管理系统").Page("***管理系统").Frame("left").Link("系统通知").Click
Browser("***通管理系统").Page("***管理系统_2").Frame("content").WebTable("发送系统通知").Output CheckPoint("发送系统通知_3")
Browser("***管理系统").Page("***管理系统_2").Frame("content").WebTable("发送系统通知").Check CheckPoint("发送系统通知")
Browser("***管理系统").Page("***管理系统").Frame("content").Link("464").Click  '此处直接参数化Link对象,随机获取一个通知
Browser("查看通知").Page("查看通知_2").Check CheckPoint("查看通知_2")
Browser("查看通知").Page("查看通知_2").Output CheckPoint("查看通知_3")
Browser("查看通知").Page("查看通知").WebButton("关  闭").Click
Browser("***管理系统").Page("***管理系统").Frame("content_2").WebButton("发送系统通知").Click
Dim title,content
title=DataTable("title", dtGlobalSheet)   '获取预设的几种标题
content=DataTable("content",dtGlobalSheet) '获预设的几种内容
Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit("title").Set title
Dim a
Dim b
a=randomnumber.Value(3,4)
b=randomnumber.Value(0,1)
Browser("***管理系统").Page("***管理系统").Frame("content_3").WebRadioGroup("type").Select a
If a=4 Then
  Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit("content").Set content
  Browser("***管理系统").Page("***管理系统").Frame("content_3").WebButton("发 送").Click   '选择所有软件端
else if  a=3 Then
     Browser("***管理系统").Page("***管理系统").Frame("content_3").WebRadioGroup("usertype").Select b
      If b=0 Then
        Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit("content").Set content
        Browser("***管理系统").Page("***管理系统").Frame("content_3").WebButton("发 送").Click '选择企业管理员,全部站长
        else if a=1 Then
     Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit ("loginid").Set "www.ckl123.com"
     Browser("***管理系统").Page("***管理系统").Frame("content_3").WebEdit("content").Set content
     Browser("***管理系统").Page("***管理系统").Frame("content_3").WebButton("发 送").Click   '选择企业管理员,自定义站长账号
         else
          Browser("***管理系统").Page("***管理系统").Frame("content_3").WebButton("发 送").Click   '选择企业管理员,自定义站长账号
        End If

                else
                 Browser("***管理系统").Page("***管理系统").Frame("content_3").WebButton("发 送").Click   '选择企业管理员,自定义站长账号
End If
Dim outputvalue,istatus
outputvalue=DataTable("outputmsg",dtGlobalSheet)  '获取系统实际的提示内容
istatus=DataTable("istatus",dtGlobalSheet) '获取预设的提示内容
If title = "" Or content = ""Then
Browser("***管理系统").Dialog("Microsoft Internet Explorer").Static("以下原因导致提交失败: 1:请输入通知的标题 2:请输入通知的内容").Output CheckPoint("以下原因导致提交失败: 1:请输入通知的标题 2:请输入通知的内容")
Browser("***管理系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
   If  istatus<>outputvalue Then
      reporter.ReportEvent 1,"预期值为"+istatus+",实际值为"+outputvalue
   End If
End If
作者: chenkunlong    时间: 2009-12-25 10:10
标题: 回复 8# 的帖子
谢谢,是这个问题  已经解决了




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