自動化測試robot framework學習筆記

遇到的問題和解決辦法:

1.用官方網下載的DataBase Library python拓展庫,按照文檔寫一個testsuite

*** Settings ***
Library    DatabaseLibrary


*** Test Cases ***
Use database
    Connect To Database     MySQLdb gdrive_dbp_gb  root sd-9898w 10.10.199.26 3306


運行後報錯,

==============================================================================
Database                                                                      
==============================================================================
Use database                                                          | FAIL |
NoSectionError: No section: 'default'
------------------------------------------------------------------------------
Database                                                              | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
==============================================================================


改用配置文件方式:

*** Settings ***
Library    DatabaseLibrary


*** Test Cases ***
Use database
    Connect To Database      dbConfigFile=default.cfg


default.cfg文件內容如下,

[root@xunlei16 lx_user_permission]# cat default.cfg 
[default]
dbapiModuleName=MySQLdb
dbName=test
dbUsername=root11
dbPassword=123
dbHost=10.10.10.10
dbPort=3306


執行後,上述的報錯沒了,又有新的錯誤

==============================================================================
Database1                                                                     
==============================================================================
Use database                                                          | FAIL |
OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)")
------------------------------------------------------------------------------
Database1                                                             | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
==============================================================================


經過調式,發現這個拓展庫代碼有些問題,修改拓展庫的代碼後。運行成功。修改文件,及內容如下

首先到拓展庫DatabaseLibrary的安裝目錄,打開文件connection_manager.py  

將這一行connect_to_database(self, dbapiModuleName=None, dbName=None, dbUsername=None, dbPassword=None, dbHost='localhost', dbPort="5432", dbConfigFile="./resources/db.c
fg"):

改成

connect_to_database(self, dbapiModuleName=None, dbName=None, dbUsername=None, dbPassword=None, dbHost=None, dbPort=None, dbConfigFile="./resources/db.c
fg"):

即可



最後運行結果

==============================================================================
Database1                                                                     
==============================================================================
Use database                                                          | PASS |
------------------------------------------------------------------------------
Database1                                                             | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================


結語,官網的拓展出現這麼明顯的問題,顯然是使用這個庫的人很少。其實這樣的庫可以自己寫,但我比較懶,就將就用吧。不知道是否還有其他問題。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章