自动化测试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
==============================================================================


结语,官网的拓展出现这么明显的问题,显然是使用这个库的人很少。其实这样的库可以自己写,但我比较懒,就将就用吧。不知道是否还有其他问题。


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