51Testing软件测试论坛

标题: 脚本调用外部函数,提示:"Run Error类型不匹配",怎么办?什么原因? [打印本页]

作者: ppllggmm    时间: 2011-4-1 16:41
标题: 脚本调用外部函数,提示:"Run Error类型不匹配",怎么办?什么原因?
测试的功能:选定查询的开始时间和结束时间,时间格式必须是yyyymmdd。
我的实现:
编写了一个函数来完成格式的转换,然后在脚本中调用此函数来获得符合格式的日期。
函数如下:
Function DateFormat(ByVal datenow)
Dim nowArray(3),templen1,templen2,datenow2
nowArray(0)=Cstr(Year(datenow))
nowArray(1)=Cstr(Month(datenow))
nowArray(2)=Cstr(Day(datenow))
templen1=Len(nowArray(1))
if(templen1<2) Then
  nowArray(1)=0&nowArray(1)
ElseIf(templen1>2)Then
  DateFormat="Error"
  Exit Function
End if
templen2=Len(nowArray(2))
if(templen2<2) Then
  nowArray(2)=0&nowArray(2)
ElseIf(templen2>2)Then
  DateFormat="Error"
  Exit Function
End If
DateFormat=nowArray(0)&nowArray(1)&nowArray(2)
End Function

存储为的文件名是:DateFormat.qfl
在文件的Setting中把此函数设定为资源。

脚本中调用的地方是这么写的:
yes=DateAdd("d",-1,Date)'历史明细的结束日期不能是当前日期,故采用了当前日期的前一天
strDate =DateFormat(DateAdd("m",-3,yes))'设置历史明细开始日期
endDate = DateFormat(yes)'设置历史明细结束日期

一运行就会报错,提示:
[attach]72262[/attach]
作者: ppllggmm    时间: 2011-4-1 16:42
补充一下:
编写脚本的机器A运行完全没有问题
迁移到机器B的时候才产生了这个问题

如果直接把函数粘贴在脚本当中,是可以运行通过的
作者: lyscser    时间: 2011-4-1 17:07
应该是加载resource的时候被QTP那个垃圾的相对路径搞趴了吧……亲!!!!
最近好多人为类型不匹配发帖有木有!!!!
为什么的类型不匹配的怎么那么多啊!!!包邮啊亲!!!
作者: ppllggmm    时间: 2011-4-1 17:58
相对路径吗?我现在的确用的相对路径
我改成绝对路径试试
谢谢 lyscser  回答
作者: 风雪夜归人    时间: 2011-4-2 11:12
应该是加载resource的时候被QTP那个垃圾的相对路径搞趴了吧……亲!!!!
最近好多人为类型不匹配发帖有木 ...
lyscser 发表于 2011-4-1 17:07



    haha ~~~~~~淘宝体和咆哮体同时出现~
作者: ppllggmm    时间: 2011-4-2 15:50
改成了绝对路径,还是不行啊,还是报同样的错误
到底是怎么回事儿?求高手解答求解答!!!!!!!
作者: 风雪夜归人    时间: 2011-4-2 18:04
就是编码问题啊。。。
你用QTP新建一个文件,把vbs里面的内容粘贴进去,然后保存为xxx.vbs就可以了~
作者: ppllggmm    时间: 2011-4-6 10:29
回复 7# 风雪夜归人

你的方法我也试了,还是不行
多谢你了啊
作者: maosilu    时间: 2012-7-11 15:36
这个问题我现在也遇到了,最终怎么解决的?求解!多谢
作者: maosilu    时间: 2012-7-11 15:37
这个问题我现在也遇到了,最终怎么解决的?求解!多谢




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