Невозможно создать соединение с базой данных, созданной при туннелировании - PullRequest
0 голосов
/ 31 мая 2019

У меня есть тестовый пример в 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 голосов
/ 03 июня 2019

Не углублялся в ключевое слово Connect To Database Using Custom Params, но кое-что о Robot Framework:

  1. Нет необходимости использовать кавычки для передачи строки. Параметры всегда передаются в виде строки.
    Так что не пропустите 'localhost', просто используйте localhost.
  2. Параметры разделены двумя или более пробелами.
    т.е. избавиться от этих запятых ,.

Попробуйте это:

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

Обратите внимание на 2 пробела между каждым параметром.

...