Robot Framework下DataBaseLibrary的使用(3)

發表于:2012-03-27來源:新浪博客作者:lxg0618點擊數: 標簽:Robot Framew
這樣我們就完成了第一個選擇table1的操作。 需要說明的是Connect To Database Using Costom Params的參數:由于我使用了cx_Oracle這個庫,所以第一個參數指定它;第二

  這樣我們就完成了第一個選擇table1的操作。

  需要說明的是Connect To Database Using Costom Params的參數:由于我使用了cx_Oracle這個庫,所以第一個參數指定它;第二個參數是連接串用戶名,密碼,和要連接的Oracle數據庫的本地服務命名(與你oracle目錄\network\admin\tnsnames.ora文件中的描述相對應)。cx_Oracle依賴Oracle的客戶端環境,這點需要注意。

  運行,得到Pass:)

  中文顯示問題

  運行后查看Log,傻眼了。表中的中文全部變成了一串亂碼。翻閱資料,原來是cx_Oracle的默認編碼不是Utf-8。需要人工轉換一下。而DataBaseLibrary又沒有提供轉換函數,為了解決這個問題,我們得對DataBaseLibrary進行擴展了。打開安裝目錄下的query.py文件,在后面加一個函數

  def decode(self,customstr):

  return customstr.decode('utf-8')

  對所有需要變成中文的地方執行Decode關鍵字,就能得到中文了:


${a}
decode ${rs[0][2]}

  這樣還是有些麻煩,其實我們可以重寫query關鍵字,讓它把所有的值都做一下decode。

  擴展問題

  DatabaseLibrary提供的關鍵字挺少,有時候不夠用(例如不能insert),這時候我們就需要對它進行擴展了。擴展原理同上,可以按需擴展:)

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97