chenkunlong 发表于 2009-12-23 16:05:38

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
Ifistatus<>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
没找到什么原因~~请教下:handshake

[ 本帖最后由 chenkunlong 于 2009-12-24 08:53 编辑 ]

ydl668 发表于 2009-12-23 17:12:05

这个代码没什么问题,你是不是代码没全部贴出来当前action的

chenkunlong 发表于 2009-12-24 08:51:25

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 ifa=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
   Ifistatus<>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:03

elseif中间是没有空格的

dushuai 发表于 2009-12-24 13:04:19

vb elseif 没有空格

chenkunlong 发表于 2009-12-24 15:43:43

这地方改了,但还是有同样的提示...

hsjzfling 发表于 2009-12-24 16:10:13

Browser("***管理系统").Page(“***管理系统").Frame("content_3").WebEdit ("loginid").Set "www.ckl123.com"
这句中Page名双引号是中文字符,走读然后逐步调试下LZ自己应该能发现所有问题的

ydl668 发表于 2009-12-24 22:59:42

楼上的只是其中的一处错误


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


你缺少了两个 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 ifa=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
   Ifistatus<>outputvalue Then
      reporter.ReportEvent 1,"预期值为"+istatus+",实际值为"+outputvalue
   End If
End If

chenkunlong 发表于 2009-12-25 10:10:29

回复 8# 的帖子

谢谢,是这个问题:handshake已经解决了:victory:
页: [1]
查看完整版本: QTP 遇到的一个未知问题,求解