无法建立与通过隧道创建的数据库的连接

时间:2019-05-31 10:44:50

标签: database robotframework pymysql

我在Robot Framework中有一个测试用例,在其中创建了一个隧道,并使用本地主机和隧道端口尝试建立数据库连接,并且在尝试运行时遇到错误。

Setup failed:
OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno -8] Servname not supported for ai_socktype)")

Also teardown failed:
AttributeError: 'NoneType' object has no attribute 'close'

已创建隧道-

ssh -L 13306:<DB host server Name>:3306 UserName@RemoteMachineHOstName

机器人设置部分-

*** Settings ***
Library  DatabaseLibrary
Test Setup  Connect To Database Using Custom Params  pymysql  'localhost', '13306', 'DBUSERNAME', 'DBPASSWORD', 'DBNAME'
Test Teardown  Disconnect From Database

1 个答案:

答案 0 :(得分:0)

Connect To Database Using Custom Params关键字没有深入了解,但是有关Robot Framework的一些注意事项:

  1. 无需使用引号来传递字符串。参数始终以字符串形式传递。
    因此,请勿通过'localhost',而只需使用localhost
  2. 参数由2个或更多空格分隔。
    即,摆脱那些逗号,

尝试一下:

Test Setup  Connect To Database Using Custom Params  pymysql  localhost  13306  DBUSERNAME  DBPASSWORD  DBNAME

请注意每个参数之间的2个空格。