qileilove

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

          QTP-MySql+對象庫實例

            首先QTP要連接MySql 先確保機器上有MySql的數據源 沒有的話去網上下一個裝上把。
            我這里用的是Mysql 5.1的數據源 ,裝完后,在桌面新建一個TXT文檔,然后修改后綴改為udl,就變成了數據鏈接這樣子,打開它,你會發現《提供程序》內就沒有Mysql這個名字的程序 ,但是在windows的管理工具數據源內能找Mysql 5.1的名字也可以添加,后來找了好久才知道原來Mysql在數據鏈接內是叫 Miceosoft OLE DB Provider for ODBC Drivers 這個名字。
            現在找到了名字 接下來就是設置《連接》的屬性,數據源名稱可以隨意填寫,下面的用戶名和密碼就需要MySql的管理人員給權限。當都設置好了,點擊測試連接,顯示連接成功的話就是能正常啟動了。
            上面配置好了以后,我們用記事本的方式打開*.udl,里面有這些內容 我們只需要復制紅線那部分,這部分為鏈接地址
            好了,接下來就進入編寫階段了
            實現功能
          1:讀取數據庫 USER_ 表內的 SCREEN 和 SEREENNAME 這兩列下含有"test_"字符串的數據,
          2:循環寫入一個登陸界面,實現正確登陸
          3:驗證點,登陸完畢后主界面會有一個對象內顯示 Welcome test01! ,用描述性編程找到該對象獲取其中我所需要的屬性值進行驗證
          Dim conn
          Dim name
          Dim sql
          Dim suu
          Dim inn '檢查字段
          SystemUtil.Run "http://192.168.0.233/web/guest/home"
          '這一段就是復制當時記事本里的那一段語句 這段語句有個問題就是 自己要手動往里添加用戶密碼噢 所以我再里面加了一個Password=1111
          Mysql="Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Password=1111;Data Source=sqltest"
          'select screenName,screenName from user_ where screenName like 'test__';
          '這段話表示說 搜索數據庫內 USER_ 表內 screenName,screenName 這2個列里面所有包含 test 的數據
          sql="select screenName,greeting from user_ where screenName like 'test__';"
          Set conn=CreateObject("ADODB.CONNECTION")
          conn.Open Mysql
          If conn.State<>0 Then
          Reporter.ReportEvent micPass,"連接成功","連接成功"
          else
          Reporter.ReportEvent mimicFail,"連接失敗","連接失敗"
          End If
          Set res=CreateObject("ADODB.Recordset")
          res.Open sql,conn,1,1 '1,1表示只讀;1,3表示插入數據;2,3表示修改數據
          res.MoveFirst'使游標指向第一個記錄
          sum=""
          'res.EOF表示游標到達最后一行
          While Not res.EOF
          '讀取整個表內的所有數據
          '    For i=0 to res.Fields.Count-1'str.Fields.Count表示字段個數
          '     sum=sum& res(i) & " " '把整個記錄顯示出來
          '   Next
          '獲取數據庫內 screenName 列的每一行數據
          sum=res("screenName")
          '截取字符串內 從左到右4位字符
          suu=Left(sum,4)
          If suu = "test" Then
          '檢查字段變量
          inn=res("greeting")
          '錄制登陸過程 把賬號密碼做參數化
          Browser("測試比對樣品 - 登錄").Page("測試比對樣品 - 登錄").WebEdit("_58_login").Set sum @@ hightlight id_;_Browser("測試比對樣品 - 登錄").Page("測試比對樣品 - 登錄").WebEdit(" 58 login")_;_script infofile_;_ZIP::ssf1.xml_;_
          Browser("測試比對樣品 - 登錄").Page("測試比對樣品 - 登錄").WebEdit("_58_password").set"1111" @@ hightlight id_;_Browser("測試比對樣品 - 登錄").Page("測試比對樣品 - 登錄").WebEdit(" 58 password")_;_script infofile_;_ZIP::ssf2.xml_;_
          Browser("測試比對樣品 - 登錄").Page("測試比對樣品 - 登錄").WebButton("登錄").Click
          '這里是使用SPY抓取獲取到對象屬性值,對該對象2個屬性進行描述性編程 對象庫內不要放入被描述的對象 ,然后使用 .GetROProperty方法獲取所需要對象屬性值
          '這里抓取了2個對象進行描述是應為2個該對象使用1個對象進行描述時,界面上還有其他對象的屬性是一樣的,所以描述對象時 盡量抓取對象獨有的屬性,當一個屬性描述找不到時,就再增加一個屬性描述
          nn=Browser("測試比對樣品 - 稿件管理").Page("測試比對樣品 - 稿件管理").WebElement("innertext:=Welcome "&sum&"!","html tag:=SPAN").GetROProperty("innerhtml")
          '設置檢查點
          If nn=inn Then
          print "nn="&nn&"   inn="&inn
          Reporter.ReportEvent micPass,"檢查點","PASS"
          else
          Reporter.ReportEvent micFail,"檢查點","Ng"
          End If
          Browser("測試比對樣品 - 稿件管理").Page("測試比對樣品 - 稿件管理").Link("text:=退出").Click
          End If
          'Print sum & vbCRLF'打印所有查詢的記錄   VBCRLF 換行語句
          res.MoveNext'使游標進入下一個
          Wend
          @@ hightlight id_;_Browser("測試比對樣品 - 稿件管理").Page("測試比對樣品 - 稿件管理").Link("退出")_;_script infofile_;_ZIP::ssf6.xml_;_
            報告顯示結果

          posted on 2014-08-06 10:01 順其自然EVO 閱讀(231) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 乃东县| 岳普湖县| 平泉县| 易门县| 荆州市| 武邑县| 宜君县| 长丰县| 洛阳市| 个旧市| 瑞金市| 浦城县| 昌乐县| 衡南县| 江津市| 双城市| 美姑县| 虞城县| 堆龙德庆县| 普兰店市| 哈尔滨市| 岳西县| 嘉兴市| 类乌齐县| 蓬溪县| 盱眙县| 玛沁县| 台前县| 泰州市| 三都| 沙坪坝区| 白城市| 龙里县| 鸡泽县| 太康县| 普安县| 浮山县| 荆州市| 武邑县| 洪洞县| 唐海县|