• <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 中link參數化最優方法

    上一篇 / 下一篇  2008-10-22 11:56:06 / 個人分類:qtp學習

    MILY: 宋體; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-font-kerning: 0pt">這段時間有空學習了QTP,學習過程中遇到了一個問題,就是把鏈接的內容參數化。.

    需求:用戶管理模塊,創建多個組織,并在其組織下創建用戶(組織以樹形顯示,要在組織樹中點擊這個組織,才能添加用戶)。設計一個腳本,自動化測試回歸測試)(檢查點等等的設置在此略,本次重點講參數化)

    分析需求:首先,從需求來看有兩個功能點要測試,一是組織創建,第二用戶創建。  并且兩者之間有制約,要在組織下創建用戶。

    設計腳本:首先我們可以最先想到的是,錄制兩個腳本,一個是創建組織,一個是在已創建的組織下創建用戶,分別在兩個腳本中,對組織名、用戶名參數化。。。

    但根據以上所說的測試情況,不能完全實現自動化,仍需要手工來修改腳本。為什么要這樣說呢:

    1.       首先,錄制一個創建組織的腳本,可以設置組織名稱參數化;

    2.       在創建用戶的腳本中,我們要選擇已創建的組織,再創建用戶(這就是制約之處,組織是動態的;如果是靜態的,就只能實現在一個組織下創建用戶了。測試用例重復,無實際意義。);

    3.       我們要在創建用戶的腳本中,手工將已創建的組織添加到參數化表中。

     這樣的腳本從執行效率上來看,還不如手工來的快。

    所以我設想用一個腳本來實現,這就有一個問題,組織的參數化,保存組織時參數化實現沒問題,但要點擊這個組織名稱(即鏈接對象)的參數化對我這個新手來說不容易。

    錄制腳本如下:

    Browser("歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_username").Set "admin"
    Browser("
    歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_password").SetSecure "11"
    Browser("
    歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_password").Submit
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("tree_2").Link("組織和用戶管理").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmRight_2").Link("子部門列表").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmRight_3").WebButton("新建").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("x_open_frame_3").WebEdit("group.name").Set "北京公司"    //創建組織
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("x_open_frame_3").WebButton("保存").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmLeft").Link("北京公司").Click               //點擊組織名
    Browser("歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmRight_4").WebButton("新建").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("x_open_frame_4").WebEdit("user.loginname").Set "李四"           //創建用戶
    Browser("歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("x_open_frame_4").WebButton("保存").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Sync
    Browser("
    歡迎您登錄Xxxx").Close

    從腳本來看,我們要把組織名稱“北京公司”參數化,新建時沒問題,但Link("北京公司")怎么參數化呢?在,網上找了資料,要用SetTOProperty來修改對象的值,但要用循環,創建用戶部分的腳本如下:

    Browser("歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_username").Set "admin"
    Browser("
    歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_password").SetSecure "11"
    Browser("
    歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_password").Submit
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("tree_2").Link("組織和用戶管理").Click

    Dim i,b

    For i=1 To 2

       Select Case i

          Case 1 b="上海公司"

         Case 2 b="天津公司"

       End Select

    Browser("歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmLeft").Link("北京公司").SetTOProperty "Text",b

    //添加此行,用SetTOProperty來修改Link內容的值,此處引用了變量b的值

    Browser("歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmLeft").Link("北京公司").Click

    Next

    Browser("歡迎您登錄Xxxx").Page("Xxxx 1.0").Sync

    Browser("歡迎您登錄Xxxx").Close

    雖然這樣也可以實現向多個組織下創建用戶,但組織名也是提前手工添加到腳本中去的,另外多個組織下創建多個用戶時,循環也會有問題。

    我打算不用循環了,我就觀注SetTOProperty,我想我直接用它來引用組織名參數化表中的數據。經過多次試驗,終于成功。

    完整版腳本如下:

    Browser("歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_username").Set "admin"
    Browser("
    歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_password").SetSecure "48fe9e6c134bc16748107d69ac01"
    Browser("
    歡迎您登錄Xxxx").Page("歡迎您登錄Xxxx").WebEdit("j_password").Submit
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("topFrame").WebTable("系統管理").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("tree").Link("用戶管理").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("tree_2").Link("組織和用戶管理").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmRight_2").Link("子部門列表").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmRight_3").WebButton("新建").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("x_open_frame_3").WebEdit("group.name").Set DataTable("bumen", dtGlobalSheet)              //對組織參數化,存在表“bumen”中
    Browser("歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("x_open_frame_3").WebButton("保存").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmLeft").Link("北京公司").SetTOProperty "text",DataTable("bumen", dtGlobalSheet)                 //SetTOProperty引用表“bumen”中的數據, "text"是對象中的屬性,其后的內容是屬性的值,現在我們把屬性的值參數化了,也不用創建變量了。
    Browser("歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmLeft").Link("北京公司").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("frmRight_4").WebButton("新建").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("x_open_frame_4").WebEdit("user.loginname").Set DataTable("user", dtGlobalSheet)

    //用戶參數化
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Frame("x_open_frame_4").WebButton("保存").Click
    Browser("
    歡迎您登錄Xxxx").Page("Xxxx 1.0").Sync
    Browser("
    歡迎您登錄Xxxx").Close

    這樣就可以實現,創建一個組織,并可在其下創建一個用戶。實現了需求。在組織名稱和用戶名稱的參數列表中添加多行數據,就可實現創建多個組織,并可分別在其下創建用戶了。


    TAG: link qtp QTP 參數化

    linshan的個人空間 引用 刪除 linshan   /   2010-09-16 12:45:55
    引用 刪除 yaya_1982   /   2008-10-22 17:12:24
    5
    引用 刪除 yaya_1982   /   2008-10-22 17:11:56
    寫得不錯!繼續
     

    評分:0

    我來說兩句

    顯示全部

    :loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

    我的欄目

    日歷

    « 2011-06-10  
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  

    數據統計

    • 訪問量: 2000
    • 日志數: 5
    • 建立時間: 2008-08-13
    • 更新時間: 2008-10-22

    RSS訂閱

    Open Toolbar
    老湿亚洲永久精品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>