qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          在QTP中環境變量的使用

          QTP使用環境變量

              為了在一次執行腳本過程中向數據庫中插入多條數據,可以參數化,在Data Table中輸入數值,但是現在我不想在Data Table中輸入,而是通過VBS自動去生成。在這里聲明的變量如何給下個ACTION使用呢?摸索了2天再參考網上的資料想出了一個解決方法,就拿目前測試的軟件作為例子來講解吧!

              想往數據庫中插入多個產品(比如說10個),但又不想在Data Table中輸入參數,想到一個下面的方法:分別錄制一個登陸腳本和添加產品的腳本,然后在新建一空白test,call這兩個腳本,其中登陸腳本只執行一次,而添加產品的腳本執行多次。在添加產品的腳本中對產品名稱和產品編碼參數化。產品名稱暫時用“產品商標+空格+數字+字母”組成(形如:LG 221BWX),而產品編碼就是產品名稱去掉前面的商標跟空格。為了簡單起見,只有數字這項作變動,其它的都不變。聲明兩個變量,用來拼組產品名稱和產品編碼。現在的問題是怎么將變量的值作為參數使得其在添加產品腳本中被使用。現在的腳本如下:

          在QTP中環境變量的使用

          在QTP中環境變量的使用

          添加產品腳本一開始錄制的腳本是這樣的:

          Browser("管理系統 | 主頁").Page("管理系統 | 產品詳細信息").WebEdit("productName").Set "LG 256BWX"
          Browser("管理系統 | 主頁").Page("管理系統 | 產品詳細信息").WebEdit("productCode").Set "256BWX"

          現在要做的就是把Dim productname,productcode 聲明的兩個變量的值傳到這里供使用,為了實現這個目的,需做以下操作:

          1.在File-Settings...中切換到Environment標簽頁,在Variable type下拉菜單中選擇User_defined,如下圖。

          在QTP中環境變量的使用

          然后點擊“+”圖標,會出現一個窗口,如下圖,在這里我們只需填入Name即可。

          在QTP中環境變量的使用

          2.將聲明變量的值傳給環境變量,代碼如下:

          Environment("productname")=productname
          Environment("productcode")=productcode

          在QTP中環境變量的使用

          3.修改添加產品腳本中以下代碼

          Browser("管理系統 | 主頁").Page("管理系統 | 產品詳細信息").WebEdit("productName").Set "LG 256BWX"
          Browser("管理系統 | 主頁").Page("管理系統 | 產品詳細信息").WebEdit("productCode").Set "256BWX"

          為:

          Browser("管理系統 | 主頁").Page("管理系統 | 產品詳細信息").WebEdit("productName").Set Environment("productname")
          Browser("管理系統 | 主頁").Page("管理系統 | 產品詳細信息").WebEdit("productCode").Set Environment("productcode")

          4.保存,run腳本,測試通過

          如何利用好qtp環境變量

          qtp自動化測試過程中,經常會需要一些預先的配置信息文件來用于不同的測試環境下。環境變量也就這樣應運而生了。在qtp中存在著兩種類型的環境變量:

          內置環境變量

          介紹:它是qtp內部已經事先封裝好.

          方式:直接進入到Settings –> Environment中選擇built-in選項即可查詢到所有的內置環境變量。并且這些環境變量的值都是qtp已經封裝好的。

          舉例: Msgbox Environment.Value(“TestName”)

          結果:直接可以獲取到當前測試腳本名稱。

          自定義內部環境變量

          介紹:它是qtp中的一種可以在qtp內部進行自定義的環境變量

          方式:直接進入到Settings –> Environment中選擇User-defined選項,點擊旁邊的”+”,即可定義name 和 value

          舉例:Msgbox Environment.Value(“自定義名稱”)

          結果:直接可以獲取到當前自定義環境變量的值

          自定義外部環境變量

          介紹:直接從xml格式文件中進行讀取環境變量

          方式:進入Settings –> Environment中選中Load variables and values from external file并給出xml的文件路徑

          舉例:xml文件

          <Environment>
          <Variable>
          <Name>Url</Name>
          <Value>http://www.iquicktest.com</Value>
          </Variable>
          </Environment>

          Msgbox Environment.Value(“Url”)

          結果:直接打印結果為http://www.iquicktest.com

          注意:環境變量中的屬性名是大小寫敏感的,必須要注意。

          QTP使用環境變量


          QTP使用環境變量的方法有兩種,一種是自己設置環境變量,這種方法有很多朋友介紹過,不過我在使用的時候,更喜歡把它寫在腳本中,這樣不管腳本是移植到哪臺機器上,環境變量都不用重新設置了,是不是方便很多,例如某個項目的主控腳本具體代碼如下:

          Dim Excel,Workbook,WorkSheet,run_value,scrīpt_name
          Dim filepath,bnpFileName

          Environment.Value("file_pash") = "C:\Documents and Settings\robel.yi\Desktop\BNP_scrīptS"

          filepath=environment("file_pash")
          bnpFileName=filepath & "\Data_file\Main_DATA.xlsx"

          Set Excel= CreateObject("Excel.Application")
          Set Workbook= Excel.Workbooks.Open(bnpFileName)
          Set WorkSheet= workbook.Worksheets("Sheet1")

          For i = 2 To 6
                  run_value=CStr(WorkSheet.Cells(i, 3))
                  If run_value = "Y" Then
                          RunAction CStr(WorkSheet.Cells(i, 2))
                  End If
          Next

          Excel.Quit
          Set Workbook = nothing
          Set WorkSheet = nothing

              這樣,每次如果你把腳本移植到了另外一個地方,把新的路徑賦值給環境變量file_pash就行了,其實也可以把它寫在主控腳本的EXCEL驅動表里面,每次有變量在EXCEL里面修改就行了,對于把腳本給其他黑盒工程師來執行的時候,更加容易使用,其實有時候我們在寫腳本的時候,一些小小的改動就能使自動化變得更智能方便,大家還有什么關于環境變量的使用的好的心得也不妨一起分享分享。

          posted on 2012-05-23 16:20 順其自然EVO 閱讀(3478) 評論(0)  編輯  收藏 所屬分類: qtp

          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 松江区| 丁青县| 平昌县| 黄梅县| 平顺县| 金坛市| 山阳县| 剑阁县| 忻州市| 安徽省| 江口县| 五大连池市| 开化县| 江达县| 贵阳市| 丹江口市| 措勤县| 丹东市| 茌平县| 石门县| 伊宁市| 柏乡县| 肃宁县| 定西市| 镇安县| 淮滨县| 义马市| 南丰县| 历史| 丘北县| 桂东县| 肥西县| 绿春县| 巩义市| 鄂温| 嵊泗县| 山阳县| 广平县| 滨海县| 衢州市| 监利县|