首页 > 解决方案 > 如何在robotremoteserver库中定义python脚本调用API?

问题描述

我的 robotremoteserver 库定义了一些 API,例如 startenv、stopenv

from robotremoteserver import RobotRemoteServer

class myLibrary(object):
    def startenv(self):
        return "start"
    def stopenv(self):
        return "stop"

if __name__ == '__main__':
    RobotRemoteServer(myLibrary(), *sys.argv[1:])

我尝试了一个 c.txt 作为机器人文件并且能够调用 API,

** Settings ***
Library       Remote    http://serverxxxx:8720
*** Test Cases ***
startenv
    ${rc} =    startenv
stopenv
    ${rc} =    stopenv

但是我们如何从远程 XMLRPC python 客户端脚本中调用这些?尝试如下

from robot.libraries.Remote import Remote
s = Remote('http://serverxxxx:8270')
s.startenv()
s.run_keyword("startenv")

但没有一个工作:(

标签: robotframeworkremote-serverxmlrpclib

解决方案


它应该是 s.run_keyword("startenv",None,None)。run_keyword() 接受 4 个位置参数


推荐阅读