我在测试库中有用户定义的函数 saveLogin ,实现如下。
def saveLogin(userId,serialNo):
conn = sqlite3.connect('new.db')
conn.execute("INSERT INTO login VALUES(?,?)",userId,serialNo)
conn.commit()
当我尝试调用此功能时。 在测试用例sessionTest中,
sessionTest
saveLogin ${CRE_USER_ID} 1
获取以下错误:
sessionTest
| FAIL |
**TypeError: function takes at most 2 arguments (3 given).**
当我只传递一个参数时
sessionTest
saveLogin ${CRE_USER_ID}
sessionTest
| FAIL |
**Keyword 'getSequence.Save Login' expected 2 arguments, got 1.**
无法找出导致此错误的原因。
答案 0 :(得分:1)
问题是sqlite函数执行的参数。 execute函数最多需要2个参数。 修改函数saveLogin传递正确的参数来执行函数。 早些时候我传递了3个参数,因此错误即将来临。
def saveLogin(userId,serialNo):
conn = sqlite3.connect('new.db')
values = ( userId,serialNo)
conn.execute("INSERT INTO login VALUES(?,?)",values)
conn.commit()