在机器人框架

时间:2016-02-07 17:21:51

标签: python robotframework

我在测试库中有用户定义的函数 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.**

无法找出导致此错误的原因。

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()
相关问题