51Testing软件测试论坛

标题: QTP vbs文件调用“action下脚本封装成若干功能函数(Task)”时,提示“类型不匹配” [打印本页]

作者: tail_of_youth    时间: 2014-8-8 13:35
标题: QTP vbs文件调用“action下脚本封装成若干功能函数(Task)”时,提示“类型不匹配”
如题。我的想法是,把action 下的对象操作的脚本封装成若干个小的由意义的功能函数(Task),在vbs文件里维护测试用例(case)并调用前述封装的函数,提示“类型不匹配”。
action 里调试封装的功能函数没有问题,但是vbs调用功能函数时提示“类型不匹配”,截图所示。求高人指点。[attach]91457[/attach]
作者: tail_of_youth    时间: 2014-8-10 09:02
自己顶一下,期待高人指点
作者: tail_of_youth    时间: 2014-8-11 12:12
还是没人指点,继续自己顶
作者: Shawn_xiao    时间: 2014-8-11 17:08
Task_rokou_02_Search 贴出来看下
作者: tail_of_youth    时间: 2014-8-16 21:33
Public Function Task_rukou_02_Search(key)
    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("搜索条件").Set key
    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click
   
    strSearch=Browser("百度一下,你就知道").Page("百度搜索").WebElement("搜索结果").GetROProperty ("innerHTML")
    If instr(strSearch,key)>0 Then
        Reporter.ReportEvent micPass,"搜索结果:","搜索成功"
    Else
        Reporter.ReportEvent micFail,"搜索结果:","搜索失败"
    End If
   
End Function


'Task_rukou_02_Search("2014巴西世界杯全部赛程")
作者: tail_of_youth    时间: 2014-8-16 22:14
Shawn_xiao“
我应该是截图了,在审核中。
Task_rokou_02_Search 函数在action"00入口页面"下调试正常,但是在VBS下调用该方法就提示“类型不匹配”。
我在想是不是我的调用有问题呢。
我在action下封装功能函数,然后在VBS 文件里调用。这样是不是有问题啊?
作者: tail_of_youth    时间: 2014-8-18 08:42
284489030@qq.com ,这是我QQ邮箱,请各位高手不吝指教。
作者: tail_of_youth    时间: 2014-8-18 08:58
回复 4# Shawn_xiao


    Public Function Task_rukou_02_Search(key)
    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("搜索条件").Set key
    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").Click
   
    strSearch=Browser("百度一下,你就知道").Page("百度搜索").WebElement("搜索结果").GetROProperty ("innerHTML")
    If instr(strSearch,key)>0 Then
        Reporter.ReportEvent micPass,"搜索结果:","搜索成功"
    Else
        Reporter.ReportEvent micFail,"搜索结果:","搜索失败"
    End If
   
End Function


'Task_rukou_02_Search("2014巴西世界杯全部赛程")
作者: Shawn_xiao    时间: 2014-8-18 13:51
为什么不是Action里面放Case,functionlibrary 放VBS等功能方法,QTP貌似不让反过来这么干..大概是functionlibrary在运行时并不会解析Action中的方法,只会是解析自己VBS中的方法,从QTP先运行VBS再运行Action脚本就知道大概了
作者: tail_of_youth    时间: 2014-8-19 09:00
回复 9# Shawn_xiao


Shawn_xiao ,谢谢您及时回复!
我说下我使用QTP的想法:
1.针对每个页面创建一个action,该页面下的所有对象都添加到该action对应的对象库里;(object 层)
2.在action下封装若干个具有一定操作意义的function功能函数;比如 登录界面我封装 成两个function,一个登录function,一个找回密码。(task层)
3.调用步骤2中封装的若干个function,形成一个测试用例。(testcase层)

我把用例维护到vbs文件中,于是出现了开头说的问题。我的疑问:
1.这种使用QTP的方式可行吗?
2.如果可行,测试用例层该在哪里维护,新建一个action专门维护用例,还是其他方法维护用例?
3.我试的action之间调用function貌似也不行,比如action3调用action1下封装的function,我这里老搞不定。

以上问题,欢迎大家指导!
跟我一样存在疑惑的小伙伴也可以发表下你的看法,共同学习、共同成长!!
作者: Shawn_xiao    时间: 2014-8-19 10:51
回复 10# tail_of_youth


    1.不行
    2.建议把function功能函数放到VBS文件
作者: tail_of_youth    时间: 2014-8-19 12:47
回复 11# Shawn_xiao


   action下的function函数不是功能函数,是把action下的部分脚本组合成一个小功能模块。

另外:在哪里维护测试用例比较好呢?!




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