• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    透析QTP自動化測試框架SAFFRON

    發布: 2009-5-25 19:09 | 作者: 網絡轉載 | 來源: 測試時代采編 | 查看: 400次 | 進入軟件測試論壇討論

    領測軟件測試網

    1、為什么要使用框架?

    框架是一組自動化測試的規范、測試腳本的基礎代碼,以及測試思想、慣例的集合?捎糜跍p少冗余代碼、提高代碼生產率、提高代碼重用性和可維護性。例如QTestWare就是QTP自動化測試框架中的一類。

    2、SAFFRON簡介

    SAFFRON是針對Web開發的一個簡單的QTP測試框架原型,是Adam Gensler于06年寫的,需要QTP 9.1版本以上。完整的SAFFRON腳本代碼可到以下地址獲。篽ttp://www.itestware.com/ctest/index.php?option=com_content&view=article&id=62:webqtp-saffron&catid=35:testing_is_believing

    3、如何使用SAFFRON?

    SAFFRON框架以外部VBS文件的形式出現,因此使用方法比較簡單,直接在測試腳本中以資源形式導入即可使用,如圖所示:

    導入后,可在“Available Keywords”視圖中看到SAFFRON的所有函數,如圖所示:

    選中某個函數,拖拽到專家視圖的編輯器中,如圖所示:

    后接一個URL地址,例如“http://www.itestware.com”,即可使用SAFFRON框架中的BrowseTo函數導航到指定的URL地址,如下腳本所示:
    'BrowseTo(url)
    BrowseTo "http://www.itestware.com"

    4、SAFFRON框架代碼剖析

    為了深入了解SAFFRON,以及框架的使用方法,下面我們將分別介紹SAFFRON中的主要函數,對SAFFRON代碼進行深入剖析。

    4.1 導航到指定URL

    SAFFRON使用名為BrowseTo函數來負責導航到指定的URL,如果瀏覽器尚未啟動,則先調用函數Launch來打開瀏覽器。BrowseTo函數的定義如下所示:
         Public Function BrowseTo (url)
          thirdlevel = ""
          Report micPass, "Navigate to URL", "Navigating to URL: " & Quote(url)
          If initialized Then
           Execute GenerateDescription("Browser") & "Navigate " & Quote(url)
          Else
           Launch "website", url
          End If
          Reporter.Filter = rfDisableAll
         End Function

    在腳本中,會判斷是否初始化了瀏覽器,如果有則執行導航動作,導航到指定的URL。導航動作是執行這行腳本來完成的:
         Execute GenerateDescription("Browser") & "Navigate " & Quote(url)

    Execute是一個用于執行指定VBScript腳本語句的函數,GenerateDescription函數的定義如下所示:
         ' Generates a generic description based up on the "level" viarable
         ' levelstr - will be one of the values that is in the level array
         ' returns - string representative of the object hierarchy
         Public Function GenerateDescription (levelstr)
          l = IndexOf(level, levelstr)
          If l >=0 Then
           fdesc = level(0) & "(" & Quote(desc(0)) & ")."
           If l >= 1 Then
            fdesc = fdesc + level(1) & "(" & Quote(desc(1)) & ")."
            If 2 >= l Then
             If thirdlevel <> "" Then
              fdesc = fdesc + level(2) & "(" & Quote(desc(2)) & "," & Quote("name:=" & thirdlevel) & ")."
             End If
            End If
           End If
          End If
            GenerateDescription = fdesc
         End Function

    4.2 返回測試對象的描述

    GenerateDescription函數用于返回對象的描述性語句,例如,指定Browser,則返回如下語句:
         "Browser("micclass:=Browser")."

    該語句代表了當前瀏覽器對象,并且后面加了個點號,這是為了方便后接"Navigate "這個瀏覽器對象的導航操作,以及指定的URL字符串,例如"http://blog.csdn.net/testing_is_believing"。在Execute時,其實執行的VBScript語句如下所示:
         Browser("micclass:=Browser").Navigate "http://blog.csdn.net/testing_is_believing"

    經過SAFFRON的框架封裝后,則只需要使用如下語句即可達到同樣的效果:
    BrowseTo "http://blog.csdn.net/testing_is_believing"

    4.3 啟動瀏覽器

    SAFFRON使用名為BrowseTo函數來負責導航到指定的URL,但是如果瀏覽器未啟動,則會先調用函數Launch來打開瀏覽器。Launch函數的定義如下所示:
         prepares the framework for usage, and configures all internal framework 
         ' variables and structures
         ' apptype - used to launch different types of applications based 
         '           upon different technologies -- currently there is only web
         ' val     - string that represents what to launch
         ' returns - always returns true
         Public Function Launch (apptype, val)
          If "website" = apptype Then
           thirdlevel = ""
           Report micPass, "Initialize", "Initializing Framework"
           level = split(webLevels, leveldelimiter, -1, 1)
           desc = split(webLevelsDesc, leveldescdelimiter, -1, 1)
           object = split(objects, objectdelimiter, -1, 1)
           objectDescription = split(objectsDescription, objectsDescriptiondelimiter, -1, 1)
           CloseBrowsers
           Set IE = CreateObject("InternetExplorer.Application")
           IE.visible = true
           IE.Navigate val
           While IE.Busy
            wait 1
           Wend
          End If
          initialized = true
          Launch = true
         End Function

    可看到腳本中創建了IE的COM對象,然后設置IE的Visible屬性設置為Tue,讓瀏覽器可見,然后調用IE對象的Navigate方法導航到指定的URL。除了創建IE的COM對象外,在Launch函數中還進行框架其它方面的初始化。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: qtp QTP 框架 自動化 SAFFRON 透析

    51/512345>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>