51Testing软件测试论坛

标题: 自己模仿写脚本,老是提示语句未结束,求助 [打印本页]

作者: cabrite    时间: 2010-7-26 19:08
标题: 自己模仿写脚本,老是提示语句未结束,求助
Function checkCommand(aaa,bbb,ccc)
  set flag=aaa
   If flag Then
      reporter.ReportEvent micPass, "bbb", "bbb"
   else
      reporter.ReportEvent micFail, "ccc", "ccc"
   End If
End Function
Browser("Browser").Page("age").Frame("header").Link("铁矿系统管理").Click
Browser("Browser").Page("age").Frame("leftmenu").Image("plusbottom").Click
Browser("Browser").Page("age").Frame("leftmenu").Image("plus").Click
Browser("Browser").Page("age").Frame("leftmenu").Image("plus_2").Click
Browser("Browser").Page("age").Frame("leftmenu").Link("报盘登记").Click
Browser("Browser").Page("age").Frame("content").WebElement("采购报盘登记").Check CheckPoint("采购报盘登记")
checkCommand "Browser("Browser").Page("age").Frame("content").WebElement("采购报盘登记").Check(CheckPoint("采购报盘登记"))" ,"pass","shibai"



我觉得大概是引号的问题,但是不会改,求助

[ 本帖最后由 cabrite 于 2010-7-26 19:19 编辑 ]
作者: cabrite    时间: 2010-7-26 23:12
没人理我,郁闷
作者: skyzhu    时间: 2010-7-27 10:22
checkCommand "Browser("Browser").Page("Page").Frame("content").WebElement("采购报盘登记").Check(CheckPoint("采购报盘登记"))" ,"pass","shibai"

字符串里的双引号要转义,用 2个代表一个
就算引号对了,传进去字符串赋给对象一样报错
作者: cabrite    时间: 2010-7-27 10:42
原帖由 skyzhu 于 2010-7-27 10:22 发表
checkCommand "Browser("Browser").Page("Page").Frame("content").WebElement("采购报盘登记").Check(CheckPoint("采购报盘登记"))" ,"pass","shibai"

字符串里的双引号要转义,用 2个代表一个
就算引号对了,传 ...

咋改啊?
我试过转义,好像也不成,百度Google快一天了,崩溃
作者: skyzhu    时间: 2010-7-27 11:40
checkCommand "Browser(""Browser"").Page(""Page"").Frame(""content"").WebElement(""采购报盘登记"").Check(CheckPoint(""采购报盘登记""))" ,"pass","shibai"

PS 传进去还是错的,只是换个错误而已
作者: topor    时间: 2010-7-27 14:47
checkCommand "Browser("Browser").Page("age").Frame("content").WebElement("采购报盘登记").Check(CheckPoint("采购报盘登记"))" ,"pass","shibai"

LZ脚本的最后一句话是什么意思呀? 看不懂
作者: feiyunkai    时间: 2010-7-27 14:54
标题: 两种解决方法
原帖由 cabrite 于 2010-7-26 19:08 发表
Function checkCommand(aaa,bbb,ccc)
  set flag=aaa
   If flag Then
      reporter.ReportEvent micPass, "bbb", "bbb"
   else
      reporter.ReportEvent micFail, "ccc", "ccc"
   End If
End Functio ...

两种解决方法:个人认为第2种方法比较好
方法一:
在调用函数前先set aaa=Browser("Browser").Page("age").Frame("content").WebElement("采购报盘登记").Check CheckPoint("采购报盘登记")
原因:传参前如果没有先set aaa,那么aaa只能被当作变量而不是对象,所以你代码中set flat=aaa会报错。
缺点:每次调用函数前都要set一下对象
方法二:
把set flag=aaa修改为:
Execute "flag="&aaa
原理:将aaa作为字符串传进函数,然后用Execute将"flag="&aaa当作命令执行,效果相当于
flag=Browser("Browser").Page("age").Frame("content").WebElement("采购报盘登记").Check CheckPoint("采购报盘登记")

修改后代码如下:
Function checkCommand(aaa,bbb,ccc)
  Execute "flag="&aaa
   If flag Then
      reporter.ReportEvent micPass, "bbb", "bbb"
   else
      reporter.ReportEvent micFail, "ccc", "ccc"
   End If
End Function
Browser("Browser").Page("age").Frame("header").Link("铁矿系统管理").Click
Browser("Browser").Page("age").Frame("leftmenu").Image("plusbottom").Click
Browser("Browser").Page("age").Frame("leftmenu").Image("plus").Click
Browser("Browser").Page("age").Frame("leftmenu").Image("plus_2").Click
Browser("Browser").Page("age").Frame("leftmenu").Link("报盘登记").Click
Browser("Browser").Page("age").Frame("content").WebElement("采购报盘登记").Check CheckPoint("采购报盘登记")
checkCommand "Browser(""Browser"").Page(""age"").Frame(""content"").WebElement(""采购报盘登记"").Check(CheckPoint(""采购报盘登记""))" ,"pass","shibai"

[ 本帖最后由 feiyunkai 于 2010-7-27 15:03 编辑 ]




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