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

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

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

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

    新一篇: Silktest天天學系列6-tag和multitag之二

    發布: 2008-5-06 17:40 | 作者: Zeng YueTian | 來源: Zeng YueTian博客 | 查看: 282次 | 進入軟件測試論壇討論

    領測軟件測試網 作者Zeng YueTian,轉載請注明出處http://blog.csdn.net/yuetiantian/
    Tag:tag是對象的實際名稱,它和indentifier不同,indentifier是對象的邏輯名。Silktest使用tag在記錄和執行testcase的過程中識別待測應用程序中的對象。Testcase從來不會使用tag來引用一個對象,它們通常使用indentifier來引用對象。這下面列出的是各種tag類型。
    Caption:是對象顯示給用戶的標題或者Label。
    Prior text:離對象最近的左邊或者是上邊的static text中的內容。Prior text tag使用^字符開頭。
    Index:在父對象中所有相同類型對象中出現的順序(從左上到右下排序)。Index tag必須以#字符開頭。
    Window ID:是對象的GUI內部ID。Window ID tag必須以$字符開頭。
    Location:對象的物理位置(坐標)。Location tag必須以@字符開頭。
    Attributes:是Html對象的屬性名。如果你一個對象不是Html對象,將不會記錄任何信息。
    注意:并非所有的對象都有所有的tag。比如對話框,并沒有Window ID。所以它們也沒有window ID tag。
    下面是一個Check Box可能的tag值情況。
    Tag type
    Value
    Comment
    Caption
    Case sensitive
     
    Prior text
    ^Find What:
    "Find What" is the nearest static text above or to the left of the check box
    Index
    #1
    The Case Sensitive check box is the first check box in the dialog
    Window ID
    $1041
     
    Location
    @(57,65)
     
    Attributes
    [blank]
    Attributes are only recorded for Html objects.
     
    Multitag:一般情況下你如果禁用了multiple tag 進行記錄的功能(Options->Recorder->Recorder multiple tags),Agent將使用tag來在運行時唯一標識對象。如果你沒有禁用multiple tags功能,那么當你記錄window聲明的時候,Agent將會為對象生成multitag。
    其實tag聲明語句在功能上是等價于multitag聲明語句的。它都可以使用一個或者多個tag用來為Agent識別對象服務。唯一的不同是語法上的:在tag語句中,所有的tag在同一個字符串中并且用管道符號(|)來分割,例如:
    tag "Case sensitive|$1041"。
    而multitag語句,不同類型的tag都有自己的行,例如:
    multitag "Case sensitive"
              "$1041"
     
            默認情況下,當你產生一個window 聲明的時候,Agent根據對象的Caption(如果對象有的話)和Window ID(如果對象有的話)來產生tag。例如一個Case Sensitive check box(通常出現在查找對話框中)的默認tag為:
    CheckBox CaseSensitive
              multitag "Case sensitive"
              "$1041"
    我們可以看出,Case sensitive是它的caption,$1041是它的Window ID。
    你可以指定任意多的tag字符串,只要你愿意。你也可以為某種tag類型指定多個tag值。例如,如果一個控件的標題會動態改變的話,你可能希望在tag中指定所有可能的標題。就像下面這樣:
    PushButton Confirm
              multitag "Yes"
              "OK"
    如果某個pushbutton有以上的tag的話,Agent就會將它識別出來。
    那么如何選擇tag字符串的形式呢?
    其實使用caption作為tag是最具有可移植性的一種選擇,與WindowID一起合用是agent用來建立tag的做常用方法。
    Agent會自動創建有效,唯一的tag。然而,在一些情況下你需要編輯tag,下面的表格描述了在特定情形下需要使用的tag形式。
    情形
    使用的tag形式
    GUI對象的Label包含了動態文本。例如對話框中第三個文本字串是一個路徑c:\myapp
    使用index,例如:“#3”
    注意:避免為那些MoveableWin類使用index tag。因為這樣可能在那些多窗口的情況下選擇了一個隨機的窗口。
    GUI對象的父親會在運行時變化。例如,打開的對話框可能在運行時有一個或者多個父親應用。
    指定該對象的父親是當前激活的應用。例如:
    “~ActiveApp/[DialogBox]Open”
    你需要在運行時設置動態設置tag
    用一個函數調用代替tag值。例如,CreateTag是一個用戶定義的函數用來返回一個字符串:
    MenuItem CheckBox        tag CreateTag(this)       ?STRING CreateTag (WINDOW wWindowIdentifier)               switch (wWindowIdentifier)                case TestApp.Control.CheckBox                 return "Check box|$200"      
    兩個對話框擁有同樣的Label或者caption。但是沒有相同的內容。例如,一個open對話框有一個Name文本域,另外一個open對話框有一個Search的按鈕。
    為每個tag指定一個唯一的孩子。你可以為孩子使用任何明確的tag形式,但是不要使用window indentifier。例如:
    "[DialogBox]Open/[TextField]First Name/.."       "[DialogBox]Open/[PushButton]New Search/.."       "[DialogBox]Open/[ComboBox] #2/.."       [BrowserChild]ThePage/[BrowserChild]One of several frames with the same caption/[HtmlHeading]Unique heading/.."
    瀏覽器frame的tag。(BrowserChild有”one of several frames with the same caption”的caption)
    "[BrowserChild]ThePage/[BrowserChild]One of several frames with the same /[HtmlHeading]Unique heading/../.."
    瀏覽器頁的tag (BrowserChild 有"ThePage"的caption)
     
     
    GUI對象沒有Label和caption,并且它的位置(因此包括Index)會在運行時動態變化
    使用window Id
     
    GUI對象有Label或者是caption,但是你不準備用它們作為tag,因為它們會變化。
    可以使用index或者是prior text
    你希望國際化你的應用程序。
    使用window ID或者用變量代替你的tag
    GUI對象是一個圖形化的控件,就像一個工具條。
    使用location
    當你的程序啟動的時候你想喚起一個對話框,而不是主窗口。例如,你想一個名叫Login的對話框。
    將對話框的類從DialogBox改成MainWin,然后在tag里面指定它的真實類,例如:
    "[DialogBox]Login"
    在某個時間,超過一個的window實例顯示
    使用實例語法,它的形式為:tag-string[n],其中你代表實例。[1]表示在桌面上離頂端最近的窗口實例,[2]表示第二高的,以此類推。
     

    延伸閱讀

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

    TAG: multitag silktest SilkTest SilKtest Silktest


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>