遇到的問題和解決辦法:
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
==============================================================================
結語,官網的拓展出現這麼明顯的問題,顯然是使用這個庫的人很少。其實這樣的庫可以自己寫,但我比較懶,就將就用吧。不知道是否還有其他問題。