![](/img/trans.png)
[英]TypeError: argument 1 must be a string or unicode object: got tuple instead
[英]Error: TypeError: argument 1 must be a string or unicode object
框架:机器人, 语言: Python-3.7.1 数据库驱动程序: pyodc 熟练程度:新手
我试图将数据库连接配置从python传递到机器人框架,并获得以下错误消息。
TypeError: argument 1 must be a string or unicode object
我试图在传递给机器人之前将其转换为地图,但没有帮助。此外,在这里编写之前已经经历了类似的错误消息讨论,但都没有这样做。 有人可以为这种情况提供最佳解决方案吗?
蟒蛇:-
注意:每个Key和value变量都是字符串。
def databaseconfig(self, environment):
if (environment == "QA"):
database = {self.Key_Driver: self.Value_Driver,
self.Key_Server: self.Value_Server,
self.Key_Database: self.Value_Database,
self.Key_UID: self.Value_UID,
self.Key_PWD: self.Value_PWD,
self.Key_PORT: self.Value_Port
}
return str(database)
机器人文件:-
${connection}= databaseconfig QA
connect to database using custom params pyodbc ${connection}
预期:-
连接必须成功建立。
实际:
错误:TypeError:参数1必须是字符串或Unicode对象
我没有使用过此框架,但是文档建议您可能未对参数字符串使用正确的语法: https : //franz-see.github.io/Robotframework-Database-Library/api/0.5/DatabaseLibrary.html #连接%20To%20Database%20Using%20Custom%20Params
他们在此处提供的示例语法是database='my_db_test', user='postgres', password='s3cr3t', host='tiger.foobar.com', port=5432
,而不是Python字典的字符串表示形式。
如果用此代码替换str(database)
,是否可以查看是否str(database)
?
return ", ".join(
"{}='{}'".format(a, b) for a,b in database.items()
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.